【问题标题】:how to apply pandas get_dummies function to valid data set?如何将 pandas get_dummies 函数应用于有效数据集?
【发布时间】:2021-09-21 00:11:12
【问题描述】:

我尝试将 pandas get_dummies 函数应用于我的数据集。 问题是类别值的编号与训练集和有效集不匹配。 例如,train set 列有 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 之外的其他方法)

另外,如果我为有效集合添加新列,我希望它会产生不同的结果。 因为训练集和有效集之间的虚拟序列不匹配。

谢谢。

【问题讨论】:

标签: python-3.x pandas scikit-learn sklearn-pandas


【解决方案1】:

你需要做的就是

  1. 在验证数据集中创建在训练数据中存在但在验证数据中缺失的列。
missing_cols = [col for col in train.columns if col not in valid.columns]
for col in missing_cols:
    valid[col] = 0
  1. 现在,这些列最终被创建,因此列的顺序将被更改。因此,在下一步中,我们将重新排列列,如下所示:
valid = valid[[train.columns]]

【讨论】:

    猜你喜欢
    • 2017-05-31
    • 2020-05-05
    • 2019-01-18
    • 2012-10-31
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多