|Original author(s)||David Cournapeau|
|Initial release||June 2007|
|Stable release||0.13.1 / February 23, 2013|
|Preview release||0.14a1 / July 29, 2013|
|Written in||Python, Cython, C and C++|
|Operating system||Linux, Mac OS X, Microsoft Windows|
|Type||Library for machine learning|
scikit-learn (formerly scikits.learn) is an open source machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support vector machines, logistic regression, naive Bayes, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.
History and status
The scikit-learn project started as scikits.learn, a Google Summer of Code project by David Cournapeau. Its name stems from the notion that it is a "SciKit" (SciPy Toolkit), a separately-developed and distributed third-party extension to SciPy. The original codebase was later extensively rewritten by other developers. Of the various scikits, scikit-learn as well as scikit-image were described as "well-maintained and popular" in November 2012[update].
As of 2013[update], scikit-learn is under active development and is sponsored by INRIA and occasionally Google (through the Google Summer of Code). Among its users is Evernote, which uses the library to distinguish recipes from other user posts through a naive Bayes classifier, and Mendeley, which builds recommender systems from scikit-learn's SGD regression. The Python Natural Language Toolkit (NLTK) includes a wrapper to allow use of scikit-learn through the
scikit-learn is largely written in Python, with some core algorithms written in Cython to achieve performance. Support vector machines are implemented by a Cython wrapper around LIBSVM. Logistic Regression and Linear support vector machines are implemented by a Cython wrapper around LIBLINEAR.
- "Welcome to the SciPy Toolkits". 7 October 2009. Retrieved 7 June 2013.
- 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 (2011). "Scikit-learn: Machine Learning in Python". Journal of Machine Learning Research 12: 2825–2830.
- Eli Bressert (2012). SciPy and NumPy: an overview for developers. O'Reilly. p. 43.
- "About Us". http://scikit-learn.org. Retrieved 3 May 2013.
- Mark Ayzenshtat (22 January 2013). "Stay classified". Evernote Techblog. Retrieved 4 May 2013.
- Mark Levy (2013). "Efficient Top-N Recommendation by Linear Regression". ACM RecSys Large Scale Recommender System workshop.
scikitlearnModule". NLTK 2.0 Documentation. Retrieved 4 May 2013.