如何将 pandas get_dummies 函数应用于有效数据集?
how to apply pandas get_dummies function to valid data set?
我尝试将 pandas get_dummies 函数应用于我的数据集。
问题是类别值的数量与训练集和有效集不匹配。
例如,训练集列有 5 种值。例如:[1、2、3、4、5]
但是,有效集只有 3 种值。例如:[1, 3, 5]
当我使用火车数据集制作模型时,正在创建 5 个假人。
例如:dum_1、dum_2、dum_3、dum_4、dum_5
所以,如果我只是对有效数据集使用相同的函数,这将只创建 3 个虚拟对象。
例如:dum_1、dum_2、dum_3
无法预测有效数据集以使用我的模型。
如何为火车和有效集制作相同的假人?
(无法连接 2 个数据集。请建议使用 pd.concat 以外的其他方法)
此外,如果我为有效集添加新列,我希望它会产生不同的结果。
因为虚拟序列在训练和有效集之间不匹配。
谢谢。
您只需
- 在验证数据集中创建训练数据中存在但验证数据中缺失的列。
missing_cols = [col for col in train.columns if col not in valid.columns]
for col in missing_cols:
valid[col] = 0
- 现在,这些列是最后创建的,因此列的顺序会发生变化。因此,在下一步中,我们将按如下方式重新排列列:
valid = valid[[train.columns]]
我尝试将 pandas get_dummies 函数应用于我的数据集。 问题是类别值的数量与训练集和有效集不匹配。 例如,训练集列有 5 种值。例如:[1、2、3、4、5] 但是,有效集只有 3 种值。例如:[1, 3, 5]
当我使用火车数据集制作模型时,正在创建 5 个假人。 例如:dum_1、dum_2、dum_3、dum_4、dum_5
所以,如果我只是对有效数据集使用相同的函数,这将只创建 3 个虚拟对象。 例如:dum_1、dum_2、dum_3
无法预测有效数据集以使用我的模型。 如何为火车和有效集制作相同的假人? (无法连接 2 个数据集。请建议使用 pd.concat 以外的其他方法)
此外,如果我为有效集添加新列,我希望它会产生不同的结果。 因为虚拟序列在训练和有效集之间不匹配。
谢谢。
您只需
- 在验证数据集中创建训练数据中存在但验证数据中缺失的列。
missing_cols = [col for col in train.columns if col not in valid.columns]
for col in missing_cols:
valid[col] = 0
- 现在,这些列是最后创建的,因此列的顺序会发生变化。因此,在下一步中,我们将按如下方式重新排列列:
valid = valid[[train.columns]]