我正在try 保存LE编码器的DICT以用于推理,这是训练和应用LE的代码,然后将LE保存到DICT(LABEL_OBJECT)中,然后它将是joblib.ump(Ed)()

for col in data:
    if data[col].dtype == 'object':
        # If 2 or fewer unique categories
        if len(list(data[col].unique())) >= 2:
            # Train on the training data
            le.fit(data[col])
            label_object[col] = le
            # Transform both training and testing data
            data[col] = le.transform(data[col])
            label_object[col] = le

When trying this it seems the classes_ of the LE get overwritten by the last LE, in this case 'day_of_incident' enter image description here

我不确定是什么导致了这些问题,是代码的逻辑有问题还是我做错了什么?

推荐答案

我建议避免内存id()问题,每次迭代也要生成一个新的Label Encode实例.此外,您还可以同时使用1行和忽略将data[col].unique()输出转换为列表以判断IF len() >= 2条件的需要:

for col in data:
    if (data[col].dtype == 'object') & (len(data[col].unique()) >=2:
            le = LabelEncoder()
            le.fit(data[col])
            label_object[col] = le
            # Transform both training and testing data
            data[col] = le.transform(data[col])
            label_object[col] = le

Python相关问答推荐

剪切间隔以添加特定日期

GPT python SDK引入了大量开销/错误超时

删除特定列后的所有列

上传文件并使用Panda打开时的Flask 问题

如何将一个文件的多列导入到Python中的同一数组中?

try 在单个WITH_COLUMNS_SEQ操作中链接表达式时,使用Polars数据帧时出现ComputeError

如何在基于时间的数据帧中添加计算值

有没有一种方法可以根据不同索引集的数组从2D数组的对称子矩阵高效地构造3D数组?

了解如何让库认识到我具有所需的依赖项

Pandas 数据框自定义排序功能

如何使用aiohttp获取图像并直接处理它而不保存它?

在Matplotlib中通过特定的Y值而不是 colored颜色 来改变alpha/opacity

try 第二次训练新的JAX+Equinox模型时,具有多个元素的数组的真值不明确(&Q)

从语法生成后出现Antlr4 Python运行时错误

PyInstaller:添加二进制和数据文件时找不到';/usr/sbin/neato

";abc";+5被认为是python中的一个表达式吗?

用TensorFlow神经网络绘制趋势线

用于将Custom TypeAlias替换为NotRequired的典型插件

将Hangman游戏中的&替换为所有比赛的玩家猜测

在Python中优化乘法FOR循环