【英文文本分类实战】之二——数据集挑选与划分

article/2025/9/7 22:26:25

·请参考本系列目录:【英文文本分类实战】之一——实战项目总览
·下载本实战项目资源:神经网络实现英文文本分类.zip(pytorch)

[1] 数据集平台

  在阅读了大量的论文之后,由于每一篇论文都会提出一个模型,十分想复现每个模型。但是受制于苦苦无法寻觅到合适的数据集,且下载下来一个数据集后,由于格式的不同,没有很好的数据集预处理方案,这对我们复现论文有很大阻力。

  下面的网址列表不仅包含用于实验的大型数据集,还包含描述、使用示例等,在某些情况下还包含用于解决与该数据集相关的机器学习问题的算法代码。

   1-Kaggle数据集

  网址:http://www.kaggle.com/datasets

   强烈推荐这个数据集社区! 每个数据集都有对应的一个小型社区,可以在其中讨论数据、查找公共代码或在内核中创建自己的项目。该网站包含大量形状、大小、格式各异的真实数据集。还可以看到与每个数据集相关的“内核”,其中许多不同的数据科学家提供了笔记来分析数据集。有时在某些特定的数据集中,可以从笔记中找到相应的算法,解决预测问题。

在这里插入图片描述

【注】:后续讲解代码时,数据集将从Kaggle网站下载。

   2-亚马逊数据集

   网址:https://registry.opendata.aws

   该数据源包含多个不同领域的数据集,如:公共交通、生态资源、卫星图像等。它也有一个搜索框来帮助你找到你正在寻找的数据集,另外它还有数据集描述和使用示例,这是非常简单、实用的!

在这里插入图片描述

   3-微软研究开放数据

   网址:https://msropendata.com/

   2018年7月,微软与外部研究社区共同宣布推出“微软研究开放数据”。

   它在公共云中包含一个数据存储库,用于促进全球研究社区之间的协作。另外它还提供了一组在已发表的研究中使用的、经过整理的数据集。

在这里插入图片描述

[2] 下载数据集

  我们的项目的主题为 “英文文本分类”

  我们从Kaggle数据集平台上任意找一个文本数据集,如下图,名为 “Topic Labeled News Dataset”

【注】:这里突出“任意找一个”数据集,具有普遍性。这样大家用自己的数据集,按照本博客的方法一样可行。但是,最好是现成的数据集,自己去爬取的数据可能会有格式不正确等各种问题。

在这里插入图片描述

  这样下载下来的数据集,有许多问题,并不能直接就应用于文本分类任务,其缺点有:

  1、下载的数据集是一个csv文件,需要人为分成训练集、验证集、测试集;
  2、文本数据有大小写问题、特殊字符问题、缩写问题等等,我们不能拿过来就直接用,需要经过一定的预处理;
  3、在文本分类任务中,还会使用预训练的词向量,需要考虑到词向量的词与数据集中词的覆盖程度。

  下面我们来一一解决这些问题。

[3] 划分数据集

  刚才我们下载的数据集如下图:

在这里插入图片描述
   分析数据集: 如上图,我们下载的数据集是一个名为labelled_newscatcher_dataset.csv的文件,其中的topic列为数据标签,title列为数据文本。

  需要把一个文件labelled_newscatcher_dataset.csv,拆分为训练集train.csv、验证集dev.csv、测试集test.csv

  读取数据集,先统计一下每个标签对应的文本数,代码如下:

df = pd.read_csv("../@_数据集/TLND/data/labelled_newscatcher_dataset.csv", encoding='utf-8', sep=';')labels = set(df['topic'])
contents = df['title']
count = {}
cal = {}
for p in df['topic']:cal[p] = 0try:count[p] += 1except KeyError:count[p] = 1
print(count)
"""输出如下
{'SCIENCE': 3774, 'TECHNOLOGY': 15000,'HEALTH': 15000, 'WORLD': 15000,'ENTERTAINMENT': 15000, 'SPORTS': 15000,'BUSINESS': 15000, 'NATION': 15000
}
"""

【注】:在使用pandas读取csv文件时,要注意分隔符不一定都是逗号。

  之后,按照70:15:15的比例来均分数据集为训练集train.csv、验证集dev.csv、测试集test.csv。尤其需要注意的是,应当在每个标签下,按照70:15:15的比例来均分数据集,保证在每个训练集、验证集、测试集中每个类别的标签都有,代码如下:

train, val, test = [], [], []
for i, label in enumerate(df['category']):if cal[label] < count[label] * 0.7:train.append({'label': label, 'content': contents[i]})elif cal[label] < count[label] * 0.85:val.append({'label': label, 'content': contents[i]})else:test.append({'label': label, 'content': contents[i]})cal[label] += 1

  这样,就分配好了每个集中应有的数据,数据格式为{'label':… , 'content': …},方便之后转存为csv文件。

  然后,我们编写代码,把变量中的数据转存为csv文件:训练集train.csv、验证集dev.csv、测试集test.csv,代码如下:

with open('../@_数据集/TLND/data/train.csv', 'a', newline='', encoding='utf-8') as f:xieru = csv.DictWriter(f, ['label','content'],delimiter=';')xieru.writerows(train)  # writerows方法是一下子写入多行内容
with open('../@_数据集/TLND/data/dev.csv', 'a', newline='', encoding='utf-8') as f:xieru = csv.DictWriter(f, ['label','content'],delimiter=';')xieru.writerows(val)  # writerows方法是一下子写入多行内容
with open('../@_数据集/TLND/data/test.csv', 'a', newline='', encoding='utf-8') as f:xieru = csv.DictWriter(f, ['label','content'],delimiter=';')xieru.writerows(test)  # writerows方法是一下子写入多行内容

  理论上,这样就完成数据集分割的任务了。但是在模型运行过程中,发现模型的准确率图如下。每过一个epoch,准确率总是会先下降许多,然后再上升,如此反复

在这里插入图片描述
  网上冲浪一番之后,发现是数据集分割时,把每个类别集中分在一起了,每一类文本应该随机分布,所以需要在转存为csv文件时,先使得变量中的数据随机分布,代码如下:

random.shuffle(train)
random.shuffle(val)
random.shuffle(test)

  再跑模型的时候,准确率就呈缓慢上升的趋势了,而不是上升——下降——上升——下降,随机数据分布之后,准确率如下图:

在这里插入图片描述

[4] 进行下一篇实战:

  【英文文本分类实战】之三——数据清洗


http://chatgpt.dhexx.cn/article/U5Xo05Jg.shtml

相关文章

Window部分软件图标显示不正常

电脑上的软件图标突然就变得不正常显示&#xff0c;网上baidu找了很多&#xff0c;也有很多解决方法&#xff0c;下面记录一种最终解决我问题的方法。 进入到控制面板-显示&#xff0c;将显示比例更改一下&#xff0c;注销电脑&#xff0c;若图标显示正常&#xff0c;再把显示…

电脑软件快捷方式不显示图标

电脑上有的软件快捷方式不显示图标&#xff0c;只显示是图片的样式&#xff0c;图片显示不出来&#xff0c;可能是原图标文件丢失&#xff0c;关联失效&#xff0c;缓存异常等&#xff0c;有时卸载软件重新安装可能会好&#xff0c;有的可能卸载重新安装也解决不了。 以下提供…

2,【electron+vue】 构建桌面应用——常见的功能及问题(修改桌面图标,软件图标,窗口图标,图标不显示问题,影藏默认菜单栏,开机自启,手动或被动关闭应用)

一.修改桌面图标,软件图标或者窗口左上角的图标. 1.首先这些图标必须是 .ico 结尾的图片,如果你将其他格式的图片改成.ico的,也不行哦,至于为什么,我也没深入研究,按着规定来就好. 2.如何获取.ico格式的图片或者说如何将其他格式的图片转换成.ico格式的图片呢,这里推荐一个app…

Win10 底部应用图标显示不正常(空白)

导致此问题一般是因为&#xff1a; 移动了程序目录未正确卸载的情况下重新安装 解决方法 右击任务栏图标&#xff0c;再右键程序&#xff0c;点击属性&#xff0c;更改程序正确位置和图标。

TortoiseSVN文件夹及文件图标不显示解决方法

由于自己的电脑是win7&#xff08;64位&#xff09;的&#xff0c;系统安装TortoiseSVN之后&#xff0c;其他的功能都能正常的使用&#xff0c;但是就是文件夹或文件夹的左下角就是不显示图标&#xff0c;这个问题前一段时间就遇到了&#xff08;那个时候没找到合适的答案&…

解决win10系统下软件图标显示异常的问题

最近遇到的问题&#xff0c;桌面图标&#xff0c;特别是word、excel等office办公软件的桌面图标全部变成txt的图标了&#xff0c;特别是之前安装过WPS软件&#xff0c;更容易出现这个问题。如下图所示&#xff1a; 解决办法&#xff1a; 1.下载软件filetypesman.zip&#x…

win10系统桌面应用图标显示不出来的问题

别慌别慌&#xff0c;只要找到桌面任务栏上右击鼠标&#xff0c;在弹出的菜单中点击【任务管理器】。在【任务管理器】找到【Windows资源管理器】&#xff0c;右击鼠标&#xff0c;选择【重新启动】即可重建图标缓存 CK: https://zhuanlan.zhihu.com/p/121125559

桌面计算机里没有桌面显示不出来怎么办,电脑桌面显示不出来图标 所有软件都可以正常工作 怎么解决?...

苏绯离 回答数&#xff1a;3 | 被采纳数&#xff1a;125 2020-04-18 12:14:50 当你遇到桌面上一个图标都没有的情形时&#xff0c;是由于多种原因引起的&#xff0c;你可按下面方法进行检修。 1、首先右击桌面选排列图标/勾选显示桌面图标。 2、如果故障依旧&#xff0c;打开…

win10某些软件图标显示过小解决方法

win10笔记本电脑分辨率过高&#xff0c;导致某些没有适配win10的软件显示窗口过小&#xff0c;看起来很是不舒服。 本文将介绍一种解决方法&#xff0c;调大显示窗口及图标。 以My Base为例&#xff1a; 1.右键单击图标–>选择“打开文件所在位置” 2.右键单击图标–>…

软件图标显示不正常【win7企业版】

现象&#xff1a; 原因&#xff1a; 图标缓存没有把该软件图标建立起来 解决&#xff1a; 一、 1、找到 IconCache.db 2、你要把电脑隐藏文件打开不然找不到这个文件的&#xff0c;组织—文件夹及搜索选项——查看——显示隐藏文件、文件夹和驱动器 隐藏已知文件的扩展名的√ 去…

解决win10系统桌面应用图标显示不出来的问题

解决win10系统桌面应用图标显示不出来的问题 有时候win10系统桌面应用图标会因为一些原因显示不出来或者显示的不全&#xff08;白色&#xff09;&#xff0c;这时候由于在桌面看的难看&#xff0c;并不好寻找使用的图标。 这里提供一个简单的方法-重置系统图标数据库文件&…

Win10 图标 显示不正常解决办法

解决Win10下图标不能正常显示(如变白色等)的问题。 Win10图标不能正常显示的解决方法 方法一&#xff1a;通过删除IconCache.db文件方法二&#xff1a;直接更改图标样式 方法一&#xff1a;通过删除IconCache.db文件 1.随便 打开 一个 文件夹 &#xff0c;点击 查看 &#xff…

office软件不显示图标

本方法的适用条件: 1. 确保已经正确安装office软件(笔者本人office版本为2016专业版),office各功能可以正确使用。 2. ‘’设置‘’→‘’应用‘’→‘’应用和功能‘’,中确保.xlsx的默认打开程序为excel。(word,ppt同理) 本人遇到的问题: 1. 桌面→鼠标右键,不…

WIN10运行软件,窗口不显示 解决办法

#win10 运行软件后&#xff0c;不显示窗口 今天遇到个问题&#xff0c;我打开postman之后&#xff0c;任务栏显示它已经打开了&#xff0c;但是窗口就是不显示&#xff0c;如下图&#xff1a; 用alt tab 查看&#xff0c;也能看到它&#xff01;&#xff01;&#xff01;鼠标…

软件图标显示不正常的问题

最近一段时间做开发&#xff0c;一致用plantix&#xff0c;但是不知道为何&#xff0c;桌面上的图标无法正常显示&#xff0c;就像这样 一开始上网找恢复桌面图标的办法&#xff0c;例如&#xff1a;在属性中更改图标&#xff0c;发现plantix的启动图标在安装目录下也同样无法显…

修复软件图标不正常显示问题

当我们电脑桌面软件图标变成了白色&#xff0c;不要慌&#xff0c;有解决办法滴。 首先&#xff0c;我们新建一个记事本&#xff0c;把下面的代码复制进去&#xff0c; echo off taskkill /f /im explorer.exe CD /d %userprofile%\AppData\Local DEL IconCache.db /a start …

计算机软件图标不正常,桌面图标显示不正常,详细教您桌面图标显示不正常怎么解决...

现在电脑的品牌越来越多&#xff0c;我们在选择电脑品牌的时候会提前做一些功课&#xff0c;想要哪一款的电脑会提前查阅资料等&#xff0c;但是有的时候买了电脑&#xff0c;电脑会出现一些问题的时候却不知道怎么去解决桌面图标显示不正常&#xff0c;下面&#xff0c;小编给…

关于word插入题注“题注或页码中不含章节号”错误提示

首先&#xff0c;你的文档要包含标题样式&#xff0c;然后排好多级列表与编号。 其次&#xff0c;也是重点&#xff1a;你标题运用的样式的名称需要与插入题注时勾选的编号、章节号名称要一致&#xff01;

Word基础(三十五)题注的插入与删除

题注&#xff1a;为您的图片或对象添加标签。添加题注后&#xff0c;您可以通过插入交叉引用在文档的任意位置引用对象。 在Word中&#xff0c;如何插入题注呢&#xff1f; 方法&#xff1a;以图片插入题注为例 鼠标点击需要插入题注的图片&#xff08;或表格、公式等&#x…

Word基础(三十七)自动插入题注

在Word中&#xff0c;如何自动插入题注呢&#xff1f; 方法&#xff1a; 点击引用选项卡&#xff0c;题注分类中点击插入题注 在弹出的题注对话框中&#xff0c;点击自动插入题注(A)… 在弹出的自动插入题注对话框中勾选类型 点击插入表格后&#xff0c;就会自动插入题注 注&…