Articulo de referencia

scikit-learn

scikit-learn (anteriormente scikits.learn y también conocido como sklearn ) es una biblioteca de aprendizaje automático gratuita y de código abierto para el lenguaje de programa...

scikit-learn (anteriormente scikits.learn y también conocido como sklearn ) es una biblioteca de aprendizaje automático gratuita y de código abierto para el lenguaje de programación Python . [ 3 ] Incluye varios algoritmos de clasificación , regresión y agrupamiento , como máquinas de vectores de soporte , bosques aleatorios , potenciación de gradiente , k -medias y DBSCAN , y está diseñado para interoperar con las bibliotecas numéricas y científicas de Python NumPy y SciPy . Scikit-learn es un proyecto patrocinado fiscalmente por NumFOCUS . [ 4 ]

Descripción general

El proyecto scikit-learn comenzó como scikits.learn, un proyecto de Google Summer of Code del científico de datos francés David Cournapeau . El nombre del proyecto deriva de su función como un "conjunto de herramientas científicas para el aprendizaje automático", desarrollado y distribuido originalmente como una extensión de terceros para SciPy . [ 5 ] El código fuente original fue posteriormente reescrito por otros desarrolladores . En 2010, los colaboradores Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort y Vincent Michel, del Instituto Francés de Investigación en Ciencias de la Computación y Automatización en Saclay , Francia , asumieron el liderazgo del proyecto y lanzaron la primera versión pública de la biblioteca el 1 de febrero de 2010. [ 6 ] En noviembre de 2012, scikit-learn, al igual que scikit-image, fueron descritas como dos de las bibliotecas scikits "bien mantenidas y populares". [ 7 ] En 2019, se observó que scikit-learn era una de las bibliotecas de aprendizaje automático más populares en GitHub . [ 8 ] En ese momento, el proyecto tenía más de 1400 colaboradores y la documentación recibió 42 millones de visitas en 2018. [ 9 ] Según una encuesta de Kaggle de 2022 con casi 24 000 encuestados de 173 países, scikit-learn fue identificado como el marco de aprendizaje automático más utilizado. [ 10 ]

Características

  • Amplio catálogo de algoritmos de aprendizaje automático y métodos de preprocesamiento de datos bien establecidos (es decir, ingeniería de características ).
  • Métodos de utilidad para tareas comunes de ciencia de datos, como dividir los datos en conjuntos de entrenamiento y prueba , validación cruzada y búsqueda en cuadrícula.
  • Método consistente para ejecutar modelos de aprendizaje automático ( y ), qué bibliotecas pueden implementarestimator.fit()estimator.predict()
  • Forma declarativa de estructurar un proceso de ciencia de datos (el Pipeline), que incluye el preprocesamiento de datos y el ajuste de modelos.

Ejemplos

Ajuste de un clasificador de bosque aleatorio :

>>> from sklearn.ensemble import RandomForestClassifier >>> classifier = RandomForestClassifier ( random_state = 0 ) >>> X = [[ 1 , 2 , 3 ], # 2 muestras, 3 características ... [ 11 , 12 , 13 ]] >>> y = [ 0 , 1 ] # clases de cada muestra >>> classifier . fit ( X , y ) RandomForestClassifier(random_state=0)

Implementación

scikit-learn está escrito principalmente en Python y utiliza NumPy de forma intensiva para operaciones de álgebra lineal y matrices de alto rendimiento. Además, algunos algoritmos principales están escritos en Cython para mejorar el rendimiento. Las máquinas de vectores de soporte se implementan mediante una capa de abstracción en Cython sobre LIBSVM ; la regresión logística y las máquinas de vectores de soporte lineales mediante una capa similar sobre LIBLINEAR . En estos casos, extender estos métodos con Python puede no ser posible.

scikit-learn se integra bien con muchas otras bibliotecas de Python, como Matplotlib y plotly para la creación de gráficos, NumPy para la vectorización de matrices, dataframes de Pandas , SciPy y muchas más.

Historia

scikit-learn fue desarrollado inicialmente por David Cournapeau como un proyecto de Google Summer of Code en 2007. Ese mismo año, Matthieu Brucher se unió al proyecto y comenzó a usarlo como parte de su tesis. En 2010, INRIA , el Instituto Francés de Investigación en Informática y Automatización , se involucró y la primera versión pública (v0.1 beta) se publicó a finales de enero de 2010.

El proyecto lanzó su primera versión estable, la 1.0.0, el 24 de septiembre de 2021. [ 11 ] El lanzamiento fue el resultado de más de 2100 solicitudes de extracción fusionadas, aproximadamente 800 de las cuales se dedicaron a mejorar la documentación. [ 12 ] El desarrollo continúa centrándose en la corrección de errores, la eficiencia y la ampliación de funciones.

La última versión, la 1.8, se publicó el 10 de diciembre de 2025. [ 11 ] Esta actualización introdujo compatibilidad con la API nativa de Array, lo que permitió a la biblioteca realizar cálculos en la GPU utilizando directamente los arrays de PyTorch y CuPy. Esta versión también incluyó correcciones de errores, mejoras y nuevas características, como mejoras en la eficiencia del tiempo de ajuste de los modelos lineales. [ 13 ]

Aplicaciones

Scikit-learn se utiliza ampliamente en diversos sectores para una variedad de tareas de aprendizaje automático, como clasificación, regresión, agrupamiento y selección de modelos. A continuación, se presentan aplicaciones reales de la biblioteca:

Finanzas y seguros

  • AXA utiliza scikit-learn para acelerar el proceso de indemnización por accidentes de tráfico y para detectar el fraude en las aseguradoras. [ 14 ]
  • Zopa , una plataforma de préstamos entre particulares, emplea scikit-learn para el modelado del riesgo crediticio, la detección de fraudes, la segmentación de mercado y la fijación de precios de los préstamos. [ 14 ]
  • BNP Paribas Cardif utiliza scikit-learn para mejorar el envío de correo entrante y gestionar la gobernanza del riesgo del modelo interno a través de pipelines que reducen los riesgos operativos y de sobreajuste. [ 14 ]
  • JP Morgan informa de un uso generalizado de scikit-learn en todo el banco para tareas de clasificación y análisis predictivo en la toma de decisiones financieras. [ 14 ]

Comercio minorista y comercio electrónico

  • Booking.com utiliza scikit-learn para sistemas de recomendación de hoteles y destinos, detección de reservas fraudulentas y programación de personal para agentes de atención al cliente. [ 14 ]
  • HowAboutWe lo utiliza para predecir la participación y las preferencias de los usuarios en una plataforma de citas. [ 14 ]
  • Lovely aprovecha la biblioteca para comprender el comportamiento del usuario y detectar actividades fraudulentas en su plataforma. [ 14 ]
  • Data Publica lo utiliza para la segmentación de clientes en función del éxito de asociaciones anteriores. [ 14 ]
  • Otto Group integra scikit-learn en toda su pila de ciencia de datos, particularmente en la optimización logística y las recomendaciones de productos. [ 14 ]

Medios de comunicación, marketing y plataformas sociales

  • Spotify aplica scikit-learn en sus sistemas de recomendación. [ 14 ]
  • Betaworks utiliza la biblioteca tanto para sistemas de recomendación (por ejemplo, para Digg) como para agrupamiento dinámico de subespacios aplicado a datos de pronóstico meteorológico. [ 14 ]
  • PeerIndex utilizó scikit-learn para la imputación de datos faltantes, la clasificación de tweets y la agrupación de comunidades en análisis de redes sociales. [ 14 ]
  • Bestofmedia Group lo emplea para la detección de spam y la predicción de clics en anuncios. [ 14 ]
  • Machinalis utiliza scikit-learn para la predicción de la tasa de clics y la extracción de información relacional para la clasificación de contenido y la optimización de la publicidad. [ 14 ]
  • Change.org utiliza scikit-learn para el envío de correos electrónicos dirigidos según el comportamiento del usuario. [ 14 ]

Tecnología

  • AWeber utiliza scikit-learn para extraer características de los correos electrónicos y crear flujos de trabajo para gestionar campañas de correo electrónico a gran escala. [ 14 ]
  • Solido lo aplica a tareas de diseño de semiconductores, como la estimación de eventos raros y la verificación del peor caso mediante aprendizaje estadístico. [ 14 ]
  • Evernote , Dataiku y otras empresas tecnológicas emplean scikit-learn en flujos de trabajo de prototipado y producción debido a su API consistente y su integración con el ecosistema de Python. [ 14 ]

Academia

  • Télécom ParisTech integra scikit-learn en cursos y tareas prácticas como parte de su plan de estudios de aprendizaje automático. [ 14 ]

Premios

  • Premio a la Innovación Inria-Academia Francesa de Ciencias-Dassault Systèmes 2019: Otorgado en reconocimiento al impacto de scikit-learn como un importante avance del software libre en el aprendizaje automático y su papel en la transformación digital de la ciencia y la industria. [ 15 ]
  • Premio de Ciencia Abierta 2022 para Software de Investigación de Código Abierto : Otorgado por el Ministerio de Educación Superior e Investigación de Francia como parte del segundo Plan Nacional de Ciencia Abierta. El proyecto fue reconocido en la categoría "Comunidad" por su calidad técnica, su amplia red internacional de colaboradores y la calidad de su documentación. [ 16 ]

Véase también

Referencias

  1. "Versión 1.9.0" . 2 de junio de 2026. Consultado el 3 de junio de 2026 .
  2. "El proyecto de código abierto scikit-learn en Open Hub: Página de idiomas" . Open Hub . Consultado el 14 de julio de 2018 .
  3. Fabián Pedregosa; Gaël Varoquaux; Alejandro Gramfort; Vicente Michel; Bertrand Thirion; Olivier Grisel; Mathieu Blondel; Peter Prettenhofer; Ron Weiss; Vicente Dubourg; Jake Vanderplas; Alejandro Passos; David Cournapeau; Matthieu Perrot; Édouard Duchesnay (2011). "scikit-learn: aprendizaje automático en Python" . Revista de investigación sobre aprendizaje automático . 12 : 2825–2830 . arXiv : 1201.0490 . Código Bib : 2011JMLR...12.2825P .
  4. "Proyectos patrocinados por NumFOCUS" . NumFOCUS . Consultado el 25 de octubre de 2021 .
  5. Dreijer, Janto. "scikit-learn" . Archivado del original el 7 de noviembre de 2020. Consultado el 4 de marzo de 2015 .
  6. "Acerca de nosotros — Documentación de scikit-learn 0.20.1" . scikit-learn.org .
  7. Eli Bressert (2012). SciPy y NumPy: una visión general para desarrolladores . O'Reilly. pág. 43. ISBN  978-1-4493-6162-4.
  8. "El estado del Octoverso: aprendizaje automático" . El blog de GitHub . GitHub . 24 de enero de 2019. Consultado el 17 de octubre de 2019 .
  9. "Premio a la Innovación Inria-Academia Francesa de Ciencias-Dassault Systèmes 2019 : scikit-learn, un caso de éxito para el software libre de aprendizaje automático" . www.inria.fr . Consultado el 10 de enero de 2026 . 
  10. "Encuesta de Kaggle sobre aprendizaje automático y ciencia de datos 2022" . Kaggle . Consultado el 10 de enero de 2026 .
  11. 1 2 "Historial de versiones de scikit-learn" . pypi.org/ . Consultado el 10 de enero de 2026 .
  12. "Aspectos destacados de la versión 1.0 de scikit-learn" . scikit-learn.org . Consultado el 10 de enero de 2026 .
  13. "Novedades destacadas de la versión 1.8 de scikit-learn" . scikit-learn.org . Consultado el 10 de enero de 2026 .
  14. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 "Testimonios" . scikit-learn.org . Consultado el 6 de agosto de 2025 .
  15. "Premio a la Innovación Inria-Academia Francesa de Ciencias-Dassault Systèmes 2019 : scikit-learn, un caso de éxito para el software libre de aprendizaje automático | Inria" . www.inria.fr . Consultado el 19 de marzo de 2025 . 
  16. Badolato, Anne-Marie (2022-02-07). "Premios de Ciencia Abierta para Software de Investigación de Código Abierto" . Ouvrir la Science . Recuperado el 19 de marzo de 2025 .
  • Sitio web oficial
  • scikit-learn en GitHub