Bak*_*war 5 python numpy machine-learning pandas scikit-learn
我有一个包含19个特征的数据集。现在,我需要进行缺失值插补,然后使用scikit的OneHOtEncoder对分类变量进行编码,然后运行机器学习算法。
我的问题是,在使用scikit的train_test_split方法执行上述所有操作之前,应先拆分此数据集,还是应先拆分为train和test然后对每组数据进行缺失值和编码。
我担心的是,如果我先拆分然后对结果的两个集合进行缺失值和其他编码,则在对测试集中的变量进行编码时,测试集不应为该变量缺少一些值,否则可能会导致编号减少。的假人。就像原始数据具有3个类别的分类,并且我知道我们正在进行随机抽样,但是测试集是否有可能不存在该变量的所有三个层次,从而仅导致两个假人而不是第三个假人?
什么是正确的方法。首先拆分,然后在训练和测试中进行以上所有操作,还是先对整个数据集进行缺失值和编码,然后拆分?
| 归档时间: |
|
| 查看次数: |
1300 次 |
| 最近记录: |