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,则内容将由字节(bytes)而不是 Unicode 组成,并且你将无法使用 text 中的大多数函数。

类似的特征提取器应该为其他类型的非结构化数据输入(如图像、音频、视频等)构建。

如果你需要具有特定文件扩展名(例如 .txt)的文件,则可以将这些文件扩展名的列表传递给 allowed_extensions

用户指南 中阅读更多内容。

参数:
container_pathstr

包含每个类别一个子文件夹的主文件夹路径。

descriptionstr, default=None

描述数据集特征的段落:来源、参考资料等。

categorieslist of str, default=None

如果为 None(默认值),则加载所有类别。如果不为 None,则为要加载的类别名称列表(其他类别将被忽略)。

load_contentbool, default=True

是否加载不同文件的内容。如果为 true,返回的数据结构中将包含一个包含文本信息的 ‘data’ 属性。如果不加载,则 filenames 属性会给出文件的路径。

shufflebool, default=True

是否打乱数据:对于假设样本独立同分布 (i.i.d.) 的模型(如随机梯度下降)可能很重要。

encodingstr, default=None

如果为 None,则不尝试解码文件内容(例如对于图像或其他非文本内容)。如果不为 None,则在 load_content 为 True 时,使用该编码将文本文件解码为 Unicode。

decode_error{‘strict’, ‘ignore’, ‘replace’}, default=’strict’

关于如果分析的字节序列包含给定 encoding 之外的字符时该怎么做的说明。作为关键字参数 ‘errors’ 传递给 bytes.decode。

random_stateint, RandomState instance or None, default=0

Determines random number generation for dataset shuffling. Pass an int for reproducible output across multiple function calls. See Glossary.

allowed_extensionslist of str, default=None

用于过滤要加载文件的所需文件扩展名列表。

返回:
dataBunch

Dictionary-like object, with the following attributes.

datalist of str

仅在 load_content=True 时存在。用于学习的原始文本数据。

targetndarray

目标标签(整数索引)。

target_nameslist

The names of target classes.

DESCRstr

The full description of the dataset.

filenames: ndarray

保存数据集的文件名。

示例

>>> from sklearn.datasets import load_files
>>> container_path = "./"
>>> load_files(container_path)