fetch_20newsgroups#
- sklearn.datasets.fetch_20newsgroups(*, data_home=None, subset='train', categories=None, shuffle=True, random_state=42, remove=(), download_if_missing=True, return_X_y=False, n_retries=3, delay=1.0)[source]#
加载 20 Newsgroups 数据集的文件名和数据(分类)。
如有必要,会下载。
类别
20
样本总数
18846
维度
1
特征
文本
在用户指南中了解更多。
- 参数:
- data_homestr 或 path-like, default=None
指定数据集的下载和缓存文件夹。如果为 None,所有 scikit-learn 数据将存储在“~/scikit_learn_data”子文件夹中。
- subset{‘train’, ‘test’, ‘all’}, default=’train’
选择要加载的数据集:“train”表示训练集,“test”表示测试集,“all”表示两者,并打乱顺序。
- categoriesarray-like, dtype=str, default=None
如果为 None(默认),则加载所有类别。如果非 None,则为要加载的类别名称列表(其他类别将被忽略)。
- shufflebool, default=True
是否打乱数据:这对于假设样本独立同分布(i.i.d.)的模型(如随机梯度下降)可能很重要。
- random_stateint, RandomState 实例或 None, default=42
决定数据集打乱的随机数生成。传入一个整数以在多次函数调用中获得可重现的输出。参见词汇表。
- removetuple, default=()
可能包含 (‘headers’, ‘footers’, ‘quotes’) 的任何子集。这些都是将从新闻组帖子中检测并删除的文本类型,以防止分类器在元数据上过拟合。
“headers”删除新闻组标题,“footers”删除帖子末尾看起来像签名的块,“quotes”删除看起来是引用另一个帖子的行。
“headers”遵循精确的标准;其他过滤器不总是正确的。
- download_if_missingbool, default=True
如果为 False,则在数据在本地不可用时引发 OSError,而不是尝试从源站点下载数据。
- return_X_ybool, default=False
如果为 True,则返回
(data.data, data.target)
而不是 Bunch 对象。0.22 版本新增。
- n_retriesint, default=3
遇到 HTTP 错误时重试的次数。
1.5 版本新增。
- delayfloat, default=1.0
重试之间的秒数。
1.5 版本新增。
- 返回:
- bunch
Bunch
类似字典的对象,具有以下属性。
- data形状为 (n_samples,) 的列表
要学习的数据列表。
- target: 形状为 (n_samples,) 的 ndarray
目标标签。
- filenames: 形状为 (n_samples,) 的列表
数据所在位置的路径。
- DESCR: str
数据集的完整描述。
- target_names: 形状为 (n_classes,) 的列表
目标类别的名称。
- (data, target)如果
return_X_y=True
则为元组 一个包含两个 ndarray 的元组。第一个包含一个形状为 (n_samples, n_classes) 的 2D 数组,其中每行代表一个样本,每列代表特征。第二个形状为 (n_samples,) 的数组包含目标样本。
0.22 版本新增。
- bunch
示例
>>> from sklearn.datasets import fetch_20newsgroups >>> cats = ['alt.atheism', 'sci.space'] >>> newsgroups_train = fetch_20newsgroups(subset='train', categories=cats) >>> list(newsgroups_train.target_names) ['alt.atheism', 'sci.space'] >>> newsgroups_train.filenames.shape (1073,) >>> newsgroups_train.target.shape (1073,) >>> newsgroups_train.target[:10] array([0, 1, 1, 1, 0, 1, 1, 0, 0, 0])