load_files#
- sklearn.datasets.load_files(container_path, *, description=None, categories=None, load_content=True, shuffle=True, encoding=None, decode_error='strict', random_state=0, allowed_extensions=None)[source]#
加载文本文件,以子文件夹名称作为类别。
单个样本假定存储在两级文件夹结构中,如下所示
container_folder/ category_1_folder/ file_1.txt file_2.txt ... file_42.txt category_2_folder/ file_43.txt file_44.txt ...
文件夹名称用作监督信号标签名称。单个文件名不重要。
此函数不会尝试将特征提取到 NumPy 数组或 SciPy 稀疏矩阵中。此外,如果 load_content 为 false,它不会尝试将文件加载到内存中。
要在 scikit-learn 分类或聚类算法中使用文本文件,您需要使用
text
模块来构建适合您问题的特征提取转换器。如果将 load_content 设置为 True,您还应该使用“encoding”参数指定文本编码。对于许多现代文本文件,“utf-8”将是正确的编码。如果将 encoding 保持为 None,则内容将由字节而不是 Unicode 组成,并且您将无法使用
text
中的大多数函数。应为其他类型的非结构化数据输入(如图像、音频、视频等)构建类似的特征提取器。
如果您想要具有特定文件扩展名(例如
.txt
)的文件,则可以将这些文件扩展名的列表传递给allowed_extensions
。在用户指南中阅读更多内容。
- 参数:
- container_pathstr
主文件夹的路径,每个类别包含一个子文件夹。
- descriptionstr, 默认值=None
描述数据集特征的段落:其来源、参考文献等。
- categoriesstr 列表, 默认值=None
如果为 None(默认),则加载所有类别。如果不是 None,则为要加载的类别名称列表(其他类别将被忽略)。
- load_contentbool, 默认值=True
是否加载不同文件的内容。如果为 True,则返回的数据结构中将包含一个包含文本信息的“data”属性。否则,“filenames”属性将给出文件路径。
- shufflebool, 默认值=True
是否打乱数据:这对于假设样本是独立同分布(i.i.d.)的模型可能很重要,例如随机梯度下降。
- encodingstr, 默认值=None
如果为 None,则不尝试解码文件内容(例如,对于图像或其他非文本内容)。如果不是 None,则为在 load_content 为 True 时用于将文本文件解码为 Unicode 的编码。
- decode_error{‘strict’, ‘ignore’, ‘replace’}, 默认值='strict'
当给定包含不属于指定
encoding
字符的字节序列进行分析时,应如何处理的指令。作为关键字参数“errors”传递给 bytes.decode。- random_stateint, RandomState 实例或 None, 默认值=0
确定数据集打乱的随机数生成。传递一个 int 以在多次函数调用中获得可重现的输出。参见词汇表。
- allowed_extensionsstr 列表, 默认值=None
要加载的文件的所需文件扩展名列表,用于筛选文件。
- 返回:
- data
Bunch
类字典对象,具有以下属性。
- datastr 列表
仅当
load_content=True
时存在。要学习的原始文本数据。- targetndarray
目标标签(整数索引)。
- target_nameslist
目标类别的名称。
- DESCRstr
数据集的完整描述。
- filenames: ndarray
包含数据集的文件名。
- data
示例
>>> from sklearn.datasets import load_files >>> container_path = "./" >>> load_files(container_path)