Scikit-learn
- 1.5.1 (2024年7月3日;穩定版本)[1]
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
- github
.com /scikit-learn /scikit-learn
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
Scikit-learn(曾叫做scikits.learn与sklearn)是用于Python编程语言的自由软件机器学习库[2]。它包含了各种分类、回归和聚类算法,包括多层感知器、支持向量机、随机森林、梯度提升、k-平均聚类和DBSCAN,它被设计协同于Python数值库NumPy和和科学库SciPy。
概述
scikit-learn计划开始于scikits.learn,它是David Cournapeau(英语:David Cournapeau)的Google编程之夏计划。它的名字来源自成为“SciKit”(SciPy工具箱)的想法,即一个独立开发和发行的第三方SciPy扩展[3]。最初的代码库被其他开发者重写了。在2010年,来自法国罗康库尔的法国国家信息与自动化研究所的Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort和Vincent Michel,领导了这个项目并在2010年2月1日进行了首次公开发行[4]。在各种scikit中,scikit-learn和scikit-image(英语:scikit-image)截至2012年11月 (2012-11)[update]是“良好维护和流行的”[5]。Scikit-learn是在GitHub上最流行的机器学习库之一[6]。
实现
Scikit-learn主要用Python编写的,并广泛使用NumPy进行高性能线性代数和数组运算。此外,一些核心算法用Cython书写来以提高性能。在某些情况下,用Python扩展出特定方法是不可能的;比如支持向量机,是通过用Cython包装LIBSVM(英语:LIBSVM)实现;逻辑斯谛回归和线性支持向量机,是通过对LIBLINEAR(英语:LIBLINEAR)的类似的包装实现的。
Scikit-learn与很多其他Python库可以良好的集成起来,比如用于绘图的matplotlib和plotly(英语:plotly),用于阵列向量化的NumPy,用于数据帧的pandas,用于科学计算的SciPy等等。
有关工具
- sklearn-onnx是将scikit-learn模型转换成ONNX的工具[7]。
- SciKeras是对Keras模块的scikit-learn兼容的包装器[8]。
- skorch是包装了PyTorch的scikit-learn兼容的神经网络库[9]。
参见
- mlpy(英语:mlpy)
- SpaCy(英语:SpaCy)
- NLTK(英语:Natural Language Toolkit)
- Orange(英语:Orange (software))
- PyTorch
- TensorFlow
- Infer.NET(英语:Infer.NET)
- 数值分析软件
引用
- ^ 1.0 1.1 1.2 Release 1.5.1. 2024年7月3日 [2024年7月27日].
- ^ 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. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research. 2011, 12: 2825–2830 [2020-10-31]. (原始内容存档于2020-12-01).
- ^ Dreijer, Janto. scikit-learn. [2020-10-31]. (原始内容存档于2020-11-07).
- ^ About us — scikit-learn 0.20.1 documentation. scikit-learn.org. [2020-10-31]. (原始内容存档于2020-11-06).
- ^ Eli Bressert. SciPy and NumPy: an overview for developers. O'Reilly. 2012: 43 [2020-10-31]. (原始内容存档于2016-04-25).
- ^ The State of the Octoverse: machine learning. The GitHub Blog. GitHub. 2019-01-24 [2019-10-17]. (原始内容存档于2020-11-07) (美国英语).
- ^ sklearn-onnx — Convert scikit-learn models and pipelines to ONNX. [2023-09-22]. (原始内容存档于2023-10-11).
- ^ SciKeras - Scikit-Learn API wrapper for Keras. [2022-09-01]. (原始内容存档于2022-06-19).
- ^ skorch - A scikit-learn compatible neural network library that wraps PyTorch. [2022-09-01]. (原始内容存档于2022-08-24).
外部链接
- 官方网站
|
|