【问题标题】:How to use Pandas get_dummies on predict data?如何在预测数据上使用 Pandas get_dummies?
【发布时间】:2018-11-10 19:54:48
【问题描述】:

在 3 个分类列上使用 Pandas get_dummies 以获得一个热编码的数据帧后,我已经训练(并取得了一些成功)感知器模型。

现在我想预测一个新观察的结果,它不是热编码的。

有没有办法记录get_dummies列的映射,以便重复使用?

【问题讨论】:

    标签: one-hot-encoding


    【解决方案1】:

    据我所知,目前没有自动程序来执行此操作。在未来发布的sklearn CategoricalEncoder 将非常适合这项工作。如果您克隆 sklearn github master 分支并自己构建,您已经可以使用它了。目前我想到了2个选项:

    • 使用LabelEncoder+OneHotEncoder组合,见this answer, for example
    • 只需在训练 OHE 输出后检索(并在需要时存储)列列表。然后在测试集/示例上运行pd.get_dummies。循环遍历输出测试 OHE 列,删除那些未出现在训练 OHE 中的列,并添加那些在测试 OHE 中缺失且填充为零的列。

    【讨论】:

    • 我正在考虑做第二个。这会起作用,但我认为这不可能是预期的方式,因为任何为训练创建特征的过程(例如 One Hot Encoding)也必须“起作用”才能预测模型是否有价值,
    • 你是对的,但遗憾的是我不知道“正确”的实现。如果您在开源包中找到它,请不要犹豫分享
    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2019-11-06
    • 2019-06-06
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多