1 中文文本分类数据集THUCNews

1.1 数据说明

  THUCNews是根据新浪新闻RSS订阅频道2005~2011年间的历史数据筛选过滤生成,包含74万篇新闻文档(2.19 GB),均为UTF-8纯文本格式。我们在原始新浪新闻分类体系的基础上,重新整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐。使用THUCTC工具包在此数据集上进行评测,准确率可以达到88.6%。参考链接为:http://thuctc.thunlp.org/#%E4%B8%AD%E6%96%87%E6%96%87%E6%9C%AC%E5%88%86%E7%B1%BB%E6%95%B0%E6%8D%AE%E9%9B%86THUCNews 。

1.2 数据下载方式

  部分数据下载链接为https://download.csdn.net/download/herosunly/16128211。完整数据下载方式为:访问 http://thuctc.thunlp.org/message, 需要提交个人信息、尊重THUNLP资源使用协议,从而获取正确下载地址。

1.3 数据探索

  我们这里以部分数据来进行探索学习。数据下载后包括4个文件夹,分别是cnews.train.txt、cnews.val.txt、cnews.test.txt和cnews.vocab.txt。其中cnews.train.txt是训练集数据,cnews.val.txt是验证集数据、cnews.test.txt是测试集数据,我们需要通过分词然后进行处理。而cnews.vocab.txt是所有数据集中汇集成的词典,每一行表示一个词。细心的同学会发现,除了词、标点符号,还包含了<PAD><PAD><PAD>。<PAD><PAD><PAD>指的是对部分的句子进行填充,从而保证句子中长度差异不大。

2. IMDB英文情感分类数据集

2.1 数据说明

  本数据集是通过评论数据从而分析出个人对电影的喜恶(也可以称为消极和积极的,目标是完成二分类)。数据集总共包含5W条评论,其中2.5W是训练集数据,而2.5W是测试集数据。其中还有5W个未做标记的评论,可用来作无监督学习。

2.2 下载方式

  下载地址为 http://59.80.44.98/ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz ,可直接复制到迅雷进行下载。

2.3 数据探索

数据下载并解压后包括若干个文件和两个文件夹。其中两个文件夹为train和test,train和test中包含neg、pos、unsup三个字文件夹,其中neg对应的是消极的,而pos指的是积极的,unsup是未标记的数据。

3.评价指标

3.1 混淆矩阵


表中TN、FP、FN、TP中第一个字母表示预测是否和实际值相符,正确为T,错误为F。第二个字母表示预测的结果,预测为正样本1用P表示,预测为负样本0用N表示。

3.2 准确率

score:预测正确的样本数占总样本的比例(sklearn中的接口),TN+TPTN+TP+FN+FP\frac{TN+TP}{TN+TP+FN+FP}TN+TP+FN+FPTN+TP​。但分类准确率在处理极度倾斜(skewed)的数据时效果不好(如癌症得病了0.1%,即使所有人都预测为健康,我们的分类准确率也为99.9%)。所以后来提出了精准率、召回率、F1 score等指标。

3.3 精确率

precision=TPTP+FP\frac{TP}{TP+FP}TP+FPTP​,分母是预测为1且预测对了的数量,分子是所有预测为1的样本数量。从名字理解概念,查准率,查出来为1的样本中准确率是多少。该指标反映了将多数类判错后需要付出的成本。可使用sklearn直接进行计算,代码如下所示:

from sklearn.metrics import precision_score
precision_score(y_test, y_pred)

3.4 召回率

recall = TPTP+FN\frac{TP}{TP + FN}TP+FNTP​ ,分母是预测为1且预测对了的数量(同精准率),分子是现实中所有为1的样本。sklearn接口为:

from sklearn.metrics import recall_score
recall_score(y_test, y_pred)

3.5 F1 score

F1 score:有时我们想兼顾查准率和召回率(既不偏好精准率,也不偏好召回率),因此可用二者的调和平均数1F1=12(1precision+1recall)\frac{1}{F1}=\frac{1}{2}(\frac{1}{precision}+\frac{1}{recall})F11​=21​(precision1​+recall1​),因此F1=2precision∗recallprecision+recallF1=\frac{2precision*recall}{precision+recall}F1=precision+recall2precision∗recall​ 。调和平均数的一个重要特征:只有当两者都很大或很小时,调和平均数才会很大或很小,只要有一个很小,就会大大拉低结果。sklearn接口为

from sklearn.metrics import f1_score
f1_score(y_test, y_pred)

3.6 PR曲线

上面的F1_score兼顾了精准率和召回率,但是这两个指标本身是矛盾的,提升一个必然会降低另一个。绘制曲线代码为:

# 超参数-precision & 超参数-recall曲线
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import precision_score
from sklearn.metrics import recall_scoreimport pandas as pd
import numpy as npdata = load_breast_cancer()
X_train, X_test, Y_train, Y_test = train_test_split(data.data, data.target, test_size = 0.4, random_state = 555)precision = []
recall = []for i in range(1, 10):clf = DecisionTreeClassifier(max_depth = i)clf.fit(X_train, Y_train)pred = clf.predict(X_test)precision.append(precision_score(Y_test, pred))recall.append(recall_score(Y_test, pred)) import matplotlib.pyplot as pltplt.plot(list(range(1, 10)), precision, label = 'precision')
plt.plot(list(range(1, 10)), recall, label = 'recall')
plt.legend()
plt.show()

3.7 ROC曲线和AUC


ROC曲线的横轴是FPR,纵轴是TPR。FPR(假正率)为FP(预测为1,但是预测错了的数量,误报)除以真实值为0的样本数量。绘制ROC曲线的方法同P-R曲线,可以自己手绘,也可以调用sklearn。TPR为召回率recall。

AUC即ROC曲线的面积,AUC代表ROC曲线越接近左上角,模型就越好。

3.8 学习曲线

  Plots relating performance to experience are widely used in machine learning. Performance is the error rate or accuracy of the learning system, while experience may be the number of training examples used for learning or the number of iterations used in optimizing the system model parameters.[17] The machine learning curve is useful for many purposes including comparing different algorithms,[18] choosing model parameters during design,[19] adjusting optimization to improve convergence, and determining the amount of data used for training.

4. 参考链接为

https://blog.csdn.net/Stephen_shijun/article/details/83059863
https://blog.csdn.net/u014696921/article/details/74435229

文本分类数据和评价指标相关推荐

  1. 【NLP】中文文本分类数据增强方法:EDA 与代码实现

    数据增强可以算作是做深度学习算法的一个小trick.该介绍主要出自论文:EDA: Easy Data Augmentation Techniques for Boosting Performance ...

  2. NLP(新闻文本分类)——数据读取与数据分析

    初始数据 import pandas as pd df_train = pd.read_csv('E:/python-project/deep-learning/datawhale/nlp/news- ...

  3. 最新综述:用于文本分类的数据增强方法

    ©PaperWeekly 原创 · 作者 | 王馨月 学校 | 四川大学本科生 研究方向 | 自然语言处理 概要 数据增强,即通过转换为机器学习人工创建训练数据,是跨机器学习学科广泛研究的研究领域.它 ...

  4. 详细介绍NLP文本分类

    基于统计方法的文本分类 基于统计方法的文本分类是文本分类的主要方法之一.统计方法首先是对原始输入数据进行预处理,一般包括分词.数据清洗和数据统计等,然后人工抽取特征并选择具体的统计模型设计分类算法. ...

  5. PaddleNLP基于ERNIR3.0文本分类:WOS数据集为例(层次分类)

    相关项目链接: Paddlenlp之UIE模型实战实体抽取任务[打车数据.快递单] Paddlenlp之UIE分类模型[以情感倾向分析新闻分类为例]含智能标注方案) 应用实践:分类模型大集成者[Pad ...

  6. 【论文解读】文本分类上分利器:Bert微调trick大全

    论文标题:How to Fine-Tune BERT for Text Classification? 中文标题:如何微调 BERT 进行文本分类? 论文作者:复旦大学邱锡鹏老师课题组 实验代码:ht ...

  7. 文本分类上分利器: Bert微调trick大全

    点击下面卡片,关注我呀,每天给你送来AI技术干货! 来自:ChallengeHub 论文标题:How to Fine-Tune BERT for Text Classification? 中文 中文标 ...

  8. 基于ERNIR3.0文本分类:(KUAKE-QIC)意图识别多分类(单标签)

    PaddleNLP基于ERNIR3.0文本分类以中医疗搜索检索词意图分类(KUAKE-QIC)为例[多分类(单标签)] 0.前言:文本分类任务介绍 文本分类任务是自然语言处理中最常见的任务,文本分类任 ...

  9. PaddleNLP基于ERNIR3.0文本分类以中医疗搜索检索词意图分类(KUAKE-QIC)为例【多分类(单标签)】

    相关项目链接: Paddlenlp之UIE模型实战实体抽取任务[打车数据.快递单] Paddlenlp之UIE分类模型[以情感倾向分析新闻分类为例]含智能标注方案) 应用实践:分类模型大集成者[Pad ...

  10. 文本分类算法之--贝叶斯分类算法的实现Java版本

    package com.vista; import java.io.IOException;       import jeasy.analysis.MMAnalyzer; /** * 中文分词器 * ...

最新文章

  1. SAP EWM - 其他主数据 - 供应链单元
  2. gitee使用svn_Gitee SVN支持
  3. windows编译MaskRCNN
  4. (1)win10 64位系统ISE14.7闪退问题(FPGA不积跬步101)
  5. gentoo java_gentoo安装java开发环境
  6. 2019全国知识图谱与语义计算大会
  7. 使用 SCTP 优化网络
  8. 向量的数量积,向量积,混合积
  9. 计算机函数sumif实例,「稻客说函数」SUMIF函数实例详解
  10. python爬虫beta版之抓取知乎单页面回答(low 逼版)
  11. 使用Ezy-Slice插件实现类似Beat Saber的模型切割效果(一)
  12. 数据抓包(网络爬虫)-正方教务管理系统登录
  13. TP开发的源码或素材付费下载站网站源码+整体不错
  14. 台式计算机鼠标,台式电脑鼠标怎么选?
  15. 正反斜杠的区别_正斜杠(/)和反斜杠(\)的区别
  16. drf框架图片路径问题
  17. TensorFlow 、Caffe等9大人工智能框架对比介绍
  18. Elasticsearch实战——地理位置查询
  19. Redis设计与实现之跳跃表
  20. 统计学中均值、方差、标准差、协方差、欧式距离、马氏距离等概念透彻理解

热门文章

  1. 【独家】这两个人的对决,决定了万科股权大战的走向
  2. 财务报表分析实务(第五讲)
  3. 手机配置host的替代方案
  4. react-native0.66==windows环境搭建、demo测试
  5. 牛!各大公司【薪资待遇】一览,我心动了
  6. 阿里云服务器安装code-server实现ipad编程、浏览器编程
  7. 有效沟通bic法则_有效沟通的五个法则
  8. c语言确定闰月的步骤,怎么判断是闰月,农历闰月是如何确定的?
  9. PHP生成短连接的方法
  10. Win10电脑怎么用命令修复系统文件