获取向量化 20 个新闻组#

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个新闻组数据集(分类)。

必要时下载。

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

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

类别

20

样本总数

18846

维数

130107

特征

真实数据

用户指南中阅读更多信息。

参数:
subset{‘train’, ‘test’, ‘all’}, default=’train’

选择要加载的数据集:‘train’表示训练集,‘test’表示测试集,‘all’表示两者都包含,顺序已打乱。

removetuple, default=()

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

‘headers’ 删除新闻组标题,‘footers’ 删除帖子末尾类似签名的部分,‘quotes’ 删除看起来像是引用其他帖子的行。

data_homestr or path-like, default=None

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

download_if_missingbool, default=True

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

return_X_ybool, default=False

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

版本0.20中添加。

normalizebool, default=True

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

版本0.22中添加。

as_framebool, default=False

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

版本0.24中添加。

n_retriesint, default=3

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

版本1.5中添加。

delayfloat, default=1.0

两次重试之间的时间间隔(秒)。

版本1.5中添加。

返回:
bunchBunch

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

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

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

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

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

target_names: list,形状为 (n_classes,)

目标类别的名称。

DESCR: str

数据集的完整描述。

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

仅当as_frame=True时出现。包含datatarget的Pandas DataFrame。

版本0.24中添加。

(data, target)tuple if return_X_y is 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,)