Newsgroups数据集研究

1.数据集介绍

20newsgroups数据集是用于文本分类、文本挖据和信息检索研究的国际标准数据集之一。

数据集收集了大约20,000左右的新闻组文档,均匀分为20个不同主题的新闻组集合。

一些新闻组的主题特别相似(e.g. comp.sys.ibm.pc.hardware/ comp.sys.mac.hardware),还有一些却完全不相关 (e.g misc.forsale /soc.religion.christian)。

20newsgroups数据集有三个版本:

第一个版本19997是原始的并没有修改过的版本:20news-19997.tar.gz –原始20 Newsgroups数据集

第二个版本bydate是按时间顺序分为训练(60%)和测试(40%)两部分数据集,不包含重复文档和新闻组名(新闻组,路径,隶属于,日期):20news-bydate.tar.gz –按时间分类; 不包含重复文档和新闻组名(18846 个文档)

第三个版本18828不包含重复文档,只有来源和主题:20news-18828.tar.gz–  不包含重复文档,只有来源和主题 (18828 个文档)

在sklearn中,该模型有两种装载方式:

第一种是sklearn.datasets.fetch_20newsgroups,返回一个可以被文本特征提取器(如sklearn.feature_extraction.text.CountVectorizer)自定义参数提取特征的原始文本序列;

第二种是sklearn.datasets.fetch_20newsgroups_vectorized,返回一个已提取特征的文本序列,即不需要使用特征提取器。

2.数据集下载

使用ptyhon进行下载:

from sklearn.datasets import fetch_20newsgroups
corpus_path = './corpora_data'
data_train = fetch_20newsgroups(data_home=corpus_path, subset='train', categories=categories, shuffle=True, random_state=0, remove=remove)
data_test = fetch_20newsgroups(data_home=corpus_path, subset='test', categories=categories, shuffle=True, random_state=0, remove=remove)

发现真的很卡。。。放弃

3.使用本地数据集

采取第二种方案:

1.下载文件

点击它给出的链接:20news-bydate.tar.gz –按时间分类; 不包含重复文档和新闻组名(18846 个文档)

2.路径修改

(1)下载后直接放在d:盘路径下

(2)

  • 找到文件Anaconda3Libsite-packagessklearndatasetstwenty_newsgroups.py

  • 修改把在下载的代码注销(红色),增加路径(蓝色)

  •  检查是否成功:如果在当前项目有如下路径则成功

原文地址:https://www.cnblogs.com/wqbin/p/11335037.html