Category/label 在 fetch_20newsgroups 数据集 sklearn

Category/label in fetch_20newsgroups dataset sklearn

我正在按照 scikit-learn 学习聚类主题 example:

我不明白 'category' 和 'label' 有什么区别。

在这种情况下,数据集来自下载:

dataset = fetch_20newsgroups(subset='all', categories=categories,
                             shuffle=True, random_state=42) 

但是我不明白为什么要写这个分类

categories = [
'alt.atheism',
'talk.religion.misc',
'comp.graphics',
'sci.space',

在示例中提到为"take from training set",但是火车集在哪里?

labels = dataset.target

我不明白为什么我们需要分开分类和标签。

对了,我找到了这个数据集的资源here,好像分为

所以我想写的时候

dataset.data

它给出了一个稀疏矩阵)。

所以我的问题是,如何选择类别和标签?如果我没有这个例子中的数据集,我需要任意选择?

抱歉我的问题,但我尝试以正确的方式理解这个例子。

首先指定类别以从原始数据集中过滤记录。假设我们只使用过滤器得到 1200 篇文章。默认情况下,原始数据集有 20 个类别。如果我们不指定类别,它会将所有类别的所有文章拉入数据集中。

'alt.atheism',
'talk.religion.misc',
'comp.graphics',
'sci.space',

而 dataset.target 用于从我们在上一步中过滤的数据集中获取每篇文章的标签。

labels = dataset.target

标签的大小为 1200,每个值代表每篇文章所属的类别。

您只能选择类别。每篇文章都有标签,所以我们不必在这里扮演角色。

dataset.target_names会给出标签和类别之间的映射,即标签中的0,1,2代表什么类别。