¿Qué es scikit-learn para Python?

Scikit-learn es una biblioteca de aprendizaje automático de software gratuito para el lenguaje de programación Python, que presenta una variedad de algoritmos de clasificación, regresión y agrupamiento, que incluyen máquinas de vectores de soporte, bosques aleatorios, aumento de gradiente, K-medias, y DBSCAN, y diseñado para funcionar con las bibliotecas de ciencia numérica de Python, Numpy y Scipy.

El proyecto Scikit-learn comenzó con Scikit.learn, el proyecto Google Summer of Code de David Cournapeau. Su nombre proviene del concepto de que es una extensión de terceros desarrollada y distribuida de forma independiente para Scikit, con el código base original reescrito posteriormente por otros desarrolladores. En 2010, Fabian Pedregosa, Gael Varoquaaux, Alexandre Gramfort y Vincent Michel, todos del Institut National de l'Informatique et Automation (INRA) de Roqueencourt, Francia, asumieron el liderazgo del proyecto e hicieron su IPO en dos el 1 de enero de 2010. Entre los diversos scikits, scikit-learn y scikit-image se describieron como bien mantenidos y populares en noviembre de 2012. Scikit-learn es una de las bibliotecas de aprendizaje automático más populares en GitHub.

Scikit-learn está escrito principalmente en Python y hace un uso extensivo de Numpy para operaciones de matrices y álgebra lineal de alto rendimiento. Además, algunos algoritmos centrales están escritos en cython para mejorar el rendimiento, las máquinas de vectores de soporte se implementan mediante el contenedor cython alrededor de LIBSVM; envoltorios similares para regresión logística y máquinas de vectores de soporte lineal están alrededor de LIBLINEAR. En este caso, es posible que no sea posible ampliar estos métodos utilizando Python.

Scikit-learn también se integra bien con muchas otras bibliotecas de Python, como matplotlib y plotly para trazar, numpy para vectorización de matrices, pandas data frames, scipy, etc.