数据集
scikit-learn 中包含了一些标准的数据集来帮助一些模型的测试与使用,如一般用于分类的 iris和digits数据集,以及用于回归的波士顿房价数据集。
本帖介绍如何加载scikit-learn中包含的标准数据集,在加载之前需要安装scikit-learn(pip scikit-learn 的whl文件)
#加载数据
from sklearn import datasets
iris=datasets.load_iris()#加载iris数据集
dig=datasets.load_digits()
print(iris)
print(dig.data)
print(dig.target)
print(dig.images[0])#输出第一张iris图片信息
在这个标准数据集当中,保存的格式类似于字典,.data 给出了数据的n维特征,.target给出了数据集所对应的分类类别(如digits数据集,其类别为0,1,2,3,4,5……9),其.data对应输出结果如下:
[[ 0. 0. 5. ... 0. 0. 0.]
[ 0. 0. 0. ... 10. 0. 0.]
[ 0. 0. 0. ... 16. 9. 0.]
...
[ 0. 0. 1. ... 6. 0. 0.]
[ 0. 0. 2. ... 12. 0. 0.]
[ 0. 0. 10. ... 12. 1. 0.]]
为了更加直观的观察其结果,执行dig.images[0],输出如下,其为第一个数据的保存结构,从形状上可以看出为像数字0的形状,从后续的.target内容中得知其就是数字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.]]
或者通过执行dig.data[0:2]观察,其数据类似,但是不能观察其形状:
[[ 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. 0. 12. 13. 5. 0. 0. 0. 0. 0. 11. 16. 9. 0. 0. 0. 0.
3. 15. 16. 6. 0. 0. 0. 7. 15. 16. 16. 2. 0. 0. 0. 0. 1. 16.
16. 3. 0. 0. 0. 0. 1. 16. 16. 6. 0. 0. 0. 0. 1. 16. 16. 6.
0. 0. 0. 0. 0. 11. 16. 10. 0. 0.]]
再执行dig.taget,可以查看其每一个数据样本对应的分类,在有监督学习当中比较有用:
[0 1 2 ... 8 9 8]
从其输出看出第一个为0,和之前所说一致。
以上为对scikit-learn中如何对标准数据集进行数据加载,主要需要掌握.data .target的具体含义,大家有兴趣也可以去查看如何去读取其他数据集。