Scikit Learn 简明教程
Scikit Learn - Introduction
在本章中,我们将了解什么是 Scikit-Learn 或 Sklearn、Scikit-Learn 的起源以及其他一些相关主题,例如负责 Scikit-Learn 开发和维护的社区和贡献者、它的前提条件、安装和它的特性。
What is Scikit-Learn (Sklearn)
Scikit-learn (Sklearn) 是 Python 中最有用且健壮的机器学习库。它通过 Python 中的一致界面提供一系列高效的工具,用于机器学习和统计建模,包括分类、回归、聚类和降维。此库在很大程度上是用 Python 编写的,它基于 NumPy, SciPy 和 Matplotlib 构建。
Origin of Scikit-Learn
它最初称为 scikits.learn ,最初由 David Cournapeau 在 2007 年作为谷歌代码夏季项目开发。后来,在 2010 年,来自 FIRCA(法国计算机科学与自动化研究院)的 Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort 和 Vincent Michel 将该项目带到了另一个层次,并于 2010 年 2 月 1 日发布了第一个公开版本 (v0.1 beta)。
让我们看看它的版本历史 −
-
May 2019: scikit-learn 0.21.0
-
March 2019: scikit-learn 0.20.3
-
December 2018: scikit-learn 0.20.2
-
November 2018: scikit-learn 0.20.1
-
September 2018: scikit-learn 0.20.0
-
July 2018: scikit-learn 0.19.2
-
July 2017: scikit-learn 0.19.0
-
September 2016. scikit-learn 0.18.0
-
November 2015. scikit-learn 0.17.0
-
March 2015. scikit-learn 0.16.0
-
July 2014. scikit-learn 0.15.0
-
August 2013. scikit-learn 0.14
Community & contributors
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 (Software Engineer)
-
Adrin Jalali(开源开发人员)
-
Nelle Varoquaux(数据科学研究员)
-
Roman Yurchak (Data Scientist)
各种机构都在使用 Sklearn,例如 Booking.com、JP Morgan、Evernote、Inria、AWeber、Spotify 以及更多其他机构。
Prerequisites
在我们开始使用 scikit-learn 的最新版本之前,我们需要满足以下要求:
-
Python (>=3.5)
-
NumPy (>= 1.11.0)
-
Scipy (>= 0.17.0)li
-
Joblib (>= 0.11)
-
需要使用 Matplotlib(>= 1.5.1)来获取 Sklearn 的绘图能力。
-
需要使用 Pandas(>= 0.18.0)来获取一些使用数据结构和分析的 scikit-learn 示例。
Features
Scikit-learn 库专注于对数据进行建模,而不是专注于加载、处理和汇总数据。Sklearn 提供的一些最流行的模型组如下:
Supervised Learning algorithms - scikit-learn 包含几乎所有的流行监督学习算法,例如线性回归、支持向量机 (SVM)、决策树等。
Unsupervised Learning algorithms - 另一方面,它还包含从聚类、因子分析、PCA(主成分分析)到无监督神经网络的所有流行无监督学习算法。
Clustering - 此模型用于对未标记的数据进行分组。
Cross Validation − 用于检查监督模型在未见过数据上的准确性。
Dimensionality Reduction − 用于减少数据中的属性数量,此数量可进一步用于汇总、可视化和功能选择。
Ensemble methods − 如名称所示,用于组合多个监督模型的预测。
Feature extraction − 用于从数据中提取功能,以便定义图像和文本数据中的属性。
Feature selection − 用于识别创建监督模型的有用属性。
Open Source − 它是开源库,也可以在 BSD 许可证下进行商业使用。