评估机器学习模型数据集难度的工具

edm的Python项目详细描述


进化数据测量:理解文本分类任务的难度

作者:ed柯林斯,尼古拉罗扎诺夫,张冰冰

联系人:contact@wluper.com

在对应名称的论文中,我们讨论了如何使用进化算法来发现关于文本分类数据集的哪些统计数据最准确地表示该数据集对于机器学习模型来说可能有多困难。我们在这里提出了我们发现的困难度量,并提供了这个python代码包来计算它。

安装

此代码是pip可安装的,因此可以通过运行:

pip3 install edm

代码需要python 3和numpy。

建议您将此代码安装在virtualenv

$ mkdir myvirtualenv/
$ virtualenv -p python3 myvirtualenv/
$ source bin/activate
(myvirtualenv) $ pip3 install edm

运行

要计算文本分类数据集的难度,需要提供两个列表:一个句子和一个标签。这两个列表的长度必须相同,即每个句子都有一个标签。每一个数据项都应该是一个未经修饰的字符串,每一个标签都应该是一个字符串。

>>>sents,labels=your_own_loading_function(PATH_TO_DATA_FILE)>>>sents["this is a positive sentence","this is a negative sentence",...]>>>labels["positive","negative",...]>>>assertlen(sents)==len(labels)True

这段代码不支持将数据文件(如csv文件)加载到内存中,您需要单独完成这项工作。

一旦您将数据集加载到内存中,您可以通过运行以下代码来接收“困难报告”:

fromedmimportreportsents,labels=your_own_loading_function(PATH_TO_DATA_FILE)print(report.get_difficulty_report(sents,labels))

注意,如果数据集非常大,那么计算数据集的单词可能需要几分钟。amazon审查来自字符级卷积网络的文本数据集 向张、俊波朝和Yann LeCun的分类EME> 2015,其中包含360万个Amazon评论需要大约15分钟的时间来处理,并且创建了难度报告。计数单词时将显示加载条。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?