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

这篇具有很好参考价值的文章主要介绍了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 列的标签文章来源地址https://www.toymoban.com/news/detail-853318.html

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

# 再将新值删除
df = df[df['col'] != 'Unknown']
df['col'] = df['col'].astype(dtype='int64')

到了这里,关于sklearn的LabelEncoder 遇到新值的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • No_module_named_‘sklearn‘错误解决办法

    ModuleNotFoundError: No module named ‘sklearn’ 方法:这种情况一般是我们忘记了安装scikit-learn模块,通过pip install scikit-learn 安装即可解决错误。

    2024年02月16日
    浏览(47)
  • Sklearn GridSearchCV跑SVM很慢或卡死解决办法,SVM线性核函数卡死

    今天跑人工智能SVM实验,想试一下线性核函数,结果卡死了,很久也不出结果,但之前使用高斯核函数是没问题的。历经千辛万苦终于找到了原因,记录一下,希望对后人有帮助。本人只是个做作业的小菜菜,如有不对欢迎指正! 参考了以下文章: 关于Python Sklearn SVM 为什么

    2024年02月02日
    浏览(35)
  • 工作遇到问题与解决办法(一)

    父 孩子 startPage()只对该语句以后的第一个查询 (Select) 语句得到的数据进行分页。 多选 js 根据用户名更新下拉框 组件 前端:url请求设置没有token,白名单添加url 后端: controller层接口设置无权限访问,权限config类设置url匿名访问 面包屑 父组件 表单一行占三个 计算data中的

    2024年02月14日
    浏览(40)
  • slurm安装遇到的问题以及解决办法

    1、如何 初始化分区(节点) 状态(将drain状态转为idel) sudo scontrol update NodeName= roota-X299-UD4-Pro State=RESUME 2、如何 删除节点上的任务 (占用的和申请中的) (149条消息) SLURM 节点状态总是drained问题_kongxx的博客-CSDN博客_slurm drain scancel 16(进程号) 3、查看分区信息和节点信息 查看

    2024年02月03日
    浏览(49)
  • 安装unity时遇到的问题与解决办法

    我遇到的问题 unity package manager error, vs安装时提示网络问题, hub个人许可证不见了且申请不了   百度真是个好东西,对我这种小白极为友好,写一下我踩的坑   1.unityhub版本问题 下最新版也不是不好,但我还是觉得2.5版本好(我安装最新版会弄不出许可证) 注意,安装un

    2023年04月10日
    浏览(47)
  • Microsoft Visio 画图遇到的问题及解决办法

    这条虚线是用来分页的,对画图没有影响,但可能新手会想要去掉它,方法如下: 在编辑首页中点击打开主菜单栏中的“视图”选项,然后在弹出来的窗口中点击取消打勾“分页符”选项。然后就可以看到编辑页面中的虚线成功消失啦。 如果想要在画布中画出一条虚线,只

    2024年02月06日
    浏览(55)
  • 路由器升级可能遇到的问题及解决办法

    一、出现乱码 拿出路由器,通电后通过Console口连上去,发现超级屏幕出现了一些乱码,会不会是Consol口坏了?如果出现Console口坏了,一般会在超级终端屏幕上不断输出很多的乱码,回车后出现乱码,可能是每秒传输速率不对,将默认值9600更换为l15200,路由器启动成功,路由

    2024年02月05日
    浏览(37)
  • 使用git遇到的各种疑难杂症之解决办法

    git init 初始化本地git仓库,会生成.git/文件夹 git add . 添加文件到暂存区,文件开始被跟踪,文件修改后也要重新跟踪 git commit -m \\\'说明文字\\\'  将暂存区的文件,提交到本地仓库 以上两步,可以合成一步 git commit -a -m \\\'说明文字\\\' git log 查看日志,罗列所有提交过的历史记录,根据

    2024年04月29日
    浏览(44)
  • 安装opencv-python遇到的问题及解决办法

           由于本人是小白,课程作业为不限软件不限语言进行横缝检测,想通过opencv进行相应的图片处理,本文是在安装导入过程中遇到的问题及解决办法,谨以此文感谢我实验室大佬。 环境:anaconda,python3.8, PyCharm2020 首先是我在导入过程中几个参考的看起来很靠谱的文章:

    2024年02月09日
    浏览(68)
  • IDEA遇到Cannot resolve symbol问题的解决办法

    以下列出了多种可能造成Cannot resolve symbol问题的情况, 可以根据自己的问题进行选择设置 解决: 在idea中找到File – Project Structure – Project SDK, 然后选择自己安装好的JDK 解决: 打开File – Setting – 直接搜索Maven, 然后设置Maven home path(自己的Maven安装路径) 如下图的位置, 清除缓存后

    2024年02月15日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包