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稀疏矩阵中。此外,如果load_content为false,则不会尝试将文件加载到内存中。
要在scikit-learn分类或聚类算法中使用文本文件,您需要使用:mod:
~sklearn.feature_extraction.text
模块构建适合您问题的特征提取转换器。如果设置load_content=True,还应使用’encoding’参数指定文本的编码。对于许多现代文本文件,’utf-8’将是正确的编码。如果将encoding设置为None,则内容将由字节而不是Unicode组成,您将无法使用:mod:
~sklearn.feature_extraction.text
中的大多数函数。应为其他类型的非结构化数据输入(如图像、音频、视频等)构建类似的特征提取器。
如果您想要具有特定文件扩展名(例如
.txt
)的文件,则可以将这些文件扩展名列表传递给allowed_extensions
。更多信息请参阅:ref:
用户指南 <datasets>
。- Parameters:
- 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
确定数据集洗牌的随机数生成。传递一个int以在多次函数调用中获得可重复的输出。 参见:term:
Glossary <random_state>
。- allowed_extensionslist of str, default=None
要加载的文件的所需文件扩展名列表。
- Returns:
- data
Bunch
类似字典的对象,具有以下属性。
- datalist of str
仅当
load_content=True
时存在。 要学习的原始文本数据。- targetndarray
目标标签(整数索引)。
- target_nameslist
目标类别的名称。
- DESCRstr
数据集的完整描述。
- filenames: ndarray
包含数据集的文件名。
- data
Examples
>>> from sklearn.datasets import load_files >>> container_path = "./" >>> load_files(container_path)