sklearn的LabelEncoder 遇到新值的解决办法

问题:sklearn的LabelEncoder函数遇到新值报错

sklearn的LabelEncoder函数,在fit结束后,对dataframe数据进行transform的时候,如果遇到了没在fit时编码规则里的新值,会出现代码报错,不同于spark的LabelEncoder碰到新值会给你编成len+1。

解决办法:基于编码规则的修改

1、保存编码字典

复制代码
from sklearn.preprocessing import LabelEncoder

le = preprocessing.LabelEncoder()
le.fit(X)

# label编码其实就是映射的字典,将编码字典保存
le_dict = dict(zip(le.classes_, le.transform(le.classes_)))

2、数据判断

检索单个新项目的标签,如果项目丢失,则将值设置为未知

复制代码
le_dict.get(new_item, 'Unknown')

3、批量检索 Dataframe 列的标签

复制代码
df['col'] = df['col'].apply(lambda x: le_dict.get(x, 'Unknown'))

# 再将新值删除
df = df[df['col'] != 'Unknown']
df['col'] = df['col'].astype(dtype='int64')
相关推荐
chase_my_dream8 小时前
2D-SLAM 真实数据处理与多传感器工程落地:时间同步、异常过滤、标定对齐和系统调试
c++·人工智能·2d-slam
不爱记笔记8 小时前
GPT-5.6 Sol 真实项目实测!Bug修复、UI重构与帆船游戏复刻
人工智能·gpt·ui·chatgpt·bug·openai
zhojiew8 小时前
在 OCManager 中通过 OCAI 启用 ops-mate 打通 AI 诊断路径
人工智能
慕容引刀8 小时前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
QiLinkOS8 小时前
企业知识产权战略的“X光”透视报告:从“外包代工”到“法律军火库”的终极分野
大数据·人工智能·dna双螺旋归因模型·技术专利避坑指南·qilink·技术专利风险情报·技术专利洞察
许彰午8 小时前
87_Python Django模型与数据库
数据库·python·django
风途科技~8 小时前
河道流量监测不用下水!雷达水流测速仪非接触测流更安全
人工智能·安全
weixin_397574098 小时前
企业认知基础设施是什么
人工智能
开发者小布8 小时前
AI 开发工具生态扫盲:中转平台、Cursor、Claude Code 如何协同
人工智能
ksueh8 小时前
AI 小说创作新手实战指南
人工智能