fetch_20newsgroups_vectorized#

sklearn.datasets.fetch_20newsgroups_vectorized(*, subset='train', remove=(), data_home=None, download_if_missing=True, return_X_y=False, normalize=True, as_frame=False, n_retries=3, delay=1.0)#

加载并向量化20个新闻组数据集(分类)。

如果需要,下载数据集。

这是一个便捷函数;转换使用的是 CountVectorizer 的默认设置。 对于更高级的使用(停用词过滤、n-gram提取等),请结合 fetch_20newsgroups与自定义的 CountVectorizerHashingVectorizerTfidfTransformerTfidfVectorizer

结果计数使用 sklearn.preprocessing.normalize 进行归一化,除非normalize设置为False。

类别

20

样本总数

18846

维度

130107

特征

实数

更多信息请参阅 用户指南

Parameters:
subset{‘train’, ‘test’, ‘all’}, 默认=’train’

选择要加载的数据集:’train’用于训练集,’test’用于测试集,’all’用于两者,顺序随机。

removetuple, 默认=()

可以包含(‘headers’, ‘footers’, ‘quotes’)的任意子集。这些是将被检测并从新闻组帖子中移除的文本类型,防止分类器对元数据过拟合。

‘headers’移除新闻组头,’footers’移除看起来像签名的帖子末尾块,’quotes’移除看起来像引用其他帖子的行。

data_homestr 或 path-like, 默认=None

指定数据集的下载和缓存文件夹。如果为None,所有scikit-learn数据存储在’~/scikit_learn_data’子文件夹中。

download_if_missingbool, 默认=True

如果为False,如果数据不在本地则引发OSError,而不是尝试从源站点下载数据。

return_X_ybool, 默认=False

如果为True,返回 (data.data, data.target) 而不是Bunch对象。

Added in version 0.20.

normalizebool, 默认=True

如果为True,使用:func:sklearn.preprocessing.normalize 将每个文档的特征向量归一化为单位范数。

Added in version 0.22.

as_framebool, 默认=False

如果为True,数据是一个包含适当数据类型(数值、字符串或分类)列的pandas DataFrame。目标是一个pandas DataFrame或Series,取决于 target_columns 的数量。

Added in version 0.24.

n_retriesint, 默认=3

遇到HTTP错误时的重试次数。

Added in version 1.5.

delayfloat, 默认=1.0

重试之间的秒数。

Added in version 1.5.

Returns:
bunchBunch

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

data: {sparse matrix, dataframe} of shape (n_samples, n_features)

输入数据矩阵。如果 as_frameTruedata 是一个带有稀疏列的pandas DataFrame。

target: {ndarray, series} of shape (n_samples,)

目标标签。如果 as_frameTruetarget 是一个pandas Series。

target_names: list of shape (n_classes,)

目标类别的名称。

DESCR: str

数据集的完整描述。

frame: dataframe of shape (n_samples, n_features + 1)

仅当 as_frame=True 时存在。带有 datatarget 的pandas DataFrame。

Added in version 0.24.

(data, target)tuple if return_X_y is True

datatarget 的格式如上 Bunch 描述中所定义。

Added in version 0.20.

Examples

>>> from sklearn.datasets import fetch_20newsgroups_vectorized
>>> newsgroups_vectorized = fetch_20newsgroups_vectorized(subset='test')
>>> newsgroups_vectorized.data.shape
(7532, 130107)
>>> newsgroups_vectorized.target.shape
(7532,)