获取向量化 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与自定义的CountVectorizer
、HashingVectorizer
、TfidfTransformer
或TfidfVectorizer
结合使用。除非将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中添加。
- 返回:
- bunch
Bunch
类似字典的对象,具有以下属性。
- data: {稀疏矩阵, dataframe},形状为 (n_samples, n_features)
输入数据矩阵。如果
as_frame
为True
,data
是具有稀疏列的pandas DataFrame。- target: {ndarray, series},形状为 (n_samples,)
目标标签。如果
as_frame
为True
,target
是pandas Series。- target_names: list,形状为 (n_classes,)
目标类别的名称。
- DESCR: str
数据集的完整描述。
- frame: dataframe,形状为 (n_samples, n_features + 1)
仅当
as_frame=True
时出现。包含data
和target
的Pandas DataFrame。版本0.24中添加。
- (data, target)tuple if
return_X_y
is True data
和target
将采用上面Bunch
描述中定义的格式。版本0.20中添加。
- bunch
示例
>>> 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,)