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 与自定义的CountVectorizer
、HashingVectorizer
、TfidfTransformer
或TfidfVectorizer
结合使用。除非 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 版本新增。
- 返回:
- bunch
Bunch
类字典对象,具有以下属性。
- data: 形状为 (n_samples, n_features) 的 {稀疏矩阵, dataframe}
输入数据矩阵。如果
as_frame
为True
,则data
是一个带稀疏列的 pandas DataFrame。- target: 形状为 (n_samples,) 的 {ndarray, series}
目标标签。如果
as_frame
为True
,则target
是一个 pandas Series。- target_names: 形状为 (n_classes,) 的列表
目标类别的名称。
- DESCR: str
数据集的完整描述。
- frame: 形状为 (n_samples, n_features + 1) 的 dataframe
仅当
as_frame=True
时存在。包含data
和target
的 Pandas DataFrame。0.24 版本新增。
- (data, target)tuple (如果
return_X_y
为 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,)