未验证 提交 1cc6c821 编写于 作者: 飞龙 提交者: GitHub

Merge pull request #350 from apachecn/0.21.x

用户指南更新至0.21.x
sklearn.apachecn.org
\ No newline at end of file
sklearn.apachecn.org
......@@ -7,13 +7,9 @@
## 参与翻译 & 修正错误
翻译待解决的问题 & 对应的解决思路:
1. 版本未更新(中文版本为:0.19,最新英文版本为0.21): 翻译0.21和0.20版本的更新内容(可以0.21英文与0.19中文对照着看,有差异就改,也可以查询英文仓库的更新记录)
2. 缺少示例的翻译: 用Jupyter notebook跑一遍示例程序,再把介绍和注释翻译成中文,最后生成为md并修复其他文章中对应的链接
3. Jekyll处理Markdown时存在的格式问题: 调整Markdown格式(看见网页上显示异常的,改它!)
4. 链接问题,主要分为三类:
- 指向已翻译文档内的链接: 会正则的大佬可以批量改,改完请用request检查是否有坏链接
- 指向auto_example的链接: 翻译完对应示例以后,修改对应的示例链接
- 指向其它位置的链接:相对链接改为绝对链接,即直接指向英文地址
1. 缺少示例的翻译: 用Jupyter notebook跑一遍示例程序,再把介绍和注释翻译成中文,最后生成为md并修复其他文章中对应的链接
2. 小部分格式和翻译仍然存在问题,需要大家帮忙找到,并提 PullRequest 来修复。
3. 部分翻译的语言可能不够流畅,需要大家帮忙润色,并提 PullRequest 来优化。
贡献方式:
1. 在 github 上 fork 该 repository.
......
+ [安装 scikit-learn](docs/79.md)
+ 用户指南
+ [1\. 监督学习](docs/1.md)
+ [1.1\. 广义线性模型](docs/2.md)
+ [1.2\. 线性和二次判别分析](docs/3.md)
+ [1.3\. 内核岭回归](docs/4.md)
+ [1.4\. 支持向量机](docs/5.md)
+ [1.5\. 随机梯度下降](docs/6.md)
+ [1.6\. 最近邻](docs/7.md)
+ [1.7\. 高斯过程](docs/8.md)
+ [1.8\. 交叉分解](docs/9.md)
+ [1.9\. 朴素贝叶斯](docs/10.md)
+ [1.10\. 决策树](docs/11.md)
+ [1.11\. 集成方法](docs/12.md)
+ [1.12\. 多类和多标签算法](docs/13.md)
+ [1.13\. 特征选择](docs/14.md)
+ [1.14\. 半监督学习](docs/15.md)
+ [1.15\. 等式回归](docs/16.md)
+ [1.16\. 概率校准](docs/17.md)
+ [1.17\. 神经网络模型(有监督)](docs/18.md)
+ [2\. 无监督学习](docs/19.md)
+ [2.1\. 高斯混合模型](docs/20.md)
+ [2.2\. 流形学习](docs/21.md)
+ [2.3\. 聚类](docs/22.md)
+ [2.4\. 双聚类](docs/23.md)
+ [2.5\. 分解成分中的信号(矩阵分解问题)](docs/24.md)
+ [2.6\. 协方差估计](docs/25.md)
+ [2.7\. 经验协方差](docs/26.md)
+ [2.8\. 收敛协方差](docs/27.md)
+ [2.9\. 稀疏逆协方差](docs/28.md)
+ [2.10\. Robust 协方差估计](docs/29.md)
+ [2.11\. 新奇和异常值检测](docs/30.md)
+ [2.12\. 密度估计](docs/31.md)
+ [2.13\. 神经网络模型(无监督)](docs/32.md)
+ [3\. 模型选择和评估](docs/33.md)
+ [3.1\. 交叉验证:评估估算器的表现](docs/34.md)
+ [3.2\. 调整估计器的超参数](docs/35.md)
+ [3.3\. 模型评估: 量化预测的质量](docs/53.md)
+ [3.4\. 模型持久化](docs/54.md)
+ [3.5\. 验证曲线: 绘制分数以评估模型](docs/55.md)
+ [4\. 数据集转换](docs/56.md)
+ [4.1\. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器](docs/57.md)
+ [4.2\. 特征提取](docs/58.md)
+ [4.3\. 预处理数据](docs/59.md)
+ [4.4\. 无监督降维](docs/60.md)
+ [4.5\. 随机投影](docs/61.md)
+ [4.6\. 内核近似](docs/62.md)
+ [4.7\. 成对的矩阵, 类别和核函数](docs/63.md)
+ [4.8\. 预测目标 (`y`.md) 的转换](docs/64.md)
+ [5\. 数据集加载工具](docs/65.md)
+ [6\. 大规模计算的策略: 更大量的数据](docs/66.md)
+ [7\. 计算性能](docs/67.md)
+ [1. 监督学习](docs/1.md)
* [1.1. 广义线性模型](docs/2.md?id=_11-广义线性模型)
* [1.2. 线性和二次判别分析](docs/3.md?id=_12-线性和二次判别分析)
* [1.3. 内核岭回归](docs/4.md?id=_13-内核岭回归)
* [1.4. 支持向量机](docs/5.md?id=_14-支持向量机)
* [1.5. 随机梯度下降](docs/6.md?id=_15-随机梯度下降)
* [1.6. 最近邻](docs/7.md?id=_16-最近邻)
* [1.7. 高斯过程](docs/8.md?id=_17-高斯过程)
* [1.8. 交叉分解](docs/9.md?id=_18-交叉分解)
* [1.9. 朴素贝叶斯](docs/10.md?id=_19-朴素贝叶斯)
* [1.10. 决策树](docs/11.md?id=_110-决策树)
* [1.11. 集成方法](docs/12.md?id=_111-集成方法)
* [1.12. 多类和多标签算法](docs/13.md?id=_112-多类和多标签算法)
* [1.13. 特征选择](docs/14.md?id=_113-特征选择)
* [1.14. 半监督学习](docs/15.md?id=_114-半监督学习)
* [1.15. 等式回归](docs/16.md?id=_115-等式回归)
* [1.16. 概率校准](docs/17.md?id=_116-概率校准)
* [1.17. 神经网络模型(有监督)](docs/18.md?id=_117-神经网络模型(有监督))
+ [2. 无监督学习](docs/19.md)
* [2.1. 高斯混合模型](docs/20.md?id=_21-高斯混合模型)
* [2.2. 流形学习](docs/21.md?id=_22-流形学习)
* [2.3. 聚类](docs/22.md?id=_23-聚类)
* [2.4. 双聚类](docs/23.md?id=_24-双聚类)
* [2.5. 分解成分中的信号(矩阵分解问题)](docs/24.md?id=_25-分解成分中的信号(矩阵分解问题))
* [2.6. 协方差估计](docs/25.md?id=_26-协方差估计)
* [2.7. 新奇和异常值检测](docs/26.md?id=_27-新奇和异常值检测)
* [2.8. 密度估计](docs/27.md?id=_28-密度估计)
* [2.9. 神经网络模型(无监督)](docs/28.md?id=_29-神经网络模型(无监督))
* [3. 模型选择和评估](docs/29.md?id=_3-模型选择和评估)
* [3.1. 交叉验证:评估估算器的表现](docs/30.md?id=_31-交叉验证:评估估算器的表现)
* [3.2. 调整估计器的超参数](docs/31.md?id=_32-调整估计器的超参数)
* [3.3. 模型评估: 量化预测的质量](docs/32.md?id=_33-模型评估--量化预测的质量)
* [3.4. 模型持久化](docs/33.md?id=_34-模型持久化)
* [3.5. 验证曲线: 绘制分数以评估模型](docs/34.md?id=_35-验证曲线--绘制分数以评估模型)
* [4. 检验](docs/35.md?id=_4--检验)
* [4.1. 部分依赖图](docs/36.md?id=_41-部分依赖图)
* [5. 数据集转换](docs/37.md?id=_5-数据集转换)
* [5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器](docs/38.md?id=_51-pipeline(管道)和-featureunion(特征联合)--合并的评估器)
* [5.2. 特征提取](docs/39.md?id=_52-特征提取)
* [5.3 预处理数据](docs/40.md?id=_53-预处理数据)
* [5.4 缺失值插补](docs/41.md?id=_54-缺失值插补)
* [5.5. 无监督降维](docs/42.md?id=_55-无监督降维)
* [5.6. 随机投影](docs/43.md?id=_56-随机投影)
* [5.7. 内核近似](docs/44.md?id=_57-内核近似)
* [5.8. 成对的矩阵, 类别和核函数](docs/45.md?id=_58-成对的矩阵,-类别和核函数)
* [5.9. 预测目标 (`y`) 的转换](docs/46.md?id=_59-预测目标--的转换)
* [6. 数据集加载工具](docs/47.md?id=_6-数据集加载工具)
* [6.1. 通用数据集 API](docs/47.md?id=_61-通用数据集-api)
* [6.2. 玩具数据集](docs/47.md?id=_62-玩具数据集)
* [6.3 真实世界中的数据集](docs/47.md?id=_63-真实世界中的数据集)
* [6.4. 样本生成器](docs/47.md?id=_64-样本生成器)
* [6.5. 加载其他数据集](docs/47.md?id=_65-加载其他数据集)
* [7. 使用scikit-learn计算](docs/48.md?id=_7-使用scikit-learn计算)
* [7.1. 大规模计算的策略: 更大量的数据](docs/48.md?id=_71-大规模计算的策略--更大量的数据)
* [7.2. 计算性能](docs/48.md?id=_72-计算性能)
* [7.3. 并行性、资源管理和配置](docs/48.md?id=_73-并行性、资源管理和配置)
+ 教程
+ [使用 scikit-learn 介绍机器学习](docs/68.md)
+ [关于科学数据处理的统计学习教程](docs/69.md)
......@@ -64,4 +70,4 @@
+ [外部资源,视频和谈话](docs/78.md)
+ [API 参考](https://scikit-learn.org/stable/modules/classes.html)
+ [常见问题](docs/80.md)
+ [时光轴](docs/81.md)
\ No newline at end of file
+ [时光轴](docs/81.md)
# 线性回归
>翻译者:[@Loopy](https://github.com/loopyme)
>校验者:未完成校验
本例仅使用糖尿病数据集的第一个特征,来展示线性回归在二维数据上的表现。线性回归确定一个界限(即图中直线),目标是使得数据集中的实际值与线性回归预测值之间的残差平方和最小。
计算了系数、残差平方和和方差分数。
```python
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score,explained_variance_score
```
```python
# 加载数据集
diabetes = datasets.load_diabetes()
```
```python
# 只使用1个特征
diabetes_X = diabetes.data[:, np.newaxis, 2]
```
```python
# 划分训练,测试集
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]
```
```python
# 创建线性回归模型
regr = linear_model.LinearRegression()
# 训练这个模型
regr.fit(diabetes_X_train, diabetes_y_train)
# 使用模型做预测
diabetes_y_pred = regr.predict(diabetes_X_test)
```
```python
# 评价预测结果
print('回归系数(coef_):', regr.coef_)
print("均方残差(MSE): %.2f"% mean_squared_error(diabetes_y_test, diabetes_y_pred))
print('解释方差得分(r2_score): %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))
```
回归系数(coef_): [938.23786125]
均方残差(MSE): 2548.07
解释方差得分(r2_score): 0.47
```python
# 绘制输出
plt.scatter(diabetes_X_test, diabetes_y_test, color='black')
plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)
plt.xticks(())
plt.yticks(())
plt.show()
```
![png](data:image/png;base64,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)
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
# 1.15\. 等式回归
# 1.15. 等式回归
校验者:
        [@STAN,废柴0.1](https://github.com/apachecn/scikit-learn-doc-zh)
翻译者:
        [@Damon](https://github.com/apachecn/scikit-learn-doc-zh)
[`IsotonicRegression`](generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression "sklearn.isotonic.IsotonicRegression") 类对数据进行非降函数拟合. 它解决了如下的问题:
[`IsotonicRegression`](https://scikit-learn.org/stable/modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression "sklearn.isotonic.IsotonicRegression") 类对数据进行非降函数拟合. 它解决了如下的问题:
> 最小化 ![\sum_i w_i (y_i - \hat{y}_i)^2](img/156554c81cfe5f0230627ac0487fd07f.jpg)
>
> 服从于 ![\hat{y}_{min} = \hat{y}_1 \le \hat{y}_2 ... \le \hat{y}_n = \hat{y}_{max}](img/6c446734a6837b7541db12e2b55f1a2b.jpg)
* 最小化 ![\sum_i w_i (y_i - \hat{y}_i)^2](img/156554c81cfe5f0230627ac0487fd07f.jpg)
* 服从于 ![\hat{y}_{min} = \hat{y}_1 \le \hat{y}_2 ... \le \hat{y}_n = \hat{y}_{max}](img/6c446734a6837b7541db12e2b55f1a2b.jpg)
其中每一个 ![w_i](img/6689aa593e8e42bb5c2caa474e642b5f.jpg) 是 strictly 正数而且每个 ![y_i](img/4a22ca544916918b2358e5fc7c71b8e6.jpg) 是任意实 数. 它生成一个由平方误差接近的不减元素组成的向量.实际上这一些元素形成 一个分段线性的函数.
[![http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_isotonic_regression_0011.png](img/87ae31ef4f2e7b4385b9a25aa8fed533.jpg)](../auto_examples/plot_isotonic_regression.html)
\ No newline at end of file
[![http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_isotonic_regression_0011.png](img/87ae31ef4f2e7b4385b9a25aa8fed533.jpg)](https://scikit-learn.org/stable/auto_examples/plot_isotonic_regression.html)
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
# 3.4\. 模型持久化
校验者:
        [@why2lyj(Snow Wang)](https://github.com/why2lyj)
        [@小瑶](https://github.com/apachecn/scikit-learn-doc-zh)
翻译者:
        [@那伊抹微笑](https://github.com/apachecn/scikit-learn-doc-zh)
在训练完 scikit-learn 模型之后,最好有一种方法来将模型持久化以备将来使用,而无需重新训练。 以下部分为您提供了有关如何使用 pickle 来持久化模型的示例。 在使用 pickle 序列化时,我们还将回顾一些安全性和可维护性方面的问题。
## 3.4.1\. 持久化示例
可以通过使用 Python 的内置持久化模型将训练好的模型保存在 scikit 中,它名为 [pickle](https://docs.python.org/2/library/pickle.html):
```py
>>> from sklearn import svm
>>> from sklearn import datasets
>>> clf = svm.SVC()
>>> iris = datasets.load_iris()
>>> X, y = iris.data, iris.target
>>> clf.fit(X, y)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.predict(X[0:1])
array([0])
>>> y[0]
0
```
在这个 scikit 的特殊示例中,使用 joblib 来替换 pickle(`joblib.dump` & `joblib.load`)可能会更有意思,这对于内部带有 numpy 数组的对象来说更为高效, 通常情况下适合 scikit-learn estimators(预估器),但是也只能是 pickle 到硬盘而不是字符串:
```py
>>> from sklearn.externals import joblib
>>> joblib.dump(clf, 'filename.pkl')
```
之后你可以使用以下方式回调 pickled model 可能在另一个 Python 进程中):
```py
>>> clf = joblib.load('filename.pkl')
```
Note
`joblib.dump``joblib.load` 函数也接收类似 file-like 的对象而不是文件名。 更多有关使用 Joblib 来持久化数据的信息可以参阅 [这里](https://pythonhosted.org/joblib/persistence.html).
## 3.4.2\. 安全性和可维护性的局限性
pickle(和通过扩展的 joblib),在安全性和可维护性方面存在一些问题。 有以下原因,
* 绝对不要使用未经 pickle 的不受信任的数据,因为它可能会在加载时执行恶意代码。
* 虽然一个版本的 scikit-learn 模型可以在其他版本中加载,但这完全不建议并且也是不可取的。 还应该了解到,对于这些数据执行的操作可能会产生不同及意想不到的结果。
为了用以后版本的 scikit-learn 来重构类似的模型, 额外的元数据应该随着 pickled model 一起被保存:
* 训练数据,例如:引用不可变的快照
* 用于生成模型的 python 源代码
* scikit-learn 的各版本以及各版本对应的依赖包
* 在训练数据的基础上获得的交叉验证得分
这样可以检查交叉验证得分是否与以前相同。
由于模型内部表示可能在两种不同架构上不一样,因此不支持在一个架构上转储模型并将其加载到另一个体系架构上。
如果您想要了解更多关于这些问题以及其它可能的序列化方法,请参阅这个 [Alex Gaynor 的演讲](http://pyvideo.org/video/2566/pickles-are-for-delis-not-software).
\ No newline at end of file
# 5. 数据集转换
scikit-learn 提供了一个用于转换数据集的库, 它也许会 clean(清理)(请参阅 [预处理数据](docs/40.md?id=_53-预处理数据)), reduce(减少)(请参阅 [无监督降维](docs/42.md?id=_55-无监督降维)), expand(扩展)(请参阅 [内核近似](docs/44.md?id=_57-内核近似))或 generate(生成)(请参阅 [特征提取](docs/39.md?id=_52-特征提取)) feature representations(特征表示).
像其它预估计一样, 它们由具有 `fit` 方法的类来表示, 该方法从训练集学习模型参数(例如, 归一化的平均值和标准偏差)以及将该转换模型应用于 `transform` 方法到不可见数据. 同时 `fit_transform` 可以更方便和有效地建模与转换训练数据.
[Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器](docs/38.md?id=_51-pipeline(管道)和-featureunion(特征联合)--合并的评估器) 中 transformers(转换)使用并行的或者串联的方式合并到一起. [成对的矩阵, 类别和核函数](docs/45.md?id=_58-成对的矩阵,-类别和核函数) 涵盖将特征空间转换为 affinity matrices(亲和矩阵), 而 [预测目标 (y) 的转换](docs/46.md?id=_59-预测目标--的转换) 考虑在 scikit-learn 中使用目标空间的转换(例如. 标签分类).
* [5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器](docs/38.md?id=_51-pipeline(管道)和-featureunion(特征联合)--合并的评估器)
* [5.1.1. Pipeline: 链式评估器](docs/38.md?id=_511-pipeline--链式评估器)
* [5.1.2. 回归中的目标转换](docs/38.md?id=_512-回归中的目标转换)
* [5.1.3. FeatureUnion(特征联合): 复合特征空间](docs/38.md?id=_513-featureunion(特征联合)--复合特征空间)
* [5.1.4. 用于异构数据的列转换器](docs/38.md?id=_514-用于异构数据的列转换器)
* [5.2. 特征提取](docs/39.md?id=_52-特征提取)
* [5.2.1. 从字典类型加载特征](docs/39.md?id=_521-从字典类型加载特征)
* [5.2.2. 特征哈希(相当于一种降维技巧)](docs/39.md?id=_522-特征哈希(相当于一种降维技巧))
* [5.2.3. 文本特征提取](docs/39.md?id=_523-文本特征提取)
* [5.2.4. 图像特征提取](docs/39.md?id=_524-图像特征提取)
* [5.3 预处理数据](docs/40.md?id=_53-预处理数据)
* [5.3.1 标准化,也称去均值和方差按比例缩放](docs/40.md?id=_531-标准化,也称去均值和方差按比例缩放)
* [5.3.2 非线性转换](docs/40.md?id=_532-非线性转换)
* [5.3.3 归一化](docs/40.md?id=_533-归一化)
* [5.3.4 类别特征编码](docs/40.md?id=_534-类别特征编码)
* [5.3.6 缺失值补全](docs/40.md?id=_536-缺失值补全)
* [5.3.7 生成多项式特征](docs/40.md?id=_537-生成多项式特征)
* [5.3.8 自定义转换器](docs/40.md?id=_538-自定义转换器)
* [5.4 缺失值插补](docs/41.md?id=_54-缺失值插补)
* [5.4.1 单变量与多变量插补](docs/41.md?id=_541-单变量与多变量插补)
* [5.4.2 单变量插补](docs/41.md?id=_542-单变量插补)
* [5.4.3 多变量插补](docs/41.md?id=_543-多变量插补)
* [5.4.4 参考](docs/41.md?id=_544-参考)
* [5.4.5 标记缺失值](docs/41.md?id=_545-标记缺失值)
* [5.5. 无监督降维](docs/42.md?id=_55-无监督降维)
* [5.5.1. PCA: 主成份分析](docs/42.md?id=_551-pca--主成份分析)
* [5.5.2. 随机投影](docs/42.md?id=_552-随机投影)
* [5.5.3. 特征聚集](docs/42.md?id=_553-特征聚集)
* [5.6. 随机投影](docs/43.md?id=_56-随机投影)
* [5.6.1. Johnson-Lindenstrauss 辅助定理](docs/43.md?id=_561-johnson-lindenstrauss-辅助定理)
* [5.6.2. 高斯随机投影](docs/43.md?id=_562-高斯随机投影)
* [5.6.3. 稀疏随机矩阵](docs/43.md?id=_563-稀疏随机矩阵)
* [5.7. 内核近似](docs/44.md?id=_57-内核近似)
* [5.7.1. 内核近似的 Nystroem 方法](docs/44.md?id=_571-内核近似的-nystroem-方法)
* [5.7.2. 径向基函数内核](docs/44.md?id=_572-径向基函数内核)
* [5.7.3. 加性卡方核](docs/44.md?id=_573-加性卡方核)
* [5.7.4. Skewed Chi Squared Kernel (偏斜卡方核?暂译)](docs/44.md?id=_574-skewed-chi-squared-kernel-)
* [5.7.5. 数学方面的细节](docs/44.md?id=_575-数学方面的细节)
* [5.8. 成对的矩阵, 类别和核函数](docs/45.md?id=_58-成对的矩阵,-类别和核函数)
* [5.8.1. 余弦相似度](docs/45.md?id=_581-余弦相似度)
* [5.8.2. 线性核函数](docs/45.md?id=_582-线性核函数)
* [5.8.3. 多项式核函数](docs/45.md?id=_583-多项式核函数)
* [5.8.4. Sigmoid 核函数](docs/45.md?id=_584-sigmoid-核函数)
* [5.8.5. RBF 核函数](docs/45.md?id=_585-rbf-核函数)
* [5.8.6. 拉普拉斯核函数](docs/45.md?id=_586-拉普拉斯核函数)
* [5.8.7. 卡方核函数](docs/45.md?id=_587-卡方核函数)
* [5.9. 预测目标 (`y`) 的转换](docs/46.md?id=_59-预测目标--的转换)
* [5.9.1. 标签二值化](docs/46.md?id=_591-标签二值化)
* [5.9.2. 标签编码](docs/46.md?id=_592-标签编码)
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
# 4.4\. 无监督降维
校验者:
        [@程威](https://github.com/apachecn/scikit-learn-doc-zh)
翻译者:
        [@十四号](https://github.com/apachecn/scikit-learn-doc-zh)
如果你的特征数量很多, 在监督步骤之前, 可以通过无监督的步骤来减少特征. 很多的 [无监督学习](../unsupervised_learning.html#unsupervised-learning) 方法实现了一个名为 `transform` 的方法, 它可以用来降低维度. 下面我们将讨论大量使用这种模式的两个具体示例.
## 4.4.1\. PCA: 主成份分析
[`decomposition.PCA`](generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA "sklearn.decomposition.PCA") 寻找能够捕捉原始特征的差异的特征的组合. 请参阅 [分解成分中的信号(矩阵分解问题)](decomposition.html#decompositions).
**示例**
* <colgroup><col class="field-name"> <col class="field-body"></colgroup>
| ref: | ‘sphx_glr_auto_examples_applications_plot_face_recognition.py’ |
| --- | --- |
## 4.4.2\. 随机投影
模块: `random_projection` 提供了几种用于通过随机投影减少数据的工具. 请参阅文档的相关部分: [随机投影](random_projection.html#random-projection).
**示例**
* [The Johnson-Lindenstrauss bound for embedding with random projections](../auto_examples/plot_johnson_lindenstrauss_bound.html#sphx-glr-auto-examples-plot-johnson-lindenstrauss-bound-py)
## 4.4.3\. 特征聚集
[`cluster.FeatureAgglomeration`](generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration "sklearn.cluster.FeatureAgglomeration") 应用 [层次聚类](clustering.html#hierarchical-clustering) 将行为类似的特征分组在一起.
**示例**
* [Feature agglomeration vs. univariate selection](../auto_examples/cluster/plot_feature_agglomeration_vs_univariate_selection.html#sphx-glr-auto-examples-cluster-plot-feature-agglomeration-vs-univariate-selection-py)
* [Feature agglomeration](../auto_examples/cluster/plot_digits_agglomeration.html#sphx-glr-auto-examples-cluster-plot-digits-agglomeration-py)
**特征缩放**
请注意,如果功能具有明显不同的缩放或统计属性,则 [`cluster.FeatureAgglomeration`](generated/sklearn.cluster.FeatureAgglomeration.html#sklearn.cluster.FeatureAgglomeration "sklearn.cluster.FeatureAgglomeration") 可能无法捕获相关特征之间的关系.使用一个 [`preprocessing.StandardScaler`](generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler "sklearn.preprocessing.StandardScaler") 可以在这些 设置中使用.
\ No newline at end of file
此差异已折叠。
此差异已折叠。
......@@ -37,7 +37,7 @@
## 加载示例数据集
<cite>scikit-learn</cite> 提供了一些标准数据集,例如 用于分类的 [iris](https://en.wikipedia.org/wiki/Iris_flower_data_set)[digits](http://archive.ics.uci.edu/ml/datasets/Pen-Based+Recognition+of+Handwritten+Digits) 数据集 和 [波士顿房价回归数据集](http://archive.ics.uci.edu/ml/datasets/Housing) .
*scikit-learn* 提供了一些标准数据集,例如 用于分类的 [iris](https://en.wikipedia.org/wiki/Iris_flower_data_set)[digits](http://archive.ics.uci.edu/ml/datasets/Pen-Based+Recognition+of+Handwritten+Digits) 数据集 和 [波士顿房价回归数据集](http://archive.ics.uci.edu/ml/datasets/Housing) .
在下文中,我们从我们的 shell 启动一个 Python 解释器,然后加载 `iris``digits` 数据集。我们的符号约定是 `$` 表示 shell 提示符,而 `>>>` 表示 Python 解释器提示符:
......@@ -55,13 +55,13 @@ $ python
```py
>>> print(digits.data)
[[ 0\. 0\. 5\. ..., 0\. 0\. 0.]
[ 0\. 0\. 0\. ..., 10\. 0\. 0.]
[ 0\. 0\. 0\. ..., 16\. 9\. 0.]
[[ 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.]]
[ 0. 0. 1. ..., 6. 0. 0.]
[ 0. 0. 2. ..., 12. 0. 0.]
[ 0. 0. 10. ..., 12. 1. 0.]]
```
......
此差异已折叠。
此差异已折叠。
......@@ -84,7 +84,7 @@ array([ 0.93489149, 0.95659432, 0.93989983])
```
<cite>n_jobs=-1</cite> 意味着运算会被调度到所有 CPU 上进行。
*n_jobs=-1* 意味着运算会被调度到所有 CPU 上进行。
或者,可以提供 `scoring` 参数来指定替换的评分方法。
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册