(为了节约空间,打印结果常用“...”表示省略)
加载数据集
1. 加载sklearn自带的数据集
scikit-learn有一些自带的标准数据集,例如用于分类的经典数据集iris和digits以及用于回归的boston house prices数据集。
这些自带的数据集一种是类似字典的对象,它保存所有的数据(通常情况下,特征向量存储在.data成员中,在监督学习中,标签存储在.target成员中)和关于数据的元数据(如.target_names成员用来存储各个标签值对应的含义标签名称)。每个数据集中包含的成员不一定是一样的,既然数据集是一种类似字典的对象,那么,我们就可以通过“数据集名.keys()”来查看该数据集中,究竟有哪些成员,从而对数据集有个整体的把握。
from sklearn import datasets
iris = datasets.load_iris()
print iris
{‘target_names‘: array([‘setosa‘, ‘versicolor‘, ‘virginica‘],
dtype=‘|S10‘), ‘data‘: array([[ 5.1, 3.5, 1.4, 0.2],
[ 4.9, 3. , 1.4, 0.2],
[ 4.7, 3.2, 1.3, 0.2],
...
[ 6.2, 3.4, 5.4, 2.3],
[ 5.9, 3. , 5.1, 1.8]]), ‘target‘: array([0, 0, 0, 0, ···2, 2, 2]), ...}
2. 访问自带数据集成员
载入数据集后,可以通过“数据集名.成员名”的方式访问成员。
访问特征集
print iris.data
[[ 5.1 3.5 1.4 0.2]
[ 4.9 3. 1.4 0.2]
[ 4.7 3.2 1.3 0.2]
...
[ 6.2 3.4 5.4 2.3]
[ 5.9 3. 5.1 1.8]]
访问标签集
print iris.target
[0 0 ... 0 0 0 1 1 ... 1 1 2 2 ... 2 2]
3. 加载数据非二维数组的数据集demo
# _*_ coding:utf-8_*_
from sklearn import datasets
digits = datasets.load_digits()
print digits.keys()
print ‘------‘
# 第0个样本image为
print digits.images[0]
print ‘------‘
print digits.data[0]
[‘images‘, ‘data‘, ‘target_names‘, ‘DESCR‘, ‘target‘]
------
[[ 0. 0. 5. 13. 9. 1. 0. 0.]
[ 0. 0. 13. 15. 10. 15. 5. 0.]
[ 0. 3. 15. 2. 0. 11. 8. 0.]
[ 0. 4. 12. 0. 0. 8. 8. 0.]
[ 0. 5. 8. 0. 0. 9. 8. 0.]
[ 0. 4. 11. 0. 1. 12. 7. 0.]
[ 0. 2. 14. 5. 10. 12. 0. 0.]
[ 0. 0. 6. 13. 10. 0. 0. 0.]]
------
[ 0. 0. 5. 13. 9. 1. 0. 0. 0. 0. 13. 15. 10. 15. 5.
0. 0. 3. 15. 2. 0. 11. 8. 0. 0. 4. 12. 0. 0. 8.
8. 0. 0. 5. 8. 0. 0. 9. 8. 0. 0. 4. 11. 0. 1.
12. 7. 0. 0. 2. 14. 5. 10. 12. 0. 0. 0. 0. 6. 13.
10. 0. 0. 0.]
可以看到.images和.data的区别:.data将.images中的元素由二维数组转为一维向量。