Machine learning 认为训练误差和测试误差之间有多少差异是合适的?

Machine learning 认为训练误差和测试误差之间有多少差异是合适的?,machine-learning,scikit-learn,evaluation,Machine Learning,Scikit Learn,Evaluation,我正在研究回归问题,我使用ad boost和决策树进行回归,并使用r^2作为评估指标。我想知道训练r^2和测试r^2之间的差异有多大。我的训练r^2为0.9438,测试r^2为0.877。它是过合适还是好?我只是想确切地知道训练和测试之间有多少差异是可以接受的或合适的?你的问题有几个问题 首先,r^2肯定是而不是推荐作为预测问题的绩效评估指标;引述我自己在中的回答: 整个R平方概念实际上直接来自统计学领域,在统计学领域,重点是解释性模型,而在机器学习环境中,它几乎没有用处,因为机器学习环境的重点

我正在研究回归问题,我使用ad boost和决策树进行回归,并使用r^2作为评估指标。我想知道训练r^2和测试r^2之间的差异有多大。我的训练r^2为0.9438,测试r^2为0.877。它是过合适还是好?我只是想确切地知道训练和测试之间有多少差异是可以接受的或合适的?

你的问题有几个问题

首先,r^2肯定是而不是推荐作为预测问题的绩效评估指标;引述我自己在中的回答:

整个R平方概念实际上直接来自统计学领域,在统计学领域,重点是解释性模型,而在机器学习环境中,它几乎没有用处,因为机器学习环境的重点显然是预测性模型;至少,除了一些非常入门的课程之外,我从来没有(我的意思是从来没有…)见过预测建模问题,其中R平方用于任何类型的性能评估;流行的机器学习介绍,如Andrew Ng在Coursera的介绍,甚至懒得提及这一点,这也不是偶然的。以及,如上所述(增加强调):

特别是在使用测试集时,我有点不清楚R^2的含义

我当然同意

第二:

我的训练r^2为0.9438,测试r^2为0.877。这件衣服合身还是好

训练和测试分数之间的差异本身并不表示过度拟合。这只是泛化差距,即训练集和验证集之间的预期差距;引用最近一篇文章:

理解泛化的一个重要概念是泛化差距,即模型在训练数据上的性能与其在来自同一分布的不可见数据上的性能之间的差异

过度拟合的信号是验证损失开始增加,而培训损失继续减少,即:

(根据-不同事物改编的图像可能位于水平轴上,例如,此处为增强树的数量)

我只想知道训练和测试之间的差别到底有多大是可以接受的还是合适的

这个问题没有一般的答案;一切都取决于您的数据细节和您试图解决的业务问题