Machine learning 机器学习:基于测试数据的训练模型

Machine learning 机器学习:基于测试数据的训练模型,machine-learning,Machine Learning,我想知道一个模型是否也从测试数据中训练自己,同时对其进行多次评估,从而导致过度拟合的场景。通常我们将训练数据分为训练测试部分,我注意到一些人将其分为3组数据-训练,测试和评估评估用于模型的最终评估。我可能错了,但我的观点是,如果上述场景不正确,那么就不需要eval数据集 需要一些澄清。评估模型在“野外”中表现的最好方法是评估其在未见过(即,已接受过培训)的数据集上的表现——假设您在监督学习问题中有标签 人们将数据分为训练/测试/评估,并使用训练数据估计/学习模型参数和测试集来调整模型(例如,通过

我想知道一个模型是否也从测试数据中训练自己,同时对其进行多次评估,从而导致过度拟合的场景。通常我们将训练数据分为
训练测试
部分,我注意到一些人将其分为3组数据-
训练
测试
评估
<代码>评估用于模型的最终评估。我可能错了,但我的观点是,如果上述场景不正确,那么就不需要
eval
数据集


需要一些澄清。

评估模型在“野外”中表现的最好方法是评估其在未见过(即,已接受过培训)的数据集上的表现——假设您在监督学习问题中有标签

人们将数据分为训练/测试/评估,并使用训练数据估计/学习模型参数和测试集来调整模型(例如,通过尝试不同的超参数组合)。通常根据优化测试指标的超参数组合(回归-MSE、R^2等;分类-AUC、精度等)选择模型。然后,所选模型通常在组合列车+测试数据集上重新训练。再培训后,将根据模型在评估数据集上的性能对模型进行评估(假设您有一些基本事实标签来评估您的预测)。eval度量是您报告的泛化度量,即模型在新数据上的性能


这有帮助吗?

假设您有训练和测试数据集。Train dataset是一个您知道输出的数据集,您在Train dataset上训练您的模型,并尝试预测测试数据集的输出

大多数人将训练数据集分为训练和验证。所以首先,您要在列车数据上运行您的模型,并在验证集上对其进行评估。然后再次在测试数据集上运行模型

现在你想知道这将如何帮助和任何用途? 这有助于了解模型在可见数据(验证数据)和不可见数据(测试数据)上的性能

下面是图片中的偏差-方差权衡。

< P>让我们考虑一个二元分类的例子,其中一个学生的上学期成绩、运动成绩、课外活动等被用来预测他是否会通过期末考试。

假设我们有大约10000个样本(10000名学生的数据)

现在我们把它们分开:

训练集-6000个样本

验证集-2000个样本

测试集-1000个样本

出于以下原因,培训数据通常分为三部分(培训集、验证集和测试集):

1) 特征选择:假设您已使用某种算法训练模型。计算训练精度和验证精度。绘制学习曲线,找出模型是过拟合还是欠拟合,并进行更改(添加或删除特征,添加更多样本等)。重复此操作,直到达到最佳验证精度。现在使用测试集测试模型以获得最终分数

2) 参数选择:当您使用像KNN这样的算法时,您需要找到适合模型的最佳K值。您可以绘制不同K值的精度,选择最佳验证精度,并将其用于测试集。(当您找到随机林等的n_估计值时,也适用此情况)

3) 模型选择:您还可以使用不同的算法训练模型,并通过使用验证集测试准确性来选择更适合数据的模型

因此,验证集基本上可以帮助您评估模型的性能,您必须如何对其进行微调以获得最佳精度


希望这对您有所帮助。

这并不能直接回答我的问题,但我得到了我想要的答案。:)