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
保存数据集的文件名。
- data :
示例
>>> from sklearn.datasets import load_files >>> container_path = "./" >>> load_files(container_path)