Scikit Learn - 简介



在本章中,我们将了解什么是 Scikit-Learn 或 Sklearn,Scikit-Learn 的起源以及其他相关主题,例如负责 Scikit-Learn 开发和维护的社区和贡献者、其先决条件、安装及其功能。

什么是 Scikit-Learn (Sklearn)

Scikit-learn (Sklearn) 是 Python 中最有用和强大的机器学习库。它提供了一系列高效的机器学习和统计建模工具,包括分类、回归、聚类和降维,通过 Python 中的一致性接口实现。这个库主要用 Python 编写,建立在NumPy、SciPyMatplotlib 之上。

Scikit-Learn 的起源

它最初被称为scikits.learn,并于 2007 年由 David Cournapeau 作为 Google Summer of Code 项目开发。后来,在 2010 年,来自 FIRCA(法国计算机科学与自动化研究所)的 Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort 和 Vincent Michel 将该项目提升到另一个高度,并在 2010 年 2 月 1 日发布了第一个公开版本(v0.1 beta)。

让我们看看它的版本历史 -

  • 2019 年 5 月:scikit-learn 0.21.0

  • 2019 年 3 月:scikit-learn 0.20.3

  • 2018 年 12 月:scikit-learn 0.20.2

  • 2018 年 11 月:scikit-learn 0.20.1

  • 2018 年 9 月:scikit-learn 0.20.0

  • 2018 年 7 月:scikit-learn 0.19.2

  • 2017 年 7 月:scikit-learn 0.19.0

  • 2016 年 9 月. scikit-learn 0.18.0

  • 2015 年 11 月. scikit-learn 0.17.0

  • 2015 年 3 月. scikit-learn 0.16.0

  • 2014 年 7 月. scikit-learn 0.15.0

  • 2013 年 8 月. scikit-learn 0.14

社区与贡献者

Scikit-learn 是一项社区努力,任何人都可以为其做出贡献。该项目托管在 https://github.com/scikit-learn/scikit-learn。 以下人员目前是 Sklearn 开发和维护的核心贡献者 -

  • Joris Van den Bossche(数据科学家)

  • Thomas J Fan(软件开发人员)

  • Alexandre Gramfort(机器学习研究员)

  • Olivier Grisel(机器学习专家)

  • Nicolas Hug(助理研究科学家)

  • Andreas Mueller(机器学习科学家)

  • Hanmin Qin(软件工程师)

  • Adrin Jalali(开源开发者)

  • Nelle Varoquaux(数据科学研究员)

  • Roman Yurchak(数据科学家)

Booking.com、摩根大通、Evernote、Inria、AWeber、Spotify 等众多组织都在使用 Sklearn。

先决条件

在我们开始使用 scikit-learn 最新版本之前,我们需要以下内容 -

  • Python (>=3.5)

  • NumPy (>= 1.11.0)

  • Scipy (>= 0.17.0)

  • Joblib (>= 0.11)

  • Matplotlib (>= 1.5.1) 是 Sklearn 绘图功能所必需的。

  • Pandas (>= 0.18.0) 是某些使用数据结构和分析的 scikit-learn 示例所必需的。

安装

如果您已经安装了 NumPy 和 Scipy,以下两种方法是最简单的安装 scikit-learn 的方法 -

使用 pip

可以使用以下命令通过 pip 安装 scikit-learn -

pip install -U scikit-learn

使用 conda

可以使用以下命令通过 conda 安装 scikit-learn -

conda install scikit-learn

另一方面,如果您的 Python 工作站上尚未安装 NumPy 和 Scipy,则可以使用pipconda 安装它们。

使用 scikit-learn 的另一种方法是使用CanopyAnaconda 等 Python 发行版,因为它们都附带了 scikit-learn 的最新版本。

功能

Scikit-learn 库侧重于对数据进行建模,而不是侧重于加载、处理和汇总数据。Sklearn 提供的一些最受欢迎的模型组如下 -

监督学习算法 - 几乎所有流行的监督学习算法,如线性回归、支持向量机 (SVM)、决策树等,都是 scikit-learn 的一部分。

无监督学习算法 - 另一方面,它还包含从聚类、因子分析、PCA(主成分分析)到无监督神经网络的所有流行的无监督学习算法。

聚类 - 此模型用于对未标记数据进行分组。

交叉验证 - 用于检查监督模型在未见过的数据上的准确性。

降维 - 用于减少数据中属性的数量,可进一步用于汇总、可视化和特征选择。

集成方法 - 顾名思义,它用于组合多个监督模型的预测。

特征提取 - 用于从数据中提取特征以定义图像和文本数据中的属性。

特征选择 - 用于识别有用的属性以创建监督模型。

开源 - 它是一个开源库,并且可以在 BSD 许可下进行商业使用。

广告