Skip to content

统计学习:scikit-learn 中的设置与估计器对象

数据集

Scikit-learn 可以从一个或多个表示为二维阵列的数据集中学习信息。它们可以理解为多维观测数据的列表。这些数组的第一个维度代表样本轴,第二个维度代表特征轴.

scikit-learn 附带一个简单示例: iris(鸢尾花) 数据集

>>> from sklearn import datasets
>>> iris = datasets.load_iris()
>>> data = iris.data
>>> data.shape
(150, 4)

该数据集包含150个鸢尾花观测样本,每个样本包含4个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度,详见 iris.DESCR

当数据不是呈 (n_samples, n_features) 形状时,需要进行预处理才能被scikit learn使用。

数据预处理样例:digits(数字)数据集

https://scikit-learn.org/stable/_images/sphx_glr_plot_digits_last_image_001.png

digits(数字)数据集由1797张8x8的手写数字图像组成

>>> digits = datasets.load_digits()
>>> digits.images.shape
(1797, 8, 8)
>>> import matplotlib.pyplot as plt 
>>> plt.imshow(digits.images[-1], cmap=plt.cm.gray_r) 
<matplotlib.image.AxesImage object at ...>

为了在scikit-learn使用此数据集,我们需要将每张8x8的图像转换为长度为64的特征向量。

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

估计器对象

拟合数据 : scikit-learn 实现的主要API是estimator(估计器). 估计器(estimator)是在数据中进行学习的任何对象; 它可以是分类、回归或聚类算法或从原始数据中提取/过滤有用特征的转换器。

所有估计器(estimator)对象都公开一个“fit”方法,该方法接受一个数据集(通常是二维阵列):

>>> estimator.fit(data)

估算器参数 : 估计器(estimator)的所有参数可以在实例化时设置,也可以在创建估计器(estimator)之后通过修改相应的属性来设置:

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

拟合参数 : 当估计器(estimator)拟合完数据之后,所有参数可从估计器(estimator)中获取。拟合参数都是估计器(estimator)对象以下划线结尾的属性:

 >>> estimator.estimated_param_

(C) 2007 - 2019, scikit-learn 开发人员(BSD许可证). 显示此页面源码