scikit-learn:加载自己的原始数据

本文聚焦于如何使用scikit-learn库加载个人的原始数据,而非常见的公用数据集。介绍了一个关键函数`sklearn.datasets.load_files`,并提供了相关教程链接帮助理解数据加载过程。
摘要由CSDN通过智能技术生成

这里不讨论加载常用的公用数据集,而是讨论加载自己的原始数据(即,实际中遇到的数据)


http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_files.html#sklearn.datasets.load_files

关于如何加载常用的内置数据,参考:http://blog.csdn.net/mmc2015/article/details/46906409


sklearn.datasets. load_files ( container_pathdescription=Nonecategories=None, load_content=Trueshuffle=Trueencoding=Nonedecode_error='strict'random_state=0 ) [source]

加载文本文件存储的数据集,其中不同类别的文件存放路径为

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

其中,子文件夹(category_1_folder)的名字区别,作为监督学习的标签区别。至于每个文件的具体命名,随便。



上面的参数只解释container_path,load_content=True,encoding=None

container_path:“container_folder”的路径。

load_content=True:是否真的把文件中的内容加载到内存中,选择true就是了。

encoding=Nonestring or None (default is None),是否解码文件中的内容(主要针对图片、视频或其他二进制文件,而非文本内容);如果不是None,那么在load_content=True的情况下,就会解码文件中的内容。注意,当前文本文件的编码方式一般为“utf-8”。如果不指明编码方式(encoding=None),那么文件内容将会按照bytes处理,而不是unicode处理,这样模块“sklearn.feature_extraction.tex”中的很多函数就不能用了。


返回值:data : Bunch

Dictionary-like object。我们感兴趣的有:

data:原始数据,格式参考下图。

filenames:每个文件的名字

target:类别标签(从0开始的整数索引)

target_names:类别标签(数字)的具体含义(由子文件夹的名字category_1_folder决定)



实例:

 

 from sklearn import datasets
    rawData = datasets.load_files("data_folder")
    print rawData
    X = rawData.data
    print X[0] #first file content
    y = rawData.target
    print y
    rawData = datasets.load_files("data_folder",encoding="utf-8")
    print rawData


{'target_names': ['category_1_folder', 'category_2_folder', 'category_3_folder'], 'data': ['6 "start", \r\ni don\'t like.', '3 start, \r\nwe like this.', '2 start, \r\nniubi.', '4 start, \r\npretty good.', '1 start, \r\nhaha.', '5 start, \r\nnot so good.'], 'target': array([2, 1, 0, 1, 0, 2]), 'DESCR': None, 'filenames': array(['data_folder\\category_3_folder\\6.txt',
       'data_folder\\category_2_folder\\3.txt',
       'data_folder\\category_1_folder\\2.txt',
       'data_folder\\category_2_folder\\4.txt',
       'data_folder\\category_1_folder\\1.txt',
       'data_folder\\category_3_folder\\5.txt'], 
      dtype='|S35')}
6 "start", 
i don't like.
[2 1 0 1 0 2]
{'target_names': ['category_1_folder', 'category_2_folder', 'category_3_folder'], 'data': [u'6 "start", \r\ni don\'t like.', u'3 start, \r\nwe like this.', u'2 start, \r\nniubi.', u'4 start, \r\npretty good.', u'1 start, \r\nhaha.', u'5 start, \r\nnot so good.'], 'target': array([2, 1, 0, 1, 0, 2]), 'DESCR': None, 'filenames': array(['data_folder\\category_3_folder\\6.txt',
       'data_folder\\category_2_folder\\3.txt',
       'data_folder\\category_1_folder\\2.txt',
       'data_folder\\category_2_folder\\4.txt',
       'data_folder\\category_1_folder\\1.txt',
       'data_folder\\category_3_folder\\5.txt'], 
      dtype='|S35')}



评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值