scikit-learn
原作者 | David Cournapeau |
---|---|
首次發佈 | 2007年6月 |
當前版本 | 1.5.2[1](2024年9月11日,3個月前) |
原始碼庫 | |
程式語言 | Python, Cython, C, C++ |
作業系統 | Linux, macOS, Windows |
類型 | 機器學習庫 |
許可協議 | 三條款BSD許可證 |
網站 | scikit-learn |
Scikit-learn(曾叫做scikits.learn與sklearn)是用於Python程式語言的自由並開源的機器學習庫[2]。它包含了各種分類、回歸和聚類算法,包括多層感知器、支持向量機、隨機森林、梯度提升、k-平均聚類和DBSCAN,它被設計協同於Python數值庫NumPy和和科學庫SciPy。
概述
[編輯]scikit-learn計劃開始於scikits.learn,它是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截至2012年11月[update]是「良好維護和流行的」[5]。Scikit-learn是在GitHub上最流行的機器學習庫之一[6]。
實現
[編輯]Scikit-learn主要用Python編寫的,並廣泛使用NumPy進行高性能線性代數和數組運算。此外,一些核心算法用Cython書寫來以提高性能。在某些情況下,用Python擴展出特定方法是不可能的;比如支持向量機,是通過用Cython包裝LIBSVM實現;邏輯斯諦回歸和線性支持向量機,是通過對LIBLINEAR的類似的包裝實現的。
Scikit-learn與很多其他Python庫可以良好的集成起來,比如用於繪圖的matplotlib和plotly,用於陣列向量化的NumPy,用於數據幀的pandas,用於科學計算的SciPy等等。
有關工具
[編輯]- sklearn-onnx是將scikit-learn模型轉換成ONNX的工具[7]。
- SciKeras是對Keras模塊的scikit-learn兼容的包裝器[8]。
- skorch是包裝了PyTorch的scikit-learn兼容的神經網絡庫[9]。
參見
[編輯]引用
[編輯]- ^ 1.0 1.1 Release 1.5.2. 2024年9月11日 [2024年9月26日].
- ^ 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).