gpt4 book ai didi

machine-learning - 流水线生产 oneHotEncoding

转载 作者:行者123 更新时间:2023-11-30 09:14:19 25 4
gpt4 key购买 nike

我正在尝试自动化我的训练和预测过程。但我对一种热编码有疑问。

假设我有一个如下所示的专栏:

column /
a /
b /
c /

如果我对其进行编码,每个字母将得到 3 列,但如果稍后我下载一些新数据后,在同一列中我只有 a 和 b,则不会创建名为“column_c”的列所以由于形状的原因我无法预测使用模型,我将有 2 列而不是 3 列。

我该如何解决这个问题?

谢谢

最佳答案

仅当您重新训练 OneHotEncoder 时才会发生您所描述的错误,而您不应该在自动化过程中执行此操作。您应该像任何其他 ML 模型一样在训练数据集上训练 OneHotEncoder,然后将此经过训练的编码器应用于您想要通过自动化管道提供的任何新数据。

示例:

import pandas as pd
from sklearn.preprocessing import OneHotEncoder

df1 = pd.DataFrame({"cat_col":["a","b","c"]})
df2 = pd.DataFrame({"cat_col":["a","b"]})

ohe = OneHotEncoder(handle_unknown="ignore")

print(ohe.fit_transform(df1).toarray())
print(ohe.transform(df2).toarray())

这将返回

[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[1. 0. 0.]
[0. 1. 0.]]

关于machine-learning - 流水线生产 oneHotEncoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59220528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com