Python文本分类数据加载 sklearn.datasets.load_files

机器学习过程中我们对英文文本进行分类研究重要的一步就是数据提取特征,并将其向量化。本文主要讲解sklearn.datasets.load_files该函数加载数据分类文本,加载txt

1、数据准备

Python的sklearn.datasets支持从目录读取所有分类好的文本。不过目录必须按照一个文件夹一个标签名的规则放好。目录如下所示:

官方解释:

方法总概况:sklearn.datasets.load_files(container_path, description=None, categories=None, load_content=True, shuffle=True, encoding=None, decode_error='strict', random_state=0)

Load text files with categories as subfolder names.

加载的文本文件的分类类别就是二层文件夹的名字。这个意思二层文件夹是用分类进行命名的

Individual samples are assumed to be files stored a two levels folder structure such as the following:

文件结构就是二层文件结构

container_folder/
category_1_folder/
file_1.txt file_2.txt ... file_42.txt
category_2_folder/
file_43.txt file_44.txt ...

The folder names are used as supervised signal label names. The individual file names are not important.

下面有个简单的例子解释:我通过A,B,C,D,E为类别对数据进行下载txt结构

1、首先建立一个总的文件夹,用于访问。对数据分类没有影响

 

2、二级结构文件夹就是将类别命名二层文件夹,每个文件夹里面是我们这类别的txt总的数据量,里面的txt是等待划分的数据。

 

综上就是对数据准备的下载和整理。接下来第二部就是数据访问加载

 

二、数据加载

首先展示代码:

# -*- coding: utf-8 -*-  
import scipy as sp  
import numpy as np  
from sklearn.datasets import load_files 

#导入使用的包
data1 = load_files('yang')

#装载文件夹的路径,第一层的文件
print data1.target

#返回数据的目标变量,这里的目标变量是整数的形式。ABCE 转化成了0123

 

# -*- coding: utf-8 -*-  
import scipy as sp  
import numpy as np  
from sklearn.datasets import load_files  
from sklearn.cross_validation import train_test_split  
from sklearn.feature_extraction.text import  TfidfVectorizer

data1 = load_files('yang')
print data1.target

 

注意数据加载

 

红线加载的txt中含有多行数据,但是目标target赋予一个类别符号,就是一个txt对应一个类别。将txt作为每一条数据进行处理。

posted on 2016-12-10 16:29  星海一哥  阅读(2920)  评论(0编辑  收藏  举报

导航