我正在研究聚类主题,遵循scikit-learn示例:
我不明白"类别"和"标签"有什么区别。
在这种情况下,数据集是从下载中给出的:
dataset = fetch_20newsgroups(subset='all', categories=categories,
shuffle=True, random_state=42)
但我不明白为什么要写这个类别
categories = [
'alt.atheism',
'talk.religion.misc',
'comp.graphics',
'sci.space',
在示例中,它被提及为"从训练集中获取",但火车集在哪里?
labels = dataset.target
我不明白为什么我们需要分开的类别和标签。
顺便说一句,我在这里找到了这个数据集的资源,似乎它分为
- 火车数据
- 火车标签
- 火车地图
- 测试数据
- 测试标签
- 测试地图
所以我想在写的时候
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 表示哪个类别。