Scikit Learn - 简介
在本章中,我们将了解什么是 Scikit-Learn 或 Sklearn、Scikit-Learn 的起源以及其他一些相关主题,例如负责开发和维护 Scikit-Learn 的社区和贡献者、其前提条件、安装及其功能。
什么是 Scikit-Learn (Sklearn)
Scikit-learn (Sklearn) 是 Python 中最实用、最强大的机器学习库。它通过 Python 的一致性接口提供了一系列高效的机器学习和统计建模工具,包括分类、回归、聚类和降维。这个库主要用 Python 编写,基于 NumPy、SciPy 和 Matplotlib 构建。
Scikit-Learn 的起源
它最初名为 scikits.learn,最初由 David Cournapeau 于 2007 年作为 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、JP Morgan、Evernote、Inria、AWeber、Spotify 等众多机构都在使用 Sklearn。
先决条件
在开始使用 scikit-learn 最新版本之前,我们需要以下 −
Python (>=3.5)
NumPy (>= 1.11.0)
Scipy (>= 0.17.0)li
Joblib (>= 0.11)
Sklearn 绘图功能需要 Matplotlib (>= 1.5.1)。
部分使用数据结构和分析的 scikit-learn 示例需要 Pandas (>= 0.18.0)。
安装
如果您已经安装了 NumPy 和 Scipy,以下是两种安装 scikit-learn 的最简单方法 −
使用 pip
以下命令可通过 pip − 安装 scikit-learn
pip install -U scikit-learn
使用 conda
以下命令可通过 conda − 安装 scikit-learn
conda install scikit-learn
另一方面,如果您的 Python 工作站上尚未安装 NumPy 和 Scipy,则可以使用 pip 或 conda 安装它们。
使用 scikit-learn 的另一种选择是使用 Python 发行版,例如 Canopy 和 Anaconda,因为它们都附带scikit-learn 的最新版本。
功能
Scikit-learn 库专注于数据建模,而非加载、操作和汇总数据。Sklearn 提供的一些最流行的模型组如下 −
监督学习算法 − 几乎所有流行的监督学习算法,例如线性回归、支持向量机 (SVM)、决策树等,都是 scikit-learn 的一部分。
无监督学习算法 − 另一方面,它也包含所有流行的无监督学习算法,从聚类、因子分析、PCA(主成分分析)到无监督神经网络。
聚类 −此模型用于对未标记数据进行分组。
交叉验证 − 用于检查监督模型对未见数据的准确性。
降维 − 用于减少数据中的属性数量,以便进一步用于汇总、可视化和特征选择。
集成方法 − 顾名思义,它用于组合多个监督模型的预测。
特征提取 − 用于从数据中提取特征以定义图像和文本数据中的属性。
特征选择 − 用于识别有用的属性以创建监督模型。
开源 −它是一个开源库,也可在 BSD 许可下用于商业用途。

