2017-10-13 101 views
0

因此,目前我的训练和测试集以669个功能开始,其中许多功能是分类的,并且需要进行一次性编码。如何处理我的训练和测试数据之间的功能差异

经过一个热点编码两个集合后,我发现训练集具有附加功能。

我不太知道如何处理这一点,但我觉得我有三种选择:

  1. 取下训练这些功能设置这样既投其所好
  2. 添加这些功能测试集和产生合成数据。
  3. 在我训练模型之前,使用一些降维技术(PCA)并使用相同数量的组件进行训练和测试。

任何反馈将不胜感激。

回答

0

我想你在火车上做了一个热门的编码&单独测试数据。也许,合并它们,然后应用编码或分别尝试pandas.get_dummies,并使用以下代码symmetric difference获取差异,然后为缺失的列指定0。

missing_cols = (set(train.columns)).symmetric_difference(set(test.columns)) 
    for c in missing_cols: 
     titanic_test[c] = 0 
相关问题