Py学习  »  机器学习算法

在进行机器学习和深度学习项目的分析之前,我是否应该重新组合列车和测试集?

SmileyProd • 4 年前 • 638 次点击  

Titanic Dataset .

当我们加载数据时,有两个数据集:火车和测试。目前,我只对列车组执行分析,每次创建新功能或执行某些更改时,我都会通过执行相同的操作对两个数据集进行循环。

现在,我将要输入缺失的值,并执行一些预处理操作,因此,我将对数据使用一些聚合,对分类特征进行编码等,但我想知道是否应该同时使用训练集和测试集来计算平均值或标记特征,或仅使用训练集。

但有时可能是“错误的”,例如,如何处理这样一个事实,即测试集可能有trainingset没有的新类别?

问题

  1. 即使在Kaggle比赛中会更好,生产项目呢?也许我们应该考虑一下新数据有可能有看不见的类别的情况?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54200
 
638 次点击  
文章 [ 2 ]  |  最新文章 4 年前
agupta mld_drp
Reply   •   1 楼
agupta mld_drp    4 年前

训练集应该用来建立你的机器学习模型。对于训练集,我们为每位乘客提供结果(也称为地面真相)。您的模型将基于乘客性别和等级等特征。也可以使用特征工程创建新特征。

应该使用测试集来查看模型在未看到的数据上的性能。对于测试集,我们不为每位乘客提供地面真相。预测这些结果是你的工作。对于测试集中的每个乘客,使用你训练的模型来预测他们是否在泰坦尼克号沉没中幸存下来。

所以这个话题的线索是:

agupta mld_drp
Reply   •   2 楼
agupta mld_drp    4 年前

1) 你 从未

2) 一般来说,我们希望培训数据具有所有可能的结果(因此需要更大的数据源,Kaggle确实提供了一个大得多的数据集,因此您不必担心它),就生产和这种情况下看不见的情况而言,您倾向于改进您的模型,以便它能够处理这些较新的情况。这可能需要重新训练。