gpt4 book ai didi

python - 有没有方法保存 Labelencoder 的字典以进行推理

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

我正在尝试建立一个推理管道。它由两部分组成。使用前几年的一些表格订单元数据进行每月 ML 模型训练,并使用当天的新订单进行每日推理预测。我想在我的模型中包含几个字符串分类列,我使用 labelencoder 将它们转换为整数。我想知道如何确保在数据预处理期间将日常推理数据集转换为相同的类别。我应该保存标签编码器的字典并映射到我的推理数据集吗?谢谢。

最佳答案

通常您会序列化您的 LabelEncoder,例如like this 。您还可以使用 picklejoblib 模块(我建议后者)。代码:

import joblib

joblib.dump(label_encoder, 'label_encoder.joblib')
label_encoder = joblib.load('label_encoder.joblib')

既然您问的是 dict,我想您可能会指将 LabelEncoder 打包到字典中,这是我经常对数据帧执行的操作。举个例子:

import pandas
from collections import defaultdict
from sklearn import preprocessing

df = pandas.DataFrame({
'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'],
'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'],
'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego',
'New_York']
})

d = defaultdict(preprocessing.LabelEncoder)
fit = df.apply(lambda x: d[x.name].fit_transform(x))

fit 现在保存编码数据。我们现在可以使用以下命令反转编码:

fit.apply(lambda x: d[x.name].inverse_transform(x))

要序列化 ​​LabelEncoder 字典,您需要遵循与单个字典相同的路线:

joblib.dump(d, 'label_encoder_dict.joblib')

关于python - 有没有方法保存 Labelencoder 的字典以进行推理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56158854/

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