Scikit-learn

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 API:train_test_split


无监督降维

模型类型

机器学习算法通常分为:

  • 监督学习,如分类,回归
  • 无监督学习,如聚类,降维

对于选择何种算法,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 文档:模型持久化


资源

官网

相关教程

相关文章