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 版本新增。

返回:
bunchBunch

类似字典的对象,具有以下属性。

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 版本新增。

示例

>>> 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])