[Machine Learning step by step][By jy]2.2.1 统计学习:scikit-learn库的设置和估计器对象

来源:互联网 发布:萨德导弹防御系统 知乎 编辑:程序博客网 时间:2024/05/11 12:37

第一次翻译,翻译的不足之处请大家多多指教。谢谢

2.2.1  统计学习:scikit-learn库的设置和估计器对象 
2.2.1.1数据集

在scikit-learn库中,我们使用二维数组来处理一个到多个数据集,这些数据集可以理解成一系列的多维的观测数据集。我们说这个数组的第一个轴是样本轴,而第二个是特征轴。


Scikit库附带的简单例子:鸢尾花数据集:

>>> from sklearn import datasets>>> iris = datasets.load_iris()>>> data = iris.data>>> data.shape
输出为(150,4)
这个数据集是由150个鸢尾花的观测值,每一个观测值是由4个特征组成:花萼、花瓣长度、花瓣宽度,在虹膜备注中有详细说明
如果数据没有初始化成(N个样本,N个特征),必须要对数据进行预处理来让scikit使用。

下面是一个数据预处理的例子:

这个数字数据集是用1797 个8*8手写数字图像组成:



>>> digits = datasets.load_digits()>>> digits.images.shape(1797, 8, 8)>>> import pylab as pl >>> pl.imshow(digits.images[-1], cmap=pl.cm.gray_r) 

在scikit库中使用此数据,我们把每一个8*8的数据集转换成长度为64的特征向量

>>> data = digits.images.reshape((digits.images.shape[0], -1))

2.2.1.2 估计对象
数据拟合:scikit-learn 应用的主要的API是estimator(评估量)。一个estimator(评估量)是从数据学习的目标,可能是分类,回归或者聚类算法或者一个能从原始数据得到有用的特征的转换器。
每一个评估量对象都提供一个fit方法,函数的参数一个通常是二维数组的数据集;

>>> estimator.fit(data)

参数估计:在实例化或者修改相应的属性时,所有的估计量的参数都可以被设置:

>>> estimator = Estimator(param1=1, param2=2)>>> estimator.param1

得到结果:1
       被估计的参量:当估计量来拟合数据时,数据来估算参数。所有的被估计的参量都是估计量对象的属性,而且都已下划线来结尾:

>>> estimator.estimated_param_