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)[source]#

加载并向量化 20 newsgroups 数据集(分类)。

如有必要则下载。

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

除非 normalize 设置为 False,否则生成的计数将使用 sklearn.preprocessing.normalize 进行归一化。

类别数

20

总样本数

18846

维度

130107

特征

实际

用户指南中了解更多。

参数:
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 对象。

0.20 版本新增。

normalizebool, 默认=True

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

0.22 版本新增。

as_framebool, 默认=False

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

0.24 版本新增。

n_retriesint, 默认=3

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

1.5 版本新增。

delayfloat, 默认=1.0

重试之间的秒数。

1.5 版本新增。

返回:
bunchBunch

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

data: 形状为 (n_samples, n_features) 的 {稀疏矩阵, dataframe}

输入数据矩阵。如果 as_frameTrue,则 data 是一个带稀疏列的 pandas DataFrame。

target: 形状为 (n_samples,) 的 {ndarray, series}

目标标签。如果 as_frameTrue,则 target 是一个 pandas Series。

target_names: 形状为 (n_classes,) 的列表

目标类别的名称。

DESCR: str

数据集的完整描述。

frame: 形状为 (n_samples, n_features + 1) 的 dataframe

仅当 as_frame=True 时存在。包含 datatarget 的 Pandas DataFrame。

0.24 版本新增。

(data, target)tuple (如果 return_X_y 为 True)

datatarget 的格式与上述 Bunch 描述中定义的格式相同。

0.20 版本新增。

示例

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