scikit-learn
Scikit-learn(曾叫做scikits.learn还叫做sklearn)是用于Python编程语言的自由软件机器学习库[3]。它的特征是具有各种分类、回归和聚类算法,包括支持向量机、随机森林、梯度提升、k-平均聚类和DBSCAN,它被设计协同于Python数值和科学库NumPy和SciPy。
原作者 | David Cournapeau |
---|---|
初始版本 | 2007年6月 |
穩定版本 | |
源代码库 | |
编程语言 | Python, Cython, C, C++ |
操作系统 | Linux, macOS, Windows |
类型 | 机器学习库 |
许可协议 | 三条款BSD许可证 |
网站 | scikit-learn |
概述
scikit-learn计划开始于scikits.learn,它是David Cournapeau的Google编程之夏计划。它的名字来源自成为“SciKit”(SciPy工具箱)的想法,即一个独立开发和发行的第三方SciPy扩展[4]。最初的代码库被其他开发者重写了。在2010年,来自法国罗康库尔的法国国家信息与自动化研究所的Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort和Vincent Michel,领导了这个项目并在2010年2月1日进行了首次公开发行[5]。在各种scikit中,scikit-learn和scikit-image截至2012年11月 被称为“良好维护和流行的”[6]。Scikit-learn是在GitHub上最流行的机器学习库之一[7]。
实现
Scikit-learn在很大程度上是用Python书写的,并大量使用了NumPy来进行高性能线性代数和数组运算。进一步的,一些核心算法用Cython书写来增进性能。支持向量机是通过对LIBSVM的Cython包装来实现的;逻辑回归和线性支持向量机是通过对LIBLINEAR的类似的包装实现的。在这些情况下,用Python扩展出这些方法是不可能的。
Scikit-learn良好集成于很多其他Python库,比如用于绘图的matplotlib和plotly,用于数组向量化的NumPy,用于数据帧的pandas,SciPy等等。
参见
- mlpy
- SpaCy
- NLTK
- Orange
- PyTorch
- TensorFlow
- Infer.NET
- 数值分析软件列表
引用
- . [2020-10-31]. (原始内容存档于2020-09-19).
- . Python Package Index.
- Fabian Pedregosa; Gaël Varoquaux; Alexandre Gramfort; Vincent Michel; Bertrand Thirion; Olivier Grisel; Mathieu Blondel; Peter Prettenhofer; Ron Weiss; Vincent Dubourg; Jake Vanderplas; Alexandre Passos; David Cournapeau; Matthieu Perrot; Édouard Duchesnay. . Journal of Machine Learning Research. 2011, 12: 2825–2830 [2020-10-31]. (原始内容存档于2020-12-01).
- Dreijer, Janto. . [2020-10-31]. (原始内容存档于2020-11-07).
- . scikit-learn.org. [2020-10-31]. (原始内容存档于2020-11-06).
- Eli Bressert. . O'Reilly. 2012: 43 [2020-10-31]. (原始内容存档于2016-04-25).
- . The GitHub Blog. GitHub. 2019-01-24 [2019-10-17]. (原始内容存档于2020-11-07) (美国英语).