我正在研究集群主题,遵循scikit-learn example:
我不明白“类别”和“标签”之间的区别。
在这种情况下,数据集是从下载中获得的:
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
我不明白为什么我们需要单独的类别和标签。
顺便说一句,我找到了这个数据集here的资源,而且似乎被分为了
所以我想写
dataset.data
给出一个稀疏矩阵。
所以我的问题是,如何选择类别和标签?如果我没有像本例这样的数据集,我需要任意选择吗?
很抱歉,我的问题是,但我尝试以正确的方式理解此示例。
答案 0 :(得分:1)
首先,指定类别以从原始数据集中过滤记录。假设仅使用过滤器,我们就会获得1200篇文章。默认情况下,原始数据集具有20个类别。如果不指定类别,则会将所有类别的所有文章拉入数据集中。
'alt.atheism',
'talk.religion.misc',
'comp.graphics',
'sci.space',
而dataset.target用于从数据集中获取每篇文章的标签,我们在上一步中已对其进行了过滤。
labels = dataset.target
标签的大小为1200,每个值代表每篇文章所属的类别。
您只能选择类别。每篇文章都已经有标签,因此我们不必扮演角色。
dataset.target_names
将给出标签和类别之间的映射,这意味着标签中的0,1,2表示什么类别。