tp官网安装|sklearn中文社区

作者: tp官网安装
2024-03-09 22:23:07

scikit-learn中文社区

scikit-learn中文社区

安装

用户指南

API

案例

更多

入门

教程

更新日志

词汇表

常见问题

交流群

scikit-learn

Machine Learning in Python

入门

0.23版本的发布要点

GitHub

交流微信群二维码

简单有效的工具进行预测数据分析

每个人都可以访问,并且可以在各种情况下重用

基于NumPy,SciPy和matplotlib构建

开源,可商业使用-BSD许可证

分类

标识对象所属的类别。

应用范围: 垃圾邮件检测,图像识别。

算法:

SVM

最近邻

随机森林

更多...

Examples

回归

预测与对象关联的连续值属性。

应用范围: 药物反应,股票价格。

算法:

SVR

最近邻

随机森林

更多...

Examples

聚类

自动将相似对象归为一组。

应用: 客户细分,分组实验成果。

算法:

K-均值

谱聚类

MeanShift

更多...

Examples

降维

减少要考虑的随机变量的数量。

应用: 可视化,提高效率。

算法:

K-均值

特征选择

非负矩阵分解

更多...

Examples

模型选择

比较,验证和选择参数和模型。

应用: 通过参数调整改进精度。

算法:

网格搜索

交叉验证

指标

更多...

Examples

预处理

特征提取和归一化。

应用程序: 转换输入数据,例如文本,以供机器学习算法使用。

算法:

预处理

特征提取

更多...

Examples

新闻

正在开发中的版本:

更新日志 (Changelog)

2020年8月. scikit-learn 0.23.2 可供下载 (更新日志).

2020年5月. scikit-learn 0.23.1 可供下载 (更新日志).

2020年5月. scikit-learn 0.23.0 可供下载 (更新日志).

Scikit-learn from 0.23 要求 Python 3.6 或更高版本.

2020年3月. scikit-learn 0.22.2 可供下载 (更新日志).

2020年1月. scikit-learn 0.22.1 可供下载 (更新日志).

2019年12月. scikit-learn 0.22 可供下载 (更新日志 and 发布亮点).

Scikit-learn from 0.21 要求 Python 3.5 或更高版本.

2019年7月. scikit-learn 0.21.3 (Changelog) and 0.20.4 (更新日志) 可供下载.

2019年5月. scikit-learn 0.21.0 to 0.21.2 可供下载 (更新日志).

关于

关于我们: CDA数据科学研究院

赞助支持: CDA考试认证中心

客服电话: +86 4000-51-9191

邮箱: service@cda.cn

关注我们

"Scikit-learn 中文文档由CDA数据科学研究院翻译,扫码关注获取更多信息。"

Copyright © 2015-2020, CDA数据科学研究院 版权所有 京ICP备11001960号-13

1.13 特征选择-scikit-learn中文社区

1.13 特征选择-scikit-learn中文社区

安装

用户指南

API

案例

更多

入门

教程

更新日志

词汇表

常见问题

交流群

Toggle Menu

Prev

Up

Next

CDA数据科学研究院 提供翻译支持

1.13 特征选择

1.13.1 移除低方差特征

1.13.2 单变量特征选择

1.13.3 递归特征消除

1.13.4 基于SelectFromModel的特征选择

1.13.5 特征选择作为pipeline一部分

1.13 特征选择¶

sklearn.feature_selection中的类可以用于样本集的特征选择/降维,既可以提高估计器的精度得分,也可以提高它们在非常高维数据集上的性能。

1.13.1 移除低方差特征

方差阈值VarianceThreshold 是特征选择的一种简单的基本方法。它删除了所有方差不满足某些阈值的特征。默认情况下,它删除所有零方差特征,即在所有样本中具有相同值的特征。

例如,假设我们有一个具有布尔特征的数据集,并且我们想要移除那些在整个数据集中特征值为0或者为1的比例超过80%的特征。布尔特征是伯努利(Bernoulli)随机变量,并给出了这些变量的方差:

因此,我们可以使用阈值.8 * ( 1 - .8)进行选择:

>>> from sklearn.feature_selection import VarianceThreshold>>> X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]>>> sel = VarianceThreshold(threshold=(.8 * (1 - .8)))>>> sel.fit_transform(X)array([[0, 1],       [1, 0],       [0, 0],       [1, 1],       [1, 0],       [1, 1]])

正如预期的那样,VarianceThreshold删除了第一列,该列包含一个0的概率是 。

1.13.2 单变量特征选择

单变量特征选择是通过基于单变量统计检验来选择最优特征实现的。它可以看作是对估计器的预处理步骤。Scikit-learn将特征选择的程序作为实现了transform方法的对象:

SelectKBest 移除那些除了评分最高的 K 个特征之外的所有特征SelectPercentile 移除除了用户指定的最高得分百分比之外的所有特征对每个特征使用通用的单变量统计检验:假正率 SelectFpr, 伪发现率SelectFdr, 或者族系误差SelectFwe。GenericUnivariateSelect允许使用可配置策略执行单变量特征选择。它允许使用超参数搜索估计器来选择最佳的单变量选择策略。

例如,我们可以对样本执行检验,只检索两个最好的特征,如下所示:

>>> from sklearn.datasets import load_iris>>> from sklearn.feature_selection import SelectKBest>>> from sklearn.feature_selection import chi2>>> X, y = load_iris(return_X_y=True)>>> X.shape(150, 4)>>> X_new = SelectKBest(chi2, k=2).fit_transform(X, y)>>> X_new.shape(150, 2)

这些对象以一个得分函数作为输入,该函数返回单变量分数和p值(或仅用于 SelectKBest 和SelectPercentile):

对于回归: f_regression, mutual_info_regression对于分类: chi2, f_classif, mutual_info_classif

基于F检验的方法估计了两个随机变量之间的线性依赖程度。另一方面,互换信息方法(mutual information methods )可以捕获任何类型的统计相关性,但由于非参数性,它们需要更多的样本来精确估计。

稀疏数据的特征选择

如果您使用稀疏数据(即数据被表示为稀疏矩阵),则 chi2, mutual_info_regression, mutual_info_classif 将处理这些数据,而不会使其稠密。

警告:不要使用一个回归评分函数来处理分类问题,你会得到无用的结果。

示例

单变量特征选择F检验与互信息比较

1.13.3 递归特征消除

给定一个外部的估计器,可以对特征赋予一定的权重(比如,线性模型的相关系数),递归特征消除(RFE)通过考虑越来越小的特征集来递归的选择特征。 首先,估计器在初始的特征集合上训练并且通过 coef_属性或者feature_importances_获取每一个特征的重要性。 然后,从当前的特征集合中移除最不重要的特征。在特征集合上不断的重复递归这个步骤,直到最终达到所需要的特征数量为止。

RFECV在一个交叉验证的循环中执行 RFE 来找到最优的特征数量。

示例

递归特征消除: 数字分类任务中像素相关性的递归特征消除实例.带交叉验证的递归特征消除:一个自动调整交叉验证特征数的递归特征消除示例.

1.13.4 基于SelectFromModel的特征选择

SelectFromModel是一个元转换器(meta-transformer),它可以与任何具有 coef_属性或feature_importances_属性的估值器一起使用。如果相应的coef_或 feature_importances_低于所提供的阈值参数,则这些特征被视为不重要并被删除。除了指定在数值上的阈值外,还可以通过给定字符串参数来使用内置的启发式方法找到一个合适的阈值。可用的启发式方法是“mean”, “median” 和浮点倍数,如 “0.1*mean”。结合阈值标准,可以使用max_features参数来设置要选择的特征数量的限制。

关于如何使用它的例子,请参阅下面的章节。

示例

使用SelectFromModel和LassoCV进行特征选择: 从 Boston 数据中自动选择最重要两个特征而不需要提前得知这一信息。

1.13.4.1 基于L1的特征选择

用L1范数惩罚的线性模型具有稀疏解:它们的许多估计系数为零。当目标是降低数据的维数以便与另一个分类器一起使用时,它们可以与feature_selection.SelectFromModel一起使用来选择非零系数。具体而言,可用于此目的的稀疏估计器对回归而言是linear_model.Lasso, 以及用于分类的linear_model.LogisticRegression 和svm.LinearSVC。

>>> from sklearn.svm import LinearSVC>>> from sklearn.datasets import load_iris>>> from sklearn.feature_selection import SelectFromModel>>> X, y = load_iris(return_X_y=True)>>> X.shape(150, 4)>>> lsvc = LinearSVC(C=0.01, penalty="l1", dual=False).fit(X, y)>>> model = SelectFromModel(lsvc, prefit=True)>>> X_new = model.transform(X)>>> X_new.shape(150, 3)

利用SVM和Logistic回归,参数C控制稀疏性:C越小,选择的特征越少。对于Lasso,alpha参数越高,所选择的特征就越少。

示例

基于稀疏特征的文本文档分类: 基于L1特征选择的文档分类算法比较.

L1-recovery和压缩感知

当选择了正确的 alpha 值以后, Lasso 可以仅通过少量观察点便恢复完整的非零特征, 假设特定的条件可以被满足的话。特别的,数据量需要 “足够大” ,不然 L1 模型的表现将随机。 “足够大” 的定义取决于非零系数的个数、特征数量的对数值、噪音的数量、非零系数的最小绝对值、 以及设计矩阵(design maxtrix) X 的结构。此外, 特征矩阵必须表现出特定的性质,如数据不能太相关。

对于非零系数的恢复, 如何选择 alpha 值没有通用的规则。alpha 值可以通过交叉验证来确定( LassoCV 或者 LassoLarsCV ),尽管这可能会导致欠惩罚(under-penalized)的模型:包括少量的无关变量对于预测值来说并非致命的。相反的, BIC( LassoLarsIC )倾向于给定高的 alpha 值。

参考文献 Richard G. Baraniuk “Compressive Sensing”, IEEE Signal Processing Magazine [120] July 2007 http://dsp.rice.edu/sites/dsp.rice.edu/files/cs/baraniukCSlecture07.pdf

1.13.4.2 基于树的特征选择

基于树的估计器(参看 sklearn.tree 模块和在 sklearn.ensemble 模块中的树的森林) 可以用来计算基于不存度的特征重要性,然后可以消除不相关的特征(当与 sklearn.feature_selection.SelectFromModel 等元转换器一同使用时):

>>> from sklearn.ensemble import ExtraTreesClassifier>>> from sklearn.datasets import load_iris>>> from sklearn.feature_selection import SelectFromModel>>> X, y = load_iris(return_X_y=True)>>> X.shape(150, 4)>>> clf = ExtraTreesClassifier(n_estimators=50)>>> clf = clf.fit(X, y)>>> clf.feature_importances_  array([ 0.04...,  0.05...,  0.4...,  0.4...])>>> model = SelectFromModel(clf, prefit=True)>>> X_new = model.transform(X)>>> X_new.shape               (150, 2)

示例

树森林的特征重要性: 在合成数据上恢复有用特征的示例。基于平行树的森林的像素重要性: 在人脸识别数据上的示例。

1.13.5 特征选择作为pipeline一部分

特征选择通常在实际的学习之前用来做预处理。在 scikit-learn 中推荐的方式是使用 :sklearn.pipeline.Pipeline:

clf = Pipeline([  ('feature_selection', SelectFromModel(LinearSVC(penalty="l1"))),  ('classification', RandomForestClassifier())])clf.fit(X, y)

在这段代码中,我们利用 sklearn.svm.LinearSVC 和 sklearn.feature_selection.SelectFromModel 来评估特征的重要性并且选择出最相关的特征。 然后,在转化后的输出中使用一个 sklearn.ensemble.RandomForestClassifier 分类器,比如只使用相关的特征。你也可以使用其他特征选择的方法和可以提供评估特征重要性的分类器来执行相似的操作。 请查阅 sklearn.pipeline.Pipeline 来了解更多的实例。

© 2007 - 2020, scikit-learn developers (BSD License).

sklearn

sklearn

sklearn

sklearn 中文文档

目录

作者

整理

校招巴士

安装 scikit-learn

1. 监督学习

1.0 监督学习

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.0 无监督学习

2.1. 高斯混合模型

2.2. 流形学习

2.3. 聚类

2.4. 双聚类

2.5. 分解成分中的信号(矩阵分解问题)

2.6. 协方差估计

2.7. 新奇和异常值检测

2.8. 密度估计

2.9. 神经网络模型(无监督)

3. 模型选择和评估

3.0 模型选择和评估

3.1. 交叉验证:评估估算器的表现

3.2. 调整估计器的超参数

3.3. 模型评估: 量化预测的质量

3.4. 模型持久化

3.5. 验证曲线: 绘制分数以评估模型

4. 检验

4.0 检验

4.1. 部分依赖图

5. 数据集转换

5.0 数据集转换

5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器

5.2. 特征提取

5.3 预处理数据

5.4 缺失值插补

5.5. 无监督降维

5.6. 随机投影

5.7. 内核近似

5.8. 成对的矩阵, 类别和核函数

5.9. 预测目标

6. 数据集加载工具

6.0 数据集加载工具

6.1. 通用数据集 API

6.2. 玩具数据集

6.3 真实世界中的数据集

6.4. 样本生成器

6.5. 加载其他数据集

7. 使用scikit-learn计算

7.0 使用scikit-learn计算

7.1. 大规模计算的策略: 更大量的数据

7.2. 计算性能

7.3. 并行性、资源管理和配置

教程

使用 scikit-learn 介绍机器学习

关于科学数据处理的统计学习教程

关于科学数据处理的统计学习教程

机器学习: scikit-learn 中的设置以及预估对象

监督学习:从高维观察预测输出变量

模型选择:选择估计量及其参数

无监督学习: 寻求数据表示

把它们放在一起

寻求帮助

处理文本数据

选择正确的评估器(estimator.md

外部资源,视频和谈话

API 参考

常见问题

时光轴

sklearn

Docs »

sklearn 中文文档

sklearn 简介

scikit-learn 是基于 Python 语言的机器学习工具

简单高效的数据挖掘和数据分析工具

可供大家在各种环境中重复使用

建立在 NumPy ,SciPy 和 matplotlib 上

开源,可商业使用 - BSD许可证

点击下载OpenCV最新中文官方文档pdf版

目录

安装 scikit-learn

用户指南

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. 神经网络模型(无监督)

3. 模型选择和评估

3.1. 交叉验证:评估估算器的表现

3.2. 调整估计器的超参数

3.3. 模型评估: 量化预测的质量

3.4. 模型持久化

3.5. 验证曲线: 绘制分数以评估模型

4. 检验

4.1. 部分依赖图

5. 数据集转换

5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器

5.2. 特征提取

5.3 预处理数据

5.4 缺失值插补

5.5. 无监督降维

5.6. 随机投影

5.7. 内核近似

5.8. 成对的矩阵, 类别和核函数

5.9. 预测目标 (y) 的转换

6. 数据集加载工具

6.1. 通用数据集 API

6.2. 玩具数据集

6.3 真实世界中的数据集

6.4. 样本生成器

6.5. 加载其他数据集

7. 使用scikit-learn计算

7.1. 大规模计算的策略: 更大量的数据

7.2. 计算性能

7.3. 并行性、资源管理和配置

教程

使用 scikit-learn 介绍机器学习

关于科学数据处理的统计学习教程

机器学习: scikit-learn 中的设置以及预估对象

监督学习:从高维观察预测输出变量

模型选择:选择估计量及其参数

无监督学习: 寻求数据表示

把它们放在一起

寻求帮助

处理文本数据

选择正确的评估器(estimator/)

外部资源,视频和谈话

API 参考

常见问题

时光轴

作者

sklearn-doc-zh:https://github.com/apachecn/sklearn-doc-zh

整理

http://scikitlearn.com.cn/

校招巴士

校招巴士

校招巴士网站一个专注于大学生校招求职的平台!旨在分享互联网大厂内推、校招资讯、面经笔经、职场干货、简历技巧等,助力百万大学生校招求职!

Next

sklearn PythonOK 协议:CC BY-NC-SA 4.0

Built with MkDocs using a theme provided by Read the Docs.

Next »

now loading...

scikit-learn (sklearn) 官方文档中文版 - sklearn

scikit-learn (sklearn) 官方文档中文版 - sklearn

sklearn

sklearn 中文文档

安装 scikit-learn

1. 监督学习

1.0 监督学习

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.0 无监督学习

2.1. 高斯混合模型

2.2. 流形学习

2.3. 聚类

2.4. 双聚类

2.5. 分解成分中的信号(矩阵分解问题)

2.6. 协方差估计

2.7. 新奇和异常值检测

2.8. 密度估计

2.9. 神经网络模型(无监督)

3. 模型选择和评估

3.0 模型选择和评估

3.1. 交叉验证:评估估算器的表现

3.2. 调整估计器的超参数

3.3. 模型评估: 量化预测的质量

3.4. 模型持久化

3.5. 验证曲线: 绘制分数以评估模型

4. 检验

4.0 检验

4.1. 部分依赖图

5. 数据集转换

5.0 数据集转换

5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器

5.2. 特征提取

5.3 预处理数据

5.4 缺失值插补

5.5. 无监督降维

5.6. 随机投影

5.7. 内核近似

5.8. 成对的矩阵, 类别和核函数

5.9. 预测目标

6. 数据集加载工具

6.0 数据集加载工具

6.1. 通用数据集 API

6.2. 玩具数据集

6.3 真实世界中的数据集

6.4. 样本生成器

6.5. 加载其他数据集

7. 使用scikit-learn计算

7.0 使用scikit-learn计算

7.1. 大规模计算的策略: 更大量的数据

7.2. 计算性能

7.3. 并行性、资源管理和配置

教程

使用 scikit-learn 介绍机器学习

关于科学数据处理的统计学习教程

关于科学数据处理的统计学习教程

机器学习: scikit-learn 中的设置以及预估对象

监督学习:从高维观察预测输出变量

模型选择:选择估计量及其参数

无监督学习: 寻求数据表示

把它们放在一起

寻求帮助

处理文本数据

选择正确的评估器(estimator.md

外部资源,视频和谈话

API 参考

常见问题

时光轴

sklearn

Docs »

scikit-learn (sklearn) 官方文档中文版

scikit-learn (sklearn) 官方文档中文版

scikit-learn 是基于 Python 语言的机器学习工具

简单高效的数据挖掘和数据分析工具

可供大家在各种环境中重复使用

建立在 NumPy ,SciPy 和 matplotlib 上

开源,可商业使用 - BSD许可证

维护地址

Github

在线阅读

EPUB 格式

目录

安装 scikit-learn

用户指南

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. 神经网络模型(无监督)

3. 模型选择和评估

3.1. 交叉验证:评估估算器的表现

3.2. 调整估计器的超参数

3.3. 模型评估: 量化预测的质量

3.4. 模型持久化

3.5. 验证曲线: 绘制分数以评估模型

4. 检验

4.1. 部分依赖图

5. 数据集转换

5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器

5.2. 特征提取

5.3 预处理数据

5.4 缺失值插补

5.5. 无监督降维

5.6. 随机投影

5.7. 内核近似

5.8. 成对的矩阵, 类别和核函数

5.9. 预测目标 (y) 的转换

6. 数据集加载工具

6.1. 通用数据集 API

6.2. 玩具数据集

6.3 真实世界中的数据集

6.4. 样本生成器

6.5. 加载其他数据集

7. 使用scikit-learn计算

7.1. 大规模计算的策略: 更大量的数据

7.2. 计算性能

7.3. 并行性、资源管理和配置

教程

使用 scikit-learn 介绍机器学习

关于科学数据处理的统计学习教程

机器学习: scikit-learn 中的设置以及预估对象

监督学习:从高维观察预测输出变量

模型选择:选择估计量及其参数

无监督学习: 寻求数据表示

把它们放在一起

寻求帮助

处理文本数据

选择正确的评估器(estimator.md)

外部资源,视频和谈话

API 参考

常见问题

时光轴

贡献指南

项目当前处于校对阶段,请查看贡献指南,并在整体进度中领取任务。

请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)

项目负责人

格式: GitHub + QQ

@mahaoyang:992635910

@loopyme:3322728009

飞龙:562826179

片刻:529815144

-- 负责人要求: (欢迎一起为 sklearn 中文版本 做贡献)

热爱开源,喜欢装逼

长期使用 sklearn(至少0.5年) + 提交Pull Requests>=3

能够有时间及时优化页面 bug 和用户 issues

试用期: 2个月

欢迎联系: 片刻 529815144

项目协议

以各项目协议为准。

ApacheCN 账号下没有协议的项目,一律视为 CC BY-NC-SA 4.0。

建议反馈

在我们的 apachecn/pytorch-doc-zh github 上提 issue.

发邮件到 Email: apachecn@163.com.

在我们的 QQ群-搜索: 交流方式 中联系群主/管理员即可.

赞助我们

sklearn PythonOK 协议:CC BY-NC-SA 4.0

Built with MkDocs using a theme provided by Read the Docs.

Scikit-learn官网

Scikit-learn官网

访问Scikit-learn官网

Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学库NumPy和SciPy联合使用。>> Scikit-learn注册地址 <<

首页

注册教程

使用教程

市场应用

产品价格

联系方式

1 / 3

2 / 3

3 / 3

❮ ❯

上线时间

2023年

总部地址

OpenAI

所属公司

OpenAI

产品内容

对话聊天

免费版本

支持

产品价格

每月12美元

支付方式

信用卡

API

支持

官网地址

https://scikit-learn.org

Scikit-learn简介

Scikit-learn项目始于scikits.learn,这是David Cournapeau的Google Summer of Code项目。它的名称源于它是" SciKit"(SciPy工具包)的概念,它是SciPy的独立开发和分布式第三方扩展。原始代码库后来被其他开发人员重写。2010年费边Pedregosa,盖尔Varoquaux,亚历山大Gramfort和Vincent米歇尔,全部由法国国家信息与自动化研究所的罗屈昂库尔,法国,把该项目的领导和做出的首次公开发行在二月一日2010在各种scikits中,scikit-learn以及scikit-image在2012年11月被描述为"维护良好且受欢迎" 。Scikit-learn是GitHub上最受欢迎的机器学习库之一。

实施

Scikit-learn主要是用Python编写的,并且广泛使用numpy进行高性能的线性代数和数组运算。此外,用Cython编写了一些核心算法来提高性能。支持向量机由围绕LIBSVM的Cython包装器实现 ; 逻辑回归和线性支持向量机的相似包装围绕LIBLINEAR。在这种情况下,可能无法使用Python扩展这些方法。

Scikit-learn与许多其他Python库很好地集成在一起,例如matplotlib和plotly用于绘图,numpy用于数组矢量化,pandas数据帧,scipy等。

中文社区

Scikit-learn中文社区,由CDA全国教研团队承接,通过一年多的Scikit-learn文档的翻译和认真校对,从用户指南到API 、再到案例,翻译字数达一百余万字,相较与网络上流传的其他机器翻译的Scikit-learn中文资料,CDA Scikit-learn中文社区的翻译是最新的官方版本,并且内容更加全面,格式更加规范,翻译更加专业精准,努力为机器学习爱好者提供更便捷的学习途径。

版本历史

Scikit-learn最初由David Cournapeau 于2007年在Google的夏季代码项目中开发。后来Matthieu Brucher加入该项目,并开始将其用作论文工作的一部分。2010年,法国计算机科学与自动化研究所INRIA参与其中,并于2010年1月下旬发布了第一个公开版本(v0.1 beta)。

2022年12月 - scikit-learn1.2.0

2022年5月 - scikit-learn1.1.0

2021年9月 - scikit-learn1.0

2020年12月 - scikit-learn0.24.0

2020年5月 - scikit-learn0.23.0

2019年12月 - scikit-learn 0.22.0

2019年5月 - scikit-learn 0.21.0

2018年9月 - scikit-learn 0.20.0

2017年7月 - scikit-learn 0.19.0

2016年9月 - scikit-learn 0.18.0

2015年11月 - scikit-learn 0.17.0

2015年3月 - scikit-learn0.16.0

2014年7月 - scikit-learn 0.15.0

2013年8月 - scikit-learn 0.14

Copyright @ 2023 www.scikit-china.com All Rights Reserved.

scikit-learn (sklearn) 官方文档中文版 - 知乎

scikit-learn (sklearn) 官方文档中文版 - 知乎切换模式写文章登录/注册scikit-learn (sklearn) 官方文档中文版AI算法与图像处理作者:AI算法与图像处理欢迎置顶或星标公众号本人最近在做图像的特征聚类,搞了一段时间,从理论到实践,踩了不少坑,然后我发现了这个好东西(scikit-learn),和大家分享一下,希望能够帮大家提高效率。什么是scikit-learnscikit-learn 是基于 Python 语言的机器学习工具。简单高效的数据挖掘和数据分析工具可供大家在各种环境中重复使用建立在 NumPy ,SciPy 和 matplotlib 上开源,可商业使用 - BSD许可证scikit-learn都有什么功能Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。scikit-learn哪里可以获取http://sklearn.apachecn.org/#/https://scikit-learn.org/stable/上面是中文的,下面是英文的可以根据自己的喜好来选择,但是中文版的代码我不知道为啥我自己打不开但英文的链接里面的都会附有代码的实例当然皇天不负有心人,我也找到目前这个翻译团队正在更新的中文文档以及相应打代码链接,收藏起来没错的https://github.com/apachecn/scikit-learn-doc-zh看个例子吧——对数据进行聚类只需输入数据,定义簇数n_cluster,后面random_state都可以设置为默认的便能够实现聚类,开发的效率非常的高。还有详细的算法讲解和比较http://weixin.qq.com/r/Wy7t9WPEzD6zrSeW93tJ (二维码自动识别)发布于 2018-12-19 00:09人工智能文档sklearn深度学习(Deep Learning)​赞同 98​​8 条评论​分享​喜欢​收藏​申请

GitHub - Apache-CN/scikit-learn-doc-zh: scikit-learn(sklearn) 官方文档中文版

GitHub - Apache-CN/scikit-learn-doc-zh: scikit-learn(sklearn) 官方文档中文版

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

Apache-CN

/

scikit-learn-doc-zh

Public

forked from apachecn/sklearn-doc-zh

Notifications

Fork

0

Star

0

scikit-learn(sklearn) 官方文档中文版

sklearn.apachecn.org

License

GPL-3.0 license

0

stars

1.5k

forks

Branches

Tags

Activity

Star

Notifications

Code

Pull requests

0

Actions

Projects

0

Security

Insights

Additional navigation options

Code

Pull requests

Actions

Projects

Security

Insights

Apache-CN/scikit-learn-doc-zh

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

 0.19.XBranchesTagsGo to fileCode  Folders and filesNameNameLast commit messageLast commit dateLatest commit History762 Commitsdocdoc  examplesexamples  flowchartflowchart  helphelp  LICENSELICENSE  README.mdREADME.md  View all filesRepository files navigationREADMEGPL-3.0 licensescikit-learn(sklearn) 官方文档中文版

scikit-learn 是基于 Python 语言的机器学习工具。

简单高效的数据挖掘和数据分析工具

可供大家在各种环境中重复使用

建立在 NumPy ,SciPy 和 matplotlib 上

开源,可商业使用 - BSD许可证

官网地址: scikit-learn(sklearn): http://scikit-learn.org

中文文档: ApacheCN - scikit-learn(sklearn): http://sklearn.apachecn.org

维护地址

github: https://github.com/apachecn/scikit-learn-doc-zh/

ApacheCN: http://sklearn.apachecn.org/

正在翻译

scikit-learn(sklearn) 0.19

历史版本

scikit-learn(sklearn) 0.18 官方文档中文版: http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030181

参与翻译 & 发现错误

1. 在 github 上 fork 该 repository.

2. 翻译 doc/zh/modules 和 doc/zh/tutorial 下面的 rst 文件即可, 例如, tutorial.rst.

3. 然后, 在你的 github 发起 New pull request 请求.

4. 工具使用, 可参考下面的内容.

工具使用(针对新手)

工欲善其事, 必先利其器 ...

工具随意, 能达到效果就好.

我这里使用的是 VSCode 编辑器.

简易的使用指南请参阅: VSCode Windows 平台入门使用指南, 介绍了 VSCode 与 github 一起搭配的简易使用的方法.

如果要将 VSCode 的 Markdown 预览风格切换为 github 的风格,请参阅: VSCode 修改 markdown 的预览风格为 github 的风格.

注意注意注意:

为了尽量正规化各顶级项目的翻译,更便于以后的迭代更新,我们在 scikit-learn 文档翻译中使用了 Git 的分支,具体应用方法请参阅: 使用 Git 分支进行迭代翻译.

角色分配

目前有如下可分配的角色:

翻译: 负责文章内容的翻译.

校验: 负责文章内容的校验, 比如格式, 正确度之类的.

负责人: 负责整个 Projcet, 不至于让该 Project 成为垃圾项目, 需要在 sklearn 方面经验稍微丰富点.

有兴趣参与的朋友, 可以看看最后的联系方式.

负责人

@chenyyx(Joy yx)

贡献者

贡献者可自行编辑如下内容(排名不分先后).

0.19.0

翻译者(人人皆大佬~):

@wangyangting(那伊抹微笑)

@jiangzhonglian(片刻)

@chenyyx(Joy yx)

@survivingME(Trembleguy)

@mtobeiyf(Fing)

@Leon-Jin(Leon晋)

@X1aoFang(X1aoFang)

@loverollcat(loverollcat)

@helloheshee(helloheshee)

@SkyDreamStart(SkyDreamStart)

@HazekiahWon(Hazekiah Wang)

@201419(tree)

@busesese(wenyi)

@chrzc(changzhicheng)

@Zoctan(Zoctan)

@JanzenLiu(Janzen_Liu)

@charleschou520(charleschou520)

@zhangqiking(BigBird)

@mikechengwei(Mike)

@wodekwan(wodekwan)

@sehriff(sehriff)

@Kdotm(kngines)

@patientman(YuanMingLiu)

@DamonDay(DamonDay)

@cszhangbo(cszhangbo)

@XingxGit(XingxGit)

@KrokYin(KrokYin)

@yw10(Andrew Yao)

@GlassyWu(glassy)

@PrivateRookie(PrivateRookie)

@linweijiang(linweijiang)

@jiaqiangbandongg(jiaqiangbandongg)

@supportingvector(supportingvector)

@stealthsMrs(stealthsMrs)

@lhwlhw90(lhwlhw90)

@sheepmen(羊三)

@guohao916(guohao_dm)

@Daemon-ser(csu_hgq)

@wangxiancai(BWM-蜜蜂)

@夜神月(夜神月)

@liyangbit(Lemon)

@XuJianzhi(XuJianzhi)

校验者(人人皆大佬~)(现在还不齐全,贡献者大佬们可随意修改)

@FontTian(FontTian)

@XuJianzhi(XuJianzhi)

@caopeirui(Veyron C)

@HelloSilicat(Jialiang Pei)

@AnybodyHome(loop)

@pan8664716(pan8664716)

@xrj(xrj)

@qvduoduo1997(qvduoduo1997)

@marsjhao(Zhang Junhao)

@tiantian1412(tiantian1412)

@sheepmen(羊三)

@wangyangting(那伊抹微笑)

@jiangzhonglian(片刻)

@chenyyx(Joy yx)

@mikechengwei(Mike)

@wangxiancai(BWM-蜜蜂)

@busesese(wenyi)

@GlassyWu(glassy)

@wodekwan(wodekwan)

@gbyy422990(Bin GAO)

@charleschou520(charleschou520)

@DataMonk2017(Jeremy Zheng)

@Lixu518(Mysry)

@linxiamen(YUNCHUAN LIN)

@llcing(Mayouji)

@KyrieHee(HeYun)

@ziepenn(ziepenn)

@FAN0521(FAN0521)

@Daemon-ser(csu_hgq)

@shaoyy147(Y.Shao)

@Kdotm(kngines)

@chrzc(changzhicheng)

@ywujudy(ywujudy)

@污剑客(污剑客)

@爱吹牛逼的小明(爱吹牛逼的小明)

@JanzenLiu(Janzen_Liu)

@Ecauchy(Ecauchy)

0.18

请参阅: http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030181

联系方式

有任何建议反馈, 或想参与文档翻译, 麻烦联系下面的企鹅:

企鹅: 1042658081(那伊抹微笑), 190442212(小瑶), 529815144(片刻)

其它中文文档

TensorFlow R1.2 中文文档

sklearn 0.18 中文文档

Spark 2.2.0 中文文档

Spark 2.0.2 中文文档

Kudu 1.4.0 中文文档

Zeppelin 0.7.2 中文文档

Elasticsearch 5.4 中文文档

Kibana 5.2 中文文档

Storm 1.1.0 中文文档

About

scikit-learn(sklearn) 官方文档中文版

sklearn.apachecn.org

Resources

Readme

License

GPL-3.0 license

Activity

Custom properties

Stars

0

stars

Watchers

2

watching

Forks

0

forks

Report repository

Releases

No releases published

Packages

0

No packages published

Languages

Python

100.0%

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

yload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"asset","path":"asset","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"img","path":"img","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".nojekyll","path":".nojekyll","contentType":"file"},{"name":"404.html","path":"404.html","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Dockerfile","path":"Dockerfile","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"NAV.md","path":"NAV.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SUMMARY.md","path":"SUMMARY.md","contentType":"file"},{"name":"ads.txt","path":"ads.txt","contentType":"file"},{"name":"cover.md","path":"cover.md","contentType":"file"},{"name":"index.html","path":"index.html","contentType":"file"},{"name":"update.sh","path":"update.sh","contentType":"file"}],"totalCount":17}},"fileTreeProcessingTime":2.493148,"foldersToFetch":[],"repo":{"id":104967369,"defaultBranch":"master","name":"sklearn-doc-zh","ownerLogin":"apachecn","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-09-27T03:25:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/24802038?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1634191550.4799948","canEdit":false,"refType":"branch","currentOid":"6fbef7c2850dd509b958c49a9e0fc98de968ef20"},"path":"README.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/apachecn/sklearn-doc-zh/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"README.md","displayUrl":"https://github.com/apachecn/sklearn-doc-zh/blob/master/README.md?raw=true","headerInfo":{"blobSize":"9.47 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"9723f3f","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fapachecn%2Fsklearn-doc-zh%2Fblob%2Fmaster%2FREADME.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"scikit-learn (sklearn) 官方文档中文版","anchor":"scikit-learn-sklearn-官方文档中文版","htmlText":"scikit-learn (sklearn) 官方文档中文版"},{"level":2,"text":"介绍","anchor":"介绍","htmlText":"介绍"},{"level":2,"text":"下载","anchor":"下载","htmlText":"下载"},{"level":3,"text":"Docker","anchor":"docker","htmlText":"Docker"},{"level":3,"text":"PYPI","anchor":"pypi","htmlText":"PYPI"},{"level":3,"text":"NPM","anchor":"npm","htmlText":"NPM"},{"level":2,"text":"目录","anchor":"目录","htmlText":"目录"},{"level":2,"text":"历史版本","anchor":"历史版本","htmlText":"历史版本"},{"level":2,"text":"贡献指南","anchor":"贡献指南","htmlText":"贡献指南"},{"level":2,"text":"DOCX:开放共享科研记录行动倡议","anchor":"docx开放共享科研记录行动倡议","htmlText":"DOCX:开放共享科研记录行动倡议"},{"level":2,"text":"项目负责人","anchor":"项目负责人","htmlText":"项目负责人"},{"level":2,"text":"贡献者","anchor":"贡献者","htmlText":"贡献者"},{"level":2,"text":"建议反馈","anchor":"建议反馈","htmlText":"建议反馈"},{"level":2,"text":"项目协议","anchor":"项目协议","htmlText":"项目协议"},{"level":2,"text":"赞助我们","anchor":"赞助我们","htmlText":"赞助我们"}],"lineInfo":{"truncatedLoc":"221","truncatedSloc":"172"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/apachecn/sklearn-doc-zh/blob/master/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/apachecn/sklearn-doc-zh/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/apachecn/sklearn-doc-zh/raw/master/README.md","renderImageOrRaw":false,"richText":"scikit-learn (sklearn) 官方文档中文版\n\n\n\n \n sklearn 0.21.3 中文文档\n sklearn 0.21.3 中文示例\n sklearn 英文官网\n \n\n\n\n介绍\nsklearn (scikit-learn) 是基于 Python 语言的机器学习工具\n\n简单高效的数据挖掘和数据分析工具\n可供大家在各种环境中重复使用\n建立在 NumPy ,SciPy 和 matplotlib 上\n开源,可商业使用 - BSD许可证\n\n\n组织构建[网站]\n\n\nGitHub Pages(国外): https://sklearn.apachecn.org\nGitee Pages(国内): https://apachecn.gitee.io/sklearn-doc-zh\n\n\n第三方站长[网站]\n\n\n地址A: xxx (欢迎留言,我们完善补充)\n\n\n其他补充\n\n\n官方Github\nEPUB 下载地址\nApacheCN 翻译校对兼职群 713436582\n\n下载\nDocker\ndocker pull apachecn0/sklearn-doc-zh\ndocker run -tid -p :80 apachecn0/sklearn-doc-zh\n# 访问 http://localhost:{port} 查看文档\n\nPYPI\npip install sklearn-doc-zh\nsklearn-doc-zh \n# 访问 http://localhost:{port} 查看文档\n\nNPM\nnpm install -g sklearn-doc-zh\nsklearn-doc-zh \n# 访问 http://localhost:{port} 查看文档\n\n目录\n\n安装 scikit-learn\n用户指南\n\n1. 监督学习\n\n1.1. 广义线性模型\n1.2. 线性和二次判别分析\n1.3. 内核岭回归\n1.4. 支持向量机\n1.5. 随机梯度下降\n1.6. 最近邻\n1.7. 高斯过程\n1.8. 交叉分解\n1.9. 朴素贝叶斯\n1.10. 决策树\n1.11. 集成方法\n1.12. 多类和多标签算法\n1.13. 特征选择\n1.14. 半监督学习\n1.15. 等式回归\n1.16. 概率校准\n1.17. 神经网络模型(有监督)\n\n\n2. 无监督学习\n\n2.1. 高斯混合模型\n2.2. 流形学习\n2.3. 聚类\n2.4. 双聚类\n2.5. 分解成分中的信号(矩阵分解问题)\n2.6. 协方差估计\n2.7. 新奇和异常值检测\n2.8. 密度估计\n2.9. 神经网络模型(无监督)\n\n\n3. 模型选择和评估\n\n3.1. 交叉验证:评估估算器的表现\n3.2. 调整估计器的超参数\n3.3. 模型评估: 量化预测的质量\n3.4. 模型持久化\n3.5. 验证曲线: 绘制分数以评估模型\n\n\n4. 检验\n\n4.1. 部分依赖图\n\n\n5. 数据集转换\n\n5.1. Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器\n5.2. 特征提取\n5.3 预处理数据\n5.4 缺失值插补\n5.5. 无监督降维\n5.6. 随机投影\n5.7. 内核近似\n5.8. 成对的矩阵, 类别和核函数\n5.9. 预测目标 (y) 的转换\n\n\n6. 数据集加载工具\n\n6.1. 通用数据集 API\n6.2. 玩具数据集\n6.3 真实世界中的数据集\n6.4. 样本生成器\n6.5. 加载其他数据集\n\n\n7. 使用scikit-learn计算\n\n7.1. 大规模计算的策略: 更大量的数据\n7.2. 计算性能\n7.3. 并行性、资源管理和配置\n\n\n\n\n教程\n\n使用 scikit-learn 介绍机器学习\n关于科学数据处理的统计学习教程\n\n机器学习: scikit-learn 中的设置以及预估对象\n监督学习:从高维观察预测输出变量\n模型选择:选择估计量及其参数\n无监督学习: 寻求数据表示\n把它们放在一起\n寻求帮助\n\n\n处理文本数据\n选择正确的评估器(estimator.md)\n外部资源,视频和谈话\n\n\nAPI 参考\n常见问题\n时光轴\n\n历史版本\n\nscikit-learn (sklearn) 0.19 官方文档中文版\nscikit-learn (sklearn) 0.18 官方文档中文版\n\n如何编译使用历史版本:\n\n解压 0.19.x.zip 文件夹\n将 master/img 的图片资源, 复制到 0.19.x 里面去\ngitbook 正常编译过程,可以使用 sh run_website.sh\n\n贡献指南\n为了不断改进翻译质量,我们特此启动了【翻译、校对、笔记整理活动】,开设了多个校对项目。贡献者校对一章之后可以领取千字2~4元的奖励。进行中的校对活动请见活动列表。更多详情请联系飞龙(Q562826179,V:wizardforcel)。\nDOCX:开放共享科研记录行动倡议\n我们积极响应科研开源计划(DOCX)。如今开源不仅仅是开放源码,还包括数据集、模型、教程和实验记录。我们也在探讨其它类别的开源方案和协议。\n希望大家了解这个倡议,把这个倡议与自己的兴趣点结合,做点力所能及的事情。每个人的微小的贡献,汇聚在一起就是整个开源生态。\n项目负责人\n格式: GitHub + QQ\n\n第一期 (2017-09-29)\n\n\n@那伊抹微笑\n@片刻\n@小瑶\n\n\n第二期 (2019-06-29)\n\n\n@N!no:1352899627\n@mahaoyang:992635910\n@loopyme:3322728009\n飞龙:562826179\n片刻:529815144\n\n-- 负责人要求: (欢迎一起为 sklearn 中文版本 做贡献)\n\n热爱开源,喜欢装逼\n长期使用 sklearn(至少0.5年) + 提交Pull Requests>=3\n能够有时间及时优化页面 bug 和用户 issues\n试用期: 2个月\n欢迎联系: 片刻 529815144\n\n贡献者\n【0.19.X】贡献者名单\n建议反馈\n\n在我们的 apachecn/pytorch-doc-zh github 上提 issue.\n发邮件到 Email: apachecn@163.com.\n在我们的 QQ群-搜索: 交流方式 中联系群主/管理员即可.\n\n项目协议\n\n最近有很多人联系我们,关于内容授权问题!\n开源是指知识应该重在传播和迭代(而不是禁止别人转载)\n不然你TM在GitHub开源,然后又说不让转载,你TM有病吧!\n禁止商业化,符合协议规范,备注地址来源,重点: 不需要发邮件给我们申请\nApacheCN 账号下没有协议的项目,一律视为 CC BY-NC-SA 4.0。\n\n温馨提示:\n\n对于个人想自己copy一份再更新的人\n我也是有这样的经历,但是这种激情维持不了几个月,就泄气了!\n不仅浪费了你的心血,还浪费了更多人看到你的翻译成果!很可惜!你觉得呢?\n个人的建议是: fork -> pull requests 到 https://github.com/apachecn/sklearn-doc-zh\n那为什么要选择 ApacheCN 呢?\n因为我们做翻译这事情是觉得开心和装逼,比较纯粹!\n你如果喜欢,你可以来参与/甚至负责这个项目,没有任何学历和背景的限制\n\n赞助我们\n\n","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"scikit-learn (sklearn) 官方文档中文版","kind":"section_1","ident_start":2,"ident_end":63,"extent_start":0,"extent_end":9700,"fully_qualified_name":"scikit-learn (sklearn) 官方文档中文版","ident_utf16":{"start":{"line_number":0,"utf16_col":2},"end":{"line_number":0,"utf16_col":49}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":221,"utf16_col":0}}},{"name":"介绍","kind":"section_2","ident_start":710,"ident_end":716,"extent_start":707,"extent_end":1471,"fully_qualified_name":"介绍","ident_utf16":{"start":{"line_number":16,"utf16_col":3},"end":{"line_number":16,"utf16_col":5}},"extent_utf16":{"start":{"line_number":16,"utf16_col":0},"end":{"line_number":40,"utf16_col":0}}},{"name":"下载","kind":"section_2","ident_start":1474,"ident_end":1480,"extent_start":1471,"extent_end":1870,"fully_qualified_name":"下载","ident_utf16":{"start":{"line_number":40,"utf16_col":3},"end":{"line_number":40,"utf16_col":5}},"extent_utf16":{"start":{"line_number":40,"utf16_col":0},"end":{"line_number":66,"utf16_col":0}}},{"name":"Docker","kind":"section_3","ident_start":1486,"ident_end":1492,"extent_start":1482,"extent_end":1640,"fully_qualified_name":"Docker","ident_utf16":{"start":{"line_number":42,"utf16_col":4},"end":{"line_number":42,"utf16_col":10}},"extent_utf16":{"start":{"line_number":42,"utf16_col":0},"end":{"line_number":50,"utf16_col":0}}},{"name":"PYPI","kind":"section_3","ident_start":1644,"ident_end":1648,"extent_start":1640,"extent_end":1754,"fully_qualified_name":"PYPI","ident_utf16":{"start":{"line_number":50,"utf16_col":4},"end":{"line_number":50,"utf16_col":8}},"extent_utf16":{"start":{"line_number":50,"utf16_col":0},"end":{"line_number":58,"utf16_col":0}}},{"name":"NPM","kind":"section_3","ident_start":1758,"ident_end":1761,"extent_start":1754,"extent_end":1870,"fully_qualified_name":"NPM","ident_utf16":{"start":{"line_number":58,"utf16_col":4},"end":{"line_number":58,"utf16_col":7}},"extent_utf16":{"start":{"line_number":58,"utf16_col":0},"end":{"line_number":66,"utf16_col":0}}},{"name":"目录","kind":"section_2","ident_start":1873,"ident_end":1879,"extent_start":1870,"extent_end":6026,"fully_qualified_name":"目录","ident_utf16":{"start":{"line_number":66,"utf16_col":3},"end":{"line_number":66,"utf16_col":5}},"extent_utf16":{"start":{"line_number":66,"utf16_col":0},"end":{"line_number":142,"utf16_col":0}}},{"name":"历史版本","kind":"section_2","ident_start":6029,"ident_end":6041,"extent_start":6026,"extent_end":6485,"fully_qualified_name":"历史版本","ident_utf16":{"start":{"line_number":142,"utf16_col":3},"end":{"line_number":142,"utf16_col":7}},"extent_utf16":{"start":{"line_number":142,"utf16_col":0},"end":{"line_number":153,"utf16_col":0}}},{"name":"贡献指南","kind":"section_2","ident_start":6488,"ident_end":6500,"extent_start":6485,"extent_end":6865,"fully_qualified_name":"贡献指南","ident_utf16":{"start":{"line_number":153,"utf16_col":3},"end":{"line_number":153,"utf16_col":7}},"extent_utf16":{"start":{"line_number":153,"utf16_col":0},"end":{"line_number":158,"utf16_col":0}}},{"name":"DOCX:开放共享科研记录行动倡议","kind":"section_2","ident_start":6868,"ident_end":6911,"extent_start":6865,"extent_end":7325,"fully_qualified_name":"DOCX:开放共享科研记录行动倡议","ident_utf16":{"start":{"line_number":158,"utf16_col":3},"end":{"line_number":158,"utf16_col":20}},"extent_utf16":{"start":{"line_number":158,"utf16_col":0},"end":{"line_number":164,"utf16_col":0}}},{"name":"项目负责人","kind":"section_2","ident_start":7328,"ident_end":7343,"extent_start":7325,"extent_end":8156,"fully_qualified_name":"项目负责人","ident_utf16":{"start":{"line_number":164,"utf16_col":3},"end":{"line_number":164,"utf16_col":8}},"extent_utf16":{"start":{"line_number":164,"utf16_col":0},"end":{"line_number":190,"utf16_col":0}}},{"name":"贡献者","kind":"section_2","ident_start":8159,"ident_end":8168,"extent_start":8156,"extent_end":8256,"fully_qualified_name":"贡献者","ident_utf16":{"start":{"line_number":190,"utf16_col":3},"end":{"line_number":190,"utf16_col":6}},"extent_utf16":{"start":{"line_number":190,"utf16_col":0},"end":{"line_number":194,"utf16_col":0}}},{"name":"建议反馈","kind":"section_2","ident_start":8259,"ident_end":8271,"extent_start":8256,"extent_end":8533,"fully_qualified_name":"建议反馈","ident_utf16":{"start":{"line_number":194,"utf16_col":3},"end":{"line_number":194,"utf16_col":7}},"extent_utf16":{"start":{"line_number":194,"utf16_col":0},"end":{"line_number":200,"utf16_col":0}}},{"name":"**项目协议**","kind":"section_2","ident_start":8536,"ident_end":8552,"extent_start":8533,"extent_end":9600,"fully_qualified_name":"**项目协议**","ident_utf16":{"start":{"line_number":200,"utf16_col":3},"end":{"line_number":200,"utf16_col":11}},"extent_utf16":{"start":{"line_number":200,"utf16_col":0},"end":{"line_number":218,"utf16_col":0}}},{"name":"赞助我们","kind":"section_2","ident_start":9603,"ident_end":9615,"extent_start":9600,"extent_end":9700,"fully_qualified_name":"赞助我们","ident_utf16":{"start":{"line_number":218,"utf16_col":3},"end":{"line_number":218,"utf16_col":7}},"extent_utf16":{"start":{"line_number":218,"utf16_col":0},"end":{"line_number":221,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/apachecn/sklearn-doc-zh/branches":{"post":"1HbgXYtT9HPLDCMZlqX0i-AIR2TmJnKEl9Cga0_iithPdnT3PswLW0hgJjwk8audI_DEDwyMkuj76qrAsMdCFw"},"/repos/preferences":{"post":"-GCVXdcYW6dHzVLQZbgOgZkMlPUTqbvN1Ccec5lXC4QQcUuOhGvnrM_ssaHgESnAV-K3lGVU0YvMR3bWGWxviw"}}},"title":"sklearn-doc-zh/README.md at master · apachecn/sklearn-doc-z

Scikit-learn - sklearn库学习 - 知乎

Scikit-learn - sklearn库学习 - 知乎切换模式写文章登录/注册Scikit-learn - sklearn库学习IVY-HQ大学生scikit-learn(简称sklearn)是一个基于Python实现的开源机器学习库,包含了从数据预处理、特征工程到各种机器学习算法的各种工具函数和类。sklearn设计简单、高效,专注于实现常见的机器学习算法和分析工具,并且提供了简单一致的API让使用者方便构建模型以及进行训练和预测。最新版本的scikit-learn还支持并行计算的功能,可以利用多核CPU或者分布式计算技术提升运算效率。sklearn官网sklearn中文社区sklearn库中包含了非常丰富的机器学习模型、数据处理和评估工具等,以下是sklearn库中一些常用的模块:数据预处理:sklearn.preprocessing特征提取:sklearn.feature_extraction降维:sklearn.decomposition监督学习模型:sklearn.linear_model、sklearn.svm、sklearn.naive_bayes、sklearn.neighbors等非监督学习模型:sklearn.cluster、sklearn.mixture模型选择和评估:sklearn.model_selection、sklearn.metrics工具函数:sklearn.utils数据集:sklearn.datasets神经网络:sklearn.neural_network时间序列分析:sklearn.time_series图像处理:sklearn.feature_extraction.image、sklearn.datasets.images等总之,sklearn库可以说是Python中非常强大的机器学习工具箱,涵盖了数据处理、特征提取、降维、模型选择、训练和评估等各个环节,非常适合初学者和专业人士。今日着重学习其中的两个模块:监督学习模型-sklearn.svm模块;模型选择和评估:sklearn.model_selection模块。sklearn.svm模块是sklearn库中的支持向量机算法模块,提供SVM算法的实现。这个模块包含了各种SVM模型和相关的辅助函数,以下是一些常用的类:LinearSVC:用于处理线性SVM分类问题,使用线性核函数实现。SVC:实现SVM分类问题,可以使用不同的核函数(如线性核、多项式核、RBF核等)。NuSVC:实现支持向量分类算法,类似于SVC,不同的是它允许调节模型的鲁棒性。OneClassSVM:实现单类SVM算法,用于异常检测问题。SVR:实现SVM回归问题,可以使用不同的核函数进行回归分析。NuSVR:类似于SVR,不同的是它允许调节模型的鲁棒性。除此之外,SVM模块还提供了一些辅助函数和类,用于数据预处理、参数调节等方面的工作,比如:svm.SVR.fit():用于训练SVM回归模型。svm.SVC.predict():用于对新的数据进行分类预测。svm.LinearSVC.fit():用于训练线性SVM分类器。svm.SVC.fit():用于训练SVM分类器。svm.NuSVC.fit():用于训练NuSVC分类器。svm.OneClassSVM.fit():用于训练单类支持向量机模型。svm.SVCGridSearchCV():用于执行SVM模型的参数优化搜索。总之,sklearn.svm模块提供了丰富的SVM分类、回归和异常检测等算法实现,并且提供了灵活的模型参数调整和数据预处理等工具函数,方便用户使用SVM算法构建模型和进行数据分析。sklearn.model_selection模块是sklearn库中用于模型选择和参数调整的工具模块,可以实现训练集和测试集的划分、交叉验证和模型参数的搜索等功能。该模块是比较重要的一部分,常用于机器学习中算法的评估和优化。以下是一些sklearn.model_selection模块中常用的类和函数:train_test_split:用于数据集的划分。可以将数据划分为训练集和测试集,以便用于模型训练和测试。from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)cross_val_score:用于模型的评估。可以通过交叉验证方法对模型进行评估,具体来说就是将数据集划分为若干个子集,在每次交叉验证时,将其中一个子集作为测试集,剩下的子集作为训练集。实现k折交叉验证、留一交叉验证等验证方法。from sklearn.model_selection import cross_val_score

scores = cross_val_score(model, X, y, cv=5)GridSearchCV:用于模型的超参数调整。可以通过指定模型的超参数和可选的参数范围进行网格搜索,以求得模型在测试数据集上的最佳性能。from sklearn.model_selection import GridSearchCV

param_grid = {'C': [0.1, 1, 10], 'gamma': [0.1, 1, 10]}

grid_search = GridSearchCV(SVC(), param_grid, cv=5)

grid_search.fit(X, y)

best_params = grid_search.best_params_KFold:用于数据集的划分。可以将数据集划分为k个子集,每一个子集既可以当作训练集,也可以当作测试集。KFold 细节能控制的比train_test_split 多from sklearn.model_selection import KFold

kf = KFold(n_splits=5)

for train_index, test_index in kf.split(X):

X_train, X_test = X[train_index], X[test_index]

y_train, y_test = y[train_index], y[test_index]StratifiedKFold:与KFold相似,只不过是为分类问题考虑使用的类(分类量大且类别平均分布),可以保证每一折里类别比例相同,能有效避免样本分布不均导致的模型偏差问题。from sklearn.model_selection import StratifiedKFold

kf = StratifiedKFold(n_splits=5)

for train_index, test_index in kf.split(X, y):

X_train, X_test = X[train_index], X[test_index]

y_train, y_test = y[train_index], y[test_index]总之,sklearn.model_selection模块作为机器学习模型选择和优化的重要工具箱,提供了丰富的数据集划分、交叉验证、模型超参数调优等功能,方便用户在建模过程中进行优化和选择最佳的模型。sklearn.metrics模块提供了一系列用于评估模型性能的函数,包括分类指标、回归指标、聚类指标等,是Scikit-learn(sklearn)库中非常重要的模块之一。常用的类和函数有:accuracy_score():用于计算分类模型的准确率,即模型预测正确的样本数与总样本数之比。confusion_matrix():计算分类模型的混淆矩阵,包括真正类数量、假正类数量、假负类数量、真负类数量等信息。precision_score():用于计算分类模型中精确率,即预测为正类的样本中实际为正类的样本比例。recall_score():用于计算分类模型中召回率,即实际为正类的样本中被预测为正类的样本比例。f1_score():用于计算分类模型中的F1分数,基于精确率和召回率的加权平均值。roc_curve():用于计算分类模型的ROC曲线和AUC值,包括真正类率、假正类率等信息。mean_squared_error():用于计算回归模型的均方误差,即预测值与真实值之间的平均平方差。r2_score():用于计算回归模型的R2分数,即预测值和真实值之间的可决系数。以上是一些常用的Sklearn.metrics模块的类和函数。通过使用这些函数,我们可以对分类模型和回归模型的性能进行准确评估,从而更好地了解我们的模型的表现。其他辅助库:Joblib是一个用于在Python中进行并行计算和内存高效性的工具包。Joblib提供了一些有用的功能,特别是针对机器学习和科学计算等领域,其中通常会处理大量数据和计算密集型任务。Joblib的主要功能之一是:能够轻松地将Python函数分发给多个CPU核心,从而实现并行计算,提高计算效率。Joblib支持的任务并行方式包括:仅用多进程方式、多进程加多线程方式。此外,Joblib还提供了内存映射文件(memory-mapped files)的支持,这使得可以处理更大的磁盘数据,或利用更大的磁盘缓存加速处理。在机器学习的模型训练过程中,使用Joblib可以使用CPU的所有核来并行训练模型,从而加快训练速度。在处理大规模数据集时,内存映射文件的功能可以将数据类似于虚拟内存的方式存储在磁盘上,从而提高内存效率。总的来说,Joblib为Python的并行计算和大数据处理提供了一种便利和高效的方式,是Python科学计算和机器学习中的重要工具之一。Pandas和NumPy都是在Python数据科学和机器学习领域非常流行的库。它们的区别如下:数据结构:NumPy主要使用ndarray这一多维数组形式表示数据,而Pandas则以Series和DataFrame两种数据结构为基础进行数据操作和处理。数据处理方式:NumPy主要用于数学计算、数组处理和科学计算等方面,在数据处理方面较为基础,提供的函数较少;而Pandas侧重于对表格数据进行处理,提供了更多丰富的数据处理和操作函数,例如排序、合并、重构等。缺失数据处理:Pandas对缺失数据进行了更加友好和灵活的处理,提供了许多方法进行缺失数据填充和删除等操作,而NumPy的处理方式相对较少。适用范围:NumPy常用于数据科学和机器学习的底层计算,例如线性代数、矩阵计算和随机数生成等;而Pandas则被广泛应用于数据分析和处理等方面。综上所述,虽然Pandas和NumPy都是Python数据科学和机器学习领域中重要的库,但它们的主要目标和适用范围有所不同。如果需要进行基础的数学和数组操作,可以使用NumPy库;如果需要进行表格数据处理和分析,则应该使用Pandas库。Matplotlib是Python中最流行的数据可视化库之一,广泛用于创建各种类型的图形和可视化,包括折线图、散点图、直方图、饼图、热力图和3D图形等。Matplotlib提供了高度灵活的绘图选项,使用户可以轻松地控制图形的外观和风格。Matplotlib可用于Python交互式编程环境(如Jupyter Notebook和IPython),也可以集成到GUI应用程序中。Matplotlib还可以与NumPy、Pandas、SciPy等其他Python库集成使用,方便数据可视化操作。Matplotlib也与其他Python可视化库(如Seaborn)一起使用,可以制作更漂亮、更有吸引力和信息丰富的图表。Matplotlib提供了两种基本绘图接口:一个是面向对象的API,另一个是基于类似于MATLAB的封装接口(称为pyplot)。面向对象的API允许更多的精确控制图形的各个方面,而基于pyplot的接口则更方便、易于使用。如果需要创建复杂的、具有高度定制化的图形,建议使用面向对象的API,对于一些简单的图形绘制,可以使用pyplot接口。总的来说,Matplotlib是Python中最流行的图形库之一,可以方便地进行数据可视化和探索性数据分析操作,对于探索数据和说明分析结果非常有用。Seaborn是基于matplotlib的Python可视化库,提供了更高层次的数据可视化方法,可以快速方便地生成美观的统计图形。相比于matplotlib,Seaborn拥有更好看、更符合统计学规律和专业术语的图形,能更突出显示数据集中的重要特征,提高用户数据分析结果的可读性。Seaborn的主要优势有:高度可视化:Seaborn中的图形通常与可视化的目的一致,能够快速生成各种美观、高质量的图形。统计分析导向:Seaborn侧重于数据集的可视化和探索性数据分析(EDA),专注于研究和表达各种统计数据,以便更好地理解数据。与Pandas集成:Seaborn与Pandas兼容较好,直接使用Pandas的DataFrames和Series作为输入,并且可以使用Pandas专用的绘图函数风格,使数据处理和可视化更加高效。免费且易于学习:Seaborn是免费且易于学习的,文档详细,而且有大量的示例可以供参考。一些常见的Seaborn图形包括:散点图、条形图、箱线图、热力图、密度图、分布图等。通过使用Seaborn,我们可以更快速、更高效地探索和展示我们的数据集,从而获得更深入的数据分析和洞察。安装sklearn库方法:在命令行或者虚拟环境中进行安装pip install scikit-learn例子:鸢尾花二分类问题from sklearn.svm import SVC

from sklearn.model_selection import train_test_split

from sklearn import metrics

import joblib as jb

import pandas as pd

import numpy as np

import seaborn as sns

import matplotlib

import matplotlib.pyplot as plt

#弹出窗口

matplotlib.use('TKAgg')

df = pd.read_csv('D:/programme/practice01/data/iris.csv')

print(df)

#绘制散点图

fo = ['SepalLengthCm', 'PetalWidthCm']

se = ['Iris-setosa', 'Iris-versicolor']

df_two = df[df['species'].isin(se)]

print(df_two)

sns.scatterplot(x=df_two[fo[0]], y=df_two[fo[1]], hue= df_two['species'])

plt.show()

#训练模型

# 选取 df_two 的特征列,即自变量

X = df_two[fo]

# 选取 df_two 的目标列,即因变量

Y = df_two['species']

# 在使用机器学习算法时,为了保证结果的可重复性,

# 可重复性是指在同样的输入数据、参数设置、随机种子等条件下,每次运行模型得到的结果应该是完全一致的。

# 一般需要设置一个随机种子(random seed),这个随机种子指定了随机数生成器中的初始值。

# 这个参数一般取任意整数值,通常设置为1。

# 将数据集划分为训练集和测试集,其中 test_size=0.3 表示测试集占总数据集的百分比,random_state=1 表示随机种子,保证每次划分的结果不变

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.4, random_state=1)

# 初始化支持向量分类器对象,使用SVM的默认参数,probability=True 表示可以计算输出概率

clf = SVC(random_state=30, probability=True)

# 使用训练集进行拟合

clf = clf.fit(X_train, Y_train)

# 使用测试集进行预测

Y_pred = clf.predict(X_test)

# 计算模型的准确率并输出

print('准确率:', metrics.accuracy_score(Y_test, Y_pred))

#绘制SVM超平面

x_min, x_max = df[fo[0]].min() - 0.2, df[fo[0]].max() + 0.2

y_min, y_max = df[fo[1]].min() - 0.2, df[fo[1]].max() + 0.2

xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02))

ZC = clf.predict(np.c_[xx.ravel(), yy.ravel()])

Z = pd.Categorical(ZC).codes

Z = Z.reshape(xx.shape)

sns.scatterplot(x=df[fo[0]], y=df[fo[1]], hue=Y)

plt.contourf(xx, yy, Z, cmap=plt.cm.ocean, alpha=0.2)

plt.show()

#预测新数据

print('花萼长度:5.5、花萼宽度为2.4,鸢尾花种类为:',clf.predict([[5.5,2.4]]))

#保存模型

jb.dump(clf,'SVM-二分类模型')发布于 2023-05-03 00:15・IP 属地宁夏sklearnPython 库Python​赞同 1​​添加评论​分享​喜欢​收藏​申请