【scikit-learn】加载示例数据集

scikit-learn提供了一些标准的数据集,例如用于分类的 iris 和digits数据集,用于回归的boston house prices数据集。

在下文中,通过代码演示加载 iris 和 digits数据集。由于我电脑装的Anaconda,里面的是IPython2.7版本,若是python 3.5以上的,代码自行略微修改。

# -*- coding: utf-8 -*-
#从sklearn导入数据集
from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()

数据集是一个类似字典的对象,它保存所有数据和一些有关数据的元数据。该数据存储在 .data中,是一个 (n_sample, n_feature)数组。在监督学习问题中,多个变量存储在 .target中。其中,n_samole:样本数量,n_features:预测结果的数量。

例如,在digits是数据集中,digits.data可以根据这些t特征对digits数据样本进行分类:

print digits.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.]]

并且,digits.target给出了数据集的真实值,就是每个数字图案对应想预测的真实数字:

digits.target
array([0, 1, 2, ..., 8, 9, 8])

数据数组的形状 数据往往是一个二维数组,形如 (n_sample, n_feature),不管原始数据可能有其他形式。在digits数据集中,每个原始样本都是8*8的矩阵,如下

digits.images[0]
array([[  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.]])

后续会通过简单的例子来展示,如何从原始问题的数据通过scikit-learn学习转化为有用的数据。



你可能感兴趣的:(【scikit-learn】加载示例数据集)