统计学习:scikit-learn中的设置和估计对象
数据集
Scikit-learn处理来自一个或多个表示为2D阵列的数据集的学习信息。它们可以被理解为多维观察的列表。我们说这些数组的第一个轴是样本轴,而第二个是 特征轴。
scikit-learn附带的一个简单示例:iris数据集
>>>
>>> from sklearn import datasets
>>> iris = datasets.load_iris()
>>> data = iris.data
>>> data.shape
(150, 4)
它由150个 irises观察组成,每个由4个特征描述:它们的萼片和花瓣的长度和宽度,详见 iris.DESCR。
当数据最初不是形状时,需要对其进行预处理以供scikit-learn使用。(n_samples, n_features)
重塑数据的一个例子是数字数据集
数字数据集由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是估算器的 API 。估算器是从数据中学习的任何对象; 它可以是分类,回归或聚类算法或从原始数据中提取/过滤有用特征的变换器。
所有估算器对象都会公开一个fit采用数据集的方法(通常是一个二维数组):
>>>
>>> estimator.fit(data)
估计器参数:估计器的所有参数可以在实例化时设置,也可以通过修改相应的属性来设置:
>>>
>>> estimator = Estimator(param1=1, param2=2)
>>> estimator.param1
1
估计参数:当数据与估算器拟合时,根据手头的数据估算参数。所有估计参数都是以下划线结尾的估算器对象的属性:
>>>
>>> estimator.estimated_param_