# 机器学习: scikit-learn 中的设置以及预估对象
校验者:
[@Kyrie](https://github.com/apachecn/scikit-learn-doc-zh)
[@片刻](https://github.com/apachecn/scikit-learn-doc-zh)
翻译者:
[@冰块](https://github.com/apachecn/scikit-learn-doc-zh)
## 数据集
Scikit-learn可以从一个或者多个数据集中学习信息,这些数据集合可表示为2维阵列,也可认为是一个列表。列表的第一个维度代表 **样本** ,第二个维度代表 **特征** (每一行代表一个样本,每一列代表一种特征)。
样例: 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数据集(手写数字数据集)
[![http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_digits_last_image_001.png](https://box.kancloud.cn/43592ff4c7cb588f6902be555ee8ad67_300x300.jpg)](../../auto_examples/datasets/plot_digits_last_image.html)digits数据集包含1797个手写数字的图像,每个图像为8\*8像素
```
>>> 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中使用这一数据集,需要将每一张8×8的图像转换成长度为64的特征向量
```
>>> data = digits.images.reshape((digits.images.shape[0], -1))
```
## 预估对象
**拟合数据**: scikit-learn实现最重要的一个API是`estimator`。estimators是基于数据进行学习的任何对象,它可以是一个分类器,回归或者是一个聚类算法,或者是从原始数据中提取/过滤有用特征的变换器。
所有的拟合模型对象拥有一个名为``fit``的方法,参数是一个数据集(通常是一个2维列表):
```
>>> estimator.fit(data)
```
**拟合模型对象构造参数**: 在创建一个拟合模型时,可以设置相关参数,在创建之后也可以修改对应的参数:
```
>>> estimator = Estimator(param1=1, param2=2)
>>> estimator.param1
1
```
**拟合参数**: 当拟合模型完成对数据的拟合之后,可以从拟合模型中获取拟合的参数结果,所有拟合完成的参数均以下划线(\_)作为结尾:
```
>>> estimator.estimated_param_
```
- scikit-learn 0.19 中文文档
- 用户指南
- 1. 监督学习
- 1.1. 广义线性模型
- 1.2. 线性和二次判别分析
- 1.3. 内核岭回归
- 1.4. 支持向量机
- 1.5. 随机梯度下降
- 1.6. 最近邻
- 1.7. 高斯过程
- 1.8. 交叉分解
- 1.9. 朴素贝叶斯
- 1.10. 决策树
- 1.11. 集成方法
- 1.12. 多类和多标签算法
- 1.13. 特征选择
- 1.14. 半监督学习
- 1.15. 等式回归
- 1.16. 概率校准
- 1.17. 神经网络模型(有监督)
- 2. 无监督学习
- 2.1. 高斯混合模型
- 2.2. 流形学习
- 2.3. 聚类
- 2.4. 双聚类
- 2.5. 分解成分中的信号(矩阵分解问题)
- 2.6. 协方差估计
- 2.7. 经验协方差
- 2.8. 收敛协方差
- 2.9. 稀疏逆协方差
- 2.10. Robust 协方差估计
- 2.11. 新奇和异常值检测
- 2.12. 密度估计
- 2.13. 神经网络模型(无监督)
- 3. 模型选择和评估
- 3.1. 交叉验证:评估估算器的表现
- 3.2. 调整估计器的超参数
- 3.3. 模型评估: 量化预测的质量
- 3.4. 模型持久化
- 3.5. 验证曲线: 绘制分数以评估模型
- 4. 数据集转换
- 4.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器
- 4.2. 特征提取
- 4.3. 预处理数据
- 4.4. 无监督降维
- 4.5. 随机投影
- 4.6. 内核近似
- 4.7. 成对的矩阵, 类别和核函数
- 4.8. 预测目标 (y) 的转换
- 5. 数据集加载工具
- 6. 大规模计算的策略: 更大量的数据
- 7. 计算性能
- 教程
- 使用 scikit-learn 介绍机器学习
- 关于科学数据处理的统计学习教程
- 机器学习: scikit-learn 中的设置以及预估对象
- 监督学习:从高维观察预测输出变量
- 模型选择:选择估计量及其参数
- 无监督学习: 寻求数据表示
- 把它们放在一起
- 寻求帮助
- 处理文本数据
- 选择正确的评估器(estimator)
- 外部资源,视频和谈话