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)[源代码]#

加载将类别作为子文件夹名称的文本文件。

假设各个示例是以两级文件夹结构存储的文件,如下所示:

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稀疏矩阵中。此外,如果start_content为假,它不会尝试加载内存中的文件。

要在scikit-learn分类或集群算法中使用文本文件,您需要使用 text 模块来构建适合您问题的特征提取Transformer。

如果您设置start_content=True,则还应该使用“encoding”参数指定文本的编码。对于许多现代文本文件,“utf-8”将是正确的编码。如果您将编码保留为无,那么内容将由字节而不是Unicode组成,并且您将无法使用中的大多数函数 text .

类似的特征提取器应该为其他类型的非结构化数据输入,如图像,音频,视频,…

如果您想要具有特定文件扩展名的文件(例如 .txt )然后您可以将这些文件扩展名的列表传递给 allowed_extensions .

阅读更多的 User Guide .

参数:
container_pathstr

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

description字符串,默认=无

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

categories字符串列表,默认=无

如果为“无”(默认值),则加载所有类别。如果不是“无”,则列出要加载的类别名称(忽略其他类别)。

load_content布尔,默认=True

是否加载不同文件的内容。如果为真,则返回的数据结构中存在包含文本信息的“data”属性。如果不是,文件名属性会提供文件的路径。

shuffle布尔,默认=True

是否对数据进行洗牌:对于假设样本独立且同分布(i.i.d.)的模型来说可能很重要,例如随机梯度下降。

encoding字符串,默认=无

如果无,请勿尝试解码文件的内容(例如图像或其他非文本内容)。如果不是“无”,则在加载_内容为True时用于将文本文件解码为Unicode的编码。

decode_error'严格',','替换'},默认='严格'

说明如果提供要分析的字节序列包含不属于给定的字符,该怎么办 encoding .作为关键字参数“错误”传递给bytes.decode。

random_stateint,RandomState实例或无,默认=0

确定数据集洗牌的随机数生成。传递int以获得跨多个函数调用的可重复输出。看到 Glossary .

allowed_extensions字符串列表,默认=无

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

返回:
data : Bunch

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

数据字符串列表

仅在当 load_content=True .要学习的原始文本数据。

目标ndarray

目标标签(integer index)。

target_names列表

目标类的名称。

DESCRstr

数据集的完整描述。

文件名:ndray

保存数据集的文件名。

示例

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