Scikit-learn
(重定向自Sklearn)
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