cleanlab实战处理二之处理多分类任务标签
处理 实战 任务 分类 标签
2023-09-14 09:13:20 时间
0.总结
- LawsonAbs的认知与思考,不一定完善和准确,还请各位读者怀批判思维阅读。
- 持续更新
1.需求
想使用cleanlab 这个工具,找出数据中错误的人工标注的标签。
普通的标签任务有两种:
- 单标签
- 多标签
单标签的任务使用 cleanlab 较好实现,这里主要介绍一 使用cleanlab完成多标签任务中错误标注标签的查找
实现这个任务,只需要6行代码。如下所示:
from cleanlab.pruning import get_noise_indices
# 输入
# s:噪声标签
# psx: n x m 的预测概率概率,通过交叉验证获得
ordered_label_errors = get_noise_indices(
s=numpy_array_of_noisy_labels,
psx=numpy_array_of_predicted_probabilities,
sorted_index_method='normalized_margin', # Orders label errors
)
针对之前对cleanlab的学习,分别调整好s,psx的值就可以作为参数传入了。但是它们的格式该怎么控制呢?
2.数据格式
这里以我做的一个任务为例,介绍一下s,psx取值的情况。
有1000个样本,153中标签,每个样本可以有多个标签。
- 原始标签 s
在 一个实体可以分为很多类 的这种任务中,s是一个list of list,但是必须其中的每个list都必须是numpy array类型,那么最后得到的s长如下的样子:
- 概率矩阵 psx
是一个n*m的矩阵,不过依然是用numpy 中的arraay存储。格式如下:
3.运行结果
得到的结果中,如果是为True
,则说明该人工标注的标签可能存在问题。
4.存在的问题
4.1
可能在运行的过程中出现如下问题:
cleanlab ValueError: operands could not be broadcast together with shapes (10,195),(2,)
这种问题的原因就是 标签数对应不上导致出错。上面的这个报错(10,195),(2,)
指的是你想做一个10*195的分类,但实际存在的标签只有2个,这个工作就无法进行下去所以报错了。也就是 {总标签集合}的个数 > {实际出现的标签集合}的个数
修改的方法就是:只将人工标注的标签的集合总数作为m值。
5.参考文章
- https://github.com/cgnorthcutt/cleanlab/issues/41
相关文章
- 程序员的量化交易之路(6)-Esper之处理模型(5)
- spring学习笔记(16)趣谈spring 事件机制[2]:多监听器流水线式顺序处理
- 【Python3网络爬虫开发实战】3.1.2-处理异常
- php实现并发处理之curl篇
- 解决火车头7.6版本无法采集部分https网站处理方法
- 基础知识《十一》Java异常处理总结
- JAVA WEB开发中处理乱码汇总
- django模板语言转义处理
- 自然语言处理理论与实战
- Python自然语言处理工具小结
- hbase源码系列(十一)Put、Delete在服务端是如何处理?
- sql 语句系列(null 值处理)[八百章之第二章]
- 数学建模暑期集训13:Pandas实战——处理Excel大数据
- SAP 电商云 Spartacus UI 从 CMS 取回 slots 和 component 之后的处理
- UI5应用clone到webIDE后,如何处理无法加载sap-ui-core.js的错误
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之区块链技术
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之汽车驾驶乘客自动报警
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之自然语言处理技术
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之五、人脸图像
- 【Java实战】工作中并发处理规范
- 【项目实战】使用轻量级工具 java-emoji-converter 处理emoji表情字符
- 〖Python WEB 自动化测试实战篇⑧〗- 实战 - 利用 selenium 处理弹出框
- 〖Python 数据库开发实战 - Python与MySQL交互篇③〗- MySQL Connector的事务控制与异常处理
- FFmpeg框架与媒体处理
- 【docx模块】python中可以处理word文档的模块
- 基于L2-RLS算法的目标跟踪算法matlab仿真,可处理小范围遮挡问题
- 【CSS】课程网站 网格商品展示 模块制作 ② ( 网格商品展示盒子模型测量及样式 | 处理列表间隙导致意外换行问题 | 代码示例 )
- Java线程学习笔记(两) 线程异常处理
- c# 使用GDAL处理大图
- python基础===Excel处理库openpyxl
- Django实战技巧(1)-开发测试生产环境配置切换处理技巧
- 大数据Hadoop之——HDFS小文件问题与处理实战操作
- Bert实战一之处理单条句子