Scikit-learn:修订间差异
无编辑摘要 |
无编辑摘要 |
||
(未显示同一用户的7个中间版本) | |||
第9行: | 第9行: | ||
*2018年9月,发布scikit-learn 0.20.0 | *2018年9月,发布scikit-learn 0.20.0 | ||
*2021年1月,发布scikit-learn 0.24 | *2021年1月,发布scikit-learn 0.24 | ||
{{了解更多 | |||
|[https://scikit-learn.org/stable/about.html#history scikit-learn:历史] | |||
}} | |||
===安装=== | ===安装=== | ||
使用[[pip]]安装scikit-learn: | |||
<syntaxhighlight lang="python"> | |||
# 安装最新版本 | |||
pip install -U scikit-learn | |||
# 查看安装的版本,位置等 | |||
pip show scikit-learn | |||
</syntaxhighlight> | |||
{{了解更多 | |||
|[https://scikit-learn.org/stable/install.html scikit-learn 文档:安装] | |||
}} | |||
==基本== | ==基本== | ||
===结构=== | ===结构=== | ||
第44行: | 第58行: | ||
}} | }} | ||
== | ==示例数据集== | ||
==数据预处理== | |||
数据预处理包括数据清洗,划分训练集和测试集,特征提取,特征转换等。 | |||
{{了解更多 | |||
|[https://scikit-learn.org/stable/data_transforms.html scikit-learn 文档:数据集转换] | |||
}} | |||
===划分数据集=== | |||
{{了解更多 | |||
|[https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html scikit-learn API:train_test_split] | |||
}} | |||
===无监督降维=== | |||
==模型类型== | |||
机器学习算法通常分为: | |||
* 监督学习,如分类,回归 | |||
* 无监督学习,如聚类,降维 | |||
对于选择何种算法,scikit-learn提供了算法选择图。 | |||
{{了解更多 | |||
|[https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html scikit-learn 教程:算法选择图] | |||
}} | |||
===分类=== | ===分类=== | ||
{| class="wikitable" style="width: 100%; | {| class="wikitable" style="width: 100%; | ||
! 名称 | ! 名称 | ||
! | ! 模块 | ||
! 类 | |||
! 描述 | ! 描述 | ||
|- | |- | ||
| 决策树 | |K近邻分类 <br \>KNN | ||
|[https://scikit-learn.org/stable/modules/neighbors.html neighbors] | |||
|[https://scikit-learn.org/stable/modules/neighbors.html#classification KNeighborsClassifier] | |||
|找到输入样本最近的K个样本,将该输入样本分类到K个样本中最多的分类。<br \> 导入:<code>from sklearn.neighbors import KNeighborsClassifier</code> | |||
|- | |||
| [[决策树]]分类 | |||
| [https://scikit-learn.org/stable/modules/tree.html tree] | |||
| [https://scikit-learn.org/stable/modules/tree.html#classification DecisionTreeClassifier] | |||
| <br \>导入<code>from sklearn.tree import DecisionTreeClassifier</code> | |||
|- | |||
| 逻辑回归 | |||
| | |||
| | | | ||
| | |||
|- | |||
| | |||
| | | | ||
| | | | ||
| | | | ||
|} | |||
===回归=== | |||
{| class="wikitable" style="width: 100%; | |||
! 名称 | |||
! 模块 | |||
! 类 | |||
! 描述 | |||
|- | |||
| 线性回归 <br />linear regression | |||
| [https://scikit-learn.org/stable/modules/linear_model.html linear_model] | |||
| [https://scikit-learn.org/stable/modules/linear_model.html#ordinary-least-squares LinearRegression] | |||
| 使用普通最小二乘法。 <br />导入模型:<br /> <code>from sklearn.linear_model import LinearRegression</code> | |||
|- | |||
| 岭回归<br /> ridge regression | |||
| [https://scikit-learn.org/stable/modules/linear_model.html linear_model] | |||
| [https://scikit-learn.org/stable/modules/linear_model.html#ridge-regression-and-classification Ridge] | |||
| <br />导入模型:<br /> <code>from sklearn.linear_model import Ridge</code> | |||
|- | |- | ||
| | | | ||
| | | | ||
|} | |} | ||
===聚类=== | ===聚类=== | ||
第78行: | 第146行: | ||
===网格搜索=== | ===网格搜索=== | ||
== | ==模型保存== | ||
{| class="wikitable" style="width: 100%; | |||
! 名称 | |||
! 描述 | |||
! 示例 | |||
|- | |||
| pickle | |||
| Python的一个标准库,用于。 | |||
| | |||
|- | |||
| joblib | |||
| 是一个Python中轻量级的管道工具。 | |||
| <syntaxhighlight lang="python">#导出保存 | |||
from joblib import dump | |||
dump(clf, '文件名.joblib') </syntaxhighlight> | |||
<syntaxhighlight lang="python">#导入模型 | |||
from joblib import load | |||
clf = load('文件名.joblib') </syntaxhighlight> | |||
|} | |||
{{了解更多 | |||
|[https://scikit-learn.org/stable/modules/model_persistence.html scikit-learn 文档:模型持久化] | |||
}} | |||
==资源== | ==资源== | ||
===官网=== | ===官网=== | ||
*scikit-learn 官网:https://scikit-learn.org | *scikit-learn 官网:https://scikit-learn.org | ||
*scikit-learn | *scikit-learn 用户指南:https://scikit-learn.org/stable/user_guide.html | ||
*scikit-learn 教程:https://scikit-learn.org/stable/tutorial/index.html | *scikit-learn 教程:https://scikit-learn.org/stable/tutorial/index.html | ||
*scikit-learn 示例:https://scikit-learn.org/stable/auto_examples/index.html | *scikit-learn 示例:https://scikit-learn.org/stable/auto_examples/index.html | ||
*scikit-learn API:https://scikit-learn.org/stable/modules/classes.html | *scikit-learn API:https://scikit-learn.org/stable/modules/classes.html | ||
*scikit- | *scikit-learn 源代码:https://github.com/scikit-learn/scikit-learn | ||
===相关教程=== | ===相关教程=== | ||
*[https:// | *[https://sklearn.apachecn.org/ apachecn.org:scikit-learn文档翻译] | ||
*[https://yulizi123.github.io/tutorials/machine-learning/sklearn/ 莫烦Python:Sklearn] | *[https://yulizi123.github.io/tutorials/machine-learning/sklearn/ 莫烦Python:Sklearn] | ||
===相关文章=== | ===相关文章=== |
2021年8月17日 (二) 11:03的最新版本
scikit-learn,简称sklearn,是一个免费开源Python库,主要用于机器学习。它是构建在scipy模块之上,具有各种分类、回归和聚类算法。
简介
时间轴
- 2007年6月,David Cournapeau 在Google夏日编程大赛中开发,项目名scikits.learn,名字来自“SciKit”(SciPy工具箱)。
- 2007年,同年Matthieu Brucher加入项目,并开始将其用作论文工作的一部分。
- 2010年,法国计算机科学与自动化研究所(INRIA)的 Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort 和 Vincent Michel 领导了该项目。
- 2010年2月1日,首次公开发布 Scikit-learn v0.1 beta
- 2018年9月,发布scikit-learn 0.20.0
- 2021年1月,发布scikit-learn 0.24
了解更多 >> scikit-learn:历史
安装
使用pip安装scikit-learn:
# 安装最新版本
pip install -U scikit-learn
# 查看安装的版本,位置等
pip show scikit-learn
了解更多 >> scikit-learn 文档:安装
基本
结构
SciPy包含多个子模块,如下:
子模块 | 类别 | 描述 |
---|---|---|
sklearn.base | 基础类和实用功能 | |
了解更多 >> scikit-learn API:API参考
示例数据集
数据预处理
数据预处理包括数据清洗,划分训练集和测试集,特征提取,特征转换等。
了解更多 >> scikit-learn 文档:数据集转换
划分数据集
无监督降维
模型类型
机器学习算法通常分为:
- 监督学习,如分类,回归
- 无监督学习,如聚类,降维
对于选择何种算法,scikit-learn提供了算法选择图。
了解更多 >> scikit-learn 教程:算法选择图
分类
名称 | 模块 | 类 | 描述 |
---|---|---|---|
K近邻分类 KNN |
neighbors | KNeighborsClassifier | 找到输入样本最近的K个样本,将该输入样本分类到K个样本中最多的分类。 导入: from sklearn.neighbors import KNeighborsClassifier
|
决策树分类 | tree | DecisionTreeClassifier | 导入 from sklearn.tree import DecisionTreeClassifier
|
逻辑回归 | |||
回归
名称 | 模块 | 类 | 描述 |
---|---|---|---|
线性回归 linear regression |
linear_model | LinearRegression | 使用普通最小二乘法。 导入模型: from sklearn.linear_model import LinearRegression
|
岭回归 ridge regression |
linear_model | Ridge | 导入模型: from sklearn.linear_model import Ridge
|
聚类
降维
评估与优化
指标和评分
了解更多 >> scikit-learn 文档:指标和评分 - 量化预测的质量
交叉验证
网格搜索
模型保存
名称 | 描述 | 示例 |
---|---|---|
pickle | Python的一个标准库,用于。 | |
joblib | 是一个Python中轻量级的管道工具。 | #导出保存
from joblib import dump
dump(clf, '文件名.joblib')
#导入模型
from joblib import load
clf = load('文件名.joblib')
|
了解更多 >> scikit-learn 文档:模型持久化
资源
官网
- scikit-learn 官网:https://scikit-learn.org
- scikit-learn 用户指南:https://scikit-learn.org/stable/user_guide.html
- scikit-learn 教程:https://scikit-learn.org/stable/tutorial/index.html
- scikit-learn 示例:https://scikit-learn.org/stable/auto_examples/index.html
- scikit-learn API:https://scikit-learn.org/stable/modules/classes.html
- scikit-learn 源代码:https://github.com/scikit-learn/scikit-learn