WOT

Monday, November 16, 2020

Bibliotecas de Python más importantes en ciencia de datos, visualización de datos y aprendizaje automático

 

 Top Python Libraries for Data Science, Data Visualization & Machine Learning

 

This article is a translation of the original that appears on KDnuggets: 

https://www.kdnuggets.com/2020/11/top-python-libraries-data-science-data-visualization-machine-learning.html

Thank you very much for allowing its publication in Spanish.

Muchas gracias por permitir su publicación en español. 

 



 
Bibliotecas de Python más importantes en ciencia de datos, visualización de datos y aprendizaje automático

 


Etiquetas: Automated Machine LearningAutoMLData ExplorationData ProcessingData ScienceData VisualizationExplainabilityMachine LearningPython



Este artículo presenta las 38 bibliotecas más importantes de Python que se aplican en ciencia de datos, en visualización de datos y en aprendizaje automático, según el mejor criterio de los responsables de KDnuggets.


 

Autor Matthew Mayo, KDnuggets.

.

Ha pasado algún tiempo desde la última vez que elaboramos un resumen de las bibliotecas de Python y, por este motivo, hemos aprovechado la oportunidad para comenzar el mes de noviembre con una lista actualizada.

 

La última vez que hicimos algo parecido a esto en KDnuggets, el editor y autor Dan Clark dividió la amplia gama de bibliotecas de Python relacionadas con la ciencia de datos en varias colecciones más pequeñas, las bibliotecas de ciencia de datos, las de aprendizaje automático y las de aprendizaje profundo. Si bien dividir las bibliotecas en categorías es intrínsecamente arbitrario, esto tenía sentido en el momento de la publicación anterior.

 

Esta vez, sin embargo, hemos dividido en dos las bibliotecas de Python de código abierto recopiladas que se aplican a la ciencia de datos. Esta primera publicación (este artículo) trata de "ciencia de datos, visualización de datos y aprendizaje automático" que pueden considerarse herramientas de ciencia de datos "tradicionales" que se ocupan de tareas habituales. La segunda publicación, que verá la luz dentro de unos días, se ocupará de las bibliotecas que se utilizan en la creación de redes neuronales y las que realizan tareas de procesamiento del lenguaje natural y visión por computador.

Una vez más, esta separación y clasificación es arbitraria, en algunos casos más que en otros, pero hemos hecho todo lo posible para agrupar las herramientas por casos de uso previstos, con la esperanza de que sea más útil para los lectores.

Las categorías incluidas en esta publicación, que consideramos que tienen en cuenta las bibliotecas de ciencia de datos tradicionales, aquellas que probablemente las utilicen los profesionales en el entorno de la ciencia de datos para trabajos de índole general, no relacionados con redes neuronales ni con la investigación, son:

  • Datos: bibliotecas para la gestión, manipulación y otros tipos de procesamiento de datos.
  • Matemáticas: mientras que muchas bibliotecas realizan tareas matemáticas, esta pequeña colección se dedica a ello de forma exclusiva.
  • Aprendizaje automático: autoexplicativo; excluye bibliotecas destinadas principalmente a crear redes neuronales o a automatizar procesos de aprendizaje automático.
  • Aprendizaje automático automatizado: bibliotecas que funcionan principalmente para automatizar procesos relacionados con el aprendizaje automático.
  • Visualización de datos: bibliotecas que sirven principalmente para llevar a cabo funciones relacionadas con la visualización de datos, en contraposición al modelado, preprocesamiento, etc.
  • Explicación y exploración: bibliotecas empleadas principalmente para explorar y explicar modelos o datos.

 

La lista está formada por las bibliotecas que nuestro equipo decidió por consenso que eran representativas de las bibliotecas de Python tradicionales y que se utilizan profusamente. Además, para incluir en la lista una biblioteca, debe tener un repositorio Github. Las categorías no siguen un orden en concreto, y tampoco se incluyen las bibliotecas que contiene cada una. Contemplamos en su momento la posibilidad de seguir un orden arbitrario mediante estrellas o a través de alguna otra métrica, pero decidimos no hacerlo para no desviarnos explícitamente de identificar cualquier valor considerado o la importancia de las bibliotecas que contengan. El listado aquí, entonces, es puramente aleatorio. Las descripciones de las bibliotecas provienen, de una forma u otra, directamente de los repositorios de Github.

Gracias a Ahmed Anis por su comtribución a la recolección de los datos, y al resto del personal de KDnuggets  por sus aportaciones, conocimientos y sugerencias.

Hay que tener en cuenta que la visualización, de Gregory Piatetsky, que aparece a continuación, representa cada biblioteca según el tipo en una gráfica de estrellas (eje de ordenadas) y colaboradores (eje de abscisas), y el tamaño de cada símbolo representa el número relativo de commits que la biblioteca tiene en Github.


Figura 1: Bibliotecas de Python más importantes en ciencia de datos, visualización de datos y aprendizaje automático
Distribuidas según el número de estrellas y el número de colaboradores. El tamaño depende del número de colaboradores

 

Y, sin más preámbulos, aquí están las 38 principales bibliotecas de Python para ciencia de datos, visualización de datos y aprendizaje automático, según el mejor criterio de los responsables de KDnuggets.

 


Datos

 
1. 
Apache Spark

Estrellas: 27600, Commits: 28197, Colaboradores: 1638

Apache Spark es un motor de análisis unificado para el procesamiento de datos a gran escala

2. Pandas
Estrellas: 26800, Commits: 24300, Colaboradores: 2126

Pandas es un paquete de Python que proporciona estructuras de datos rápidas, flexibles y de fácil interpretación, diseñadas para que el trabajo con datos "relacionales" o "etiquetados" sea fácil e intuitivo. Su objetivo es ser el componente fundamental de alto nivel para realizar análisis de datos prácticos del mundo real con Python.

3. Dask
Estrellas: 7300, Commits: 6149, Colaboradores: 393

Computación en paralelo con programación de tareas

 

Matemáticas

 
4. Scipy
Estrellas: 7500, Commits: 24247, Colaboradores: 914

SciPy (pronunciado “saɪ  paɪ") es un software de código abierto para matemáticas, ciencias e ingeniería. Incluye módulos para estadísticas, optimización, integración, álgebra lineal, transformadas de Fourier, procesamiento de señales e imágenes, solucionadores de ODE, etc.

5. Numpy
Estrellas: 1500, Commits: 24266, Colaboradores: 1010

El paquete fundamental para informática científica con Python.

 

Aprendizaje automático

 
6. 
Scikit-Learn
Estrellas: 42500, Commits: 26162, Colaboradores: 1881

Scikit-learn es un módulo de Python para el aprendizaje automático creado sobre SciPy y se distribuye bajo la licencia 3-Clause BSD.

7. XGBoost
Estrellas: 19900, Commits: 5015, Colaboradores: 461

Biblioteca de aumento de gradiente escalable, portátil y distribuida (GBDT, GBRT o GBM), para Python, R, Java, Scala, C ++, etc. Se ejecuta en una sola máquina, Hadoop, Spark, Flink y DataFlow

8. LightGBM
Estrellas: 11600, Commits: 2066, Colaboradores: 172

Es una etructura de aumento de gradiente rápido, distribuida y de alto rendimiento (GBT, GBDT, GBRT, GBM o MART) basada en algoritmos de árbol de decisiones, que se utiliza para la ordenación, clasificación y muchas otras tareas de aprendizaje automático.

9. Catboost
Estrellas: 5400, Commits: 12936, Colaboradores: 188

Es una biblioteca de aumento de gradiente en árboles de decisión rápida, escalable y de alto rendimiento, que se utiliza para la clasificación, regresión y otras tareas de aprendizaje automático para Python, R, Java, C ++. Admite cálculos en CPU y GPU.

10. Dlib
Estrellas: 9500, Commits: 7868, Colaboradores: 146

Dlib es un moderno conjunto de herramientas de C ++ que contiene algoritmos y herramientas de aprendizaje automático para crear software complejo en C ++ con el que resolver problemas del mundo real. Se puede usar con Python a través de la API de Dlib.

11. Annoy
Estrellas: 7700, Commits: 778, Colaboradoress: 53

Algoritmo Approximate Nearest Neighbors en C++ / Python optimizado para el uso de memoria y la carga / almacenamiento en disco.

12. H20ai
Estrellas: 500, Commits: 27894, Colaboradores: 137

Plataforma de aprendizaje automático rápida, escalable, de código abierto para aplicaciones más inteligentes: aprendizaje profundo, aumento de gradiente y XGBoost, bosque aleatorio, modelado lineal generalizado (regresión logística, red elástica), K-Means, PCA, conjuntos apilados, aprendizaje automátizado (AutoML), etc.

13. StatsModels
Estrellas: 5600, Commits: 13446, Colaboradores: 247

Statsmodels: modelado estadístico y econometría con Python

14. mlpack
Estrellas: 3400, Commits: 24575, Colaboradores: 190

mlpack es una biblioteca de aprendizaje automático de C ++ intuitiva, rápida y flexible con enlaces a otros lenguajes

15. Pattern
Estrellas: 7600, Commits: 1434, Colaboradores: 20

Módulo de minería web para Python, con herramientas para scraping, procesamiento de lenguaje natural, aprendizaje automático, análisis y visualización de redes.

16. Prophet
Estrellas: 11500, Commits: 595, Colaboradores: 106

Herramienta para elaborar pronósticos de alta calidad para datos de series de tiempo que tienen estacionalidad múltiple con crecimiento lineal o no lineal.

 

Aprendizaje automático automatizado

 
17. 
TPOT
Estrellas: 7500, Commits: 2282, Colaboradores: 66

Es una herramienta de aprendizaje automático automatizado de Python que optimiza los procesos de aprendizaje automático mediante programación genética.

18. auto-sklearn
Estrellas: 4100, Commits: 2343, Colaboradores: 52

auto-sklearn es un kit de herramientas de aprendizaje automático automatizado y un sustituto inmediato para un estimador de scikit-learn.

19. Hyperopt-sklearn
Estrellas: 1100, Commits: 188, Colaboradores: 18

Hyperopt-sklearn es una selección de modelos basada en Hyperopt entre los algoritmos de aprendizaje automático en scikit-learn.

20. SMAC-3
Estrellas: 529, Commits: 1882, Colaboradores: 29

Configuración de algoritmos secuenciales basados en modelos

21. scikit-optimize
Estrellas: 1900, Commits: 1540, Colaboradores: 59

Scikit-Optimize, o skopt, es una biblioteca sencilla y eficiente para minimizar funciones (muy) costosas y ruidosas del tipo  caja negra. Implementa varios métodos para la optimización secuencial basada en modelos.

22. Nevergrad
Estrellas: 2700, Commits: 663, Colaboradores: 38

Es una caja de herramientas de Python para realizar una optimización sin gradientes

23. Optuna
Estrellas: 3500, Commits: 7749, Colaboradores: 97

Optuna es una estructura automática de software de optimización de hiperparámetros, especialmente diseñada para el aprendizaje automático.

 

Visualización de datos

 
24. 
Apache Superset

Estrellas: 30300, Commits: 5833, Colaboradores: 492

Apache Superset es una plataforma de exploración y visualización de datos.

25. Matplotlib
Estrellas: 12300, Commits: 36716, Colaboradores: 1002

Matplotlib es una biblioteca completa para crear visualizaciones estáticas, animadas e interactivas en Python.

26. Plotly
Estrellas: 7900, Commits: 4604, Colaboradores: 137

Plotly.py es una biblioteca de gráficos interactiva, de código abierto y basada en navegador para Python.

27. Seaborn
Estrellas: 7700, Commits: 2702, Colaboradores: 126

Seaborn es una biblioteca de visualización de Python basada en matplotlib. Proporciona una interfaz de alto nivel para dibujar gráficos estadísticos atractivos.

28. folium
Estrellas: 4900, Commits: 1443, Colaboradores: 109

Folium se basa en las fortalezas de la disputa de datos del ecosistema de Python y las fortalezas de mapeo de la biblioteca Leaflet.js. Manipule sus datos en Python y después visualícelos en un mapa Leaflet a través de Folium.

29. Bqplot
Estrellas: 2900, Commits: 3178, Colaboradores: 45

Bqplot es un sistema de visualización 2-D para Jupyter, basado en las construcciones de Grammar of Graphics.

30. VisPy
Estrellas: 2500, Commits: 6352, Colaboradores: 117

VisPy es una biblioteca interactiva de visualización de datos 2D / 3D de alto rendimiento. VisPy aprovecha la potencia computacional de las modernas unidades de procesamiento de gráficos (GPU) a través de la biblioteca OpenGL para mostrar conjuntos de datos muy grandes. Las aplicaciones de VisPy incluyen:

31. PyQtgraph
Estrellas: 2200, Commits: 2200, Colaboradores: 142

Rápida visualización de datos y herramientas GUI para aplicaciones científicas / de ingeniería.

32. Bokeh
Estrellas: 1400, Commits: 18726, Colaboradores: 467

Bokeh es una biblioteca de visualización interactiva para navegadores web modernos. Proporciona una elaboración elegante y concisa de gráficos versátiles y ofrece interactividad de alto rendimiento en conjuntos de datos grandes o de transmisión.

33. Altair
Estrellas: 600, Commits: 3031, Colaboradores: 106

Altair es una biblioteca de visualización estadística declarativa para Python. Con Altair, puede dedicar más tiempo a comprender los datos y su significado.

 

Explicaciones y exploraciones

 
34. 
eli5
Estrellas: 2200, Commits: 1198, Colaboradores: 15

Es una biblioteca para depurar / inspeccionar clasificadores de aprendizaje automático y explicar sus predicciones

35. LIME
Estrellas: 800, Commits: 501, Colaboradores: 41

Lime explica las predicciones de cualquier clasificador de aprendizaje automático

36. SHAP
Estrellas: 10400, Commits: 1376, Colaboradores: 96

Es un enfoque de teoría de juegos para explicar el resultado de cualquier modelo de aprendizaje automático.

37. YellowBrick
Estrellas: 300, Commits: 825, Colaboradores: 92

Son herramientas de diagnóstico y análisis visual para facilitar la selección del modelo de aprendizaje automático.

38. pandas-profiling
Estrellas: 6200, Commits: 704, Colaboradores: 47

Crea informes de perfiles HTML a partir de objetos pandas DataFrame.

 Enlaces relacioandos:

·         Top 10 Python Data Science Libraries

·         Top 8 Python Machine Learning Libraries

·         Top 13 Python Deep Learning Libraries

Tuesday, November 10, 2020

Guía práctica de Kubernetes

 Proyectos para crear aplicaciones de éxito con Kubernetes

Traducción: Francisco Martínez




Si desea crear aplicaciones con un sistema de orquestación de contenedores de la mano de auténticos expertos, ha dado con el libro indicado. Esta guía recoge las explicaciones y los consejos de cuatro profesionales que trabajan en el ámbito de Kubernetes y poseen un amplio manejo en sistemas distribuidos, desarrollo de aplicaciones empresariales y código abierto.
Asimismo, muchos de los métodos que se presentan en el libro se fundamentan en experiencias de empresas que utilizan Kubernetes con éxito en la fase de producción y están respaldados con ejemplos concretos de código. Gracias a esta guía, esté o no familiarizado con los conceptos básicos de Kubernetes, aprenderá todo lo que necesita para crear las mejores aplicaciones.

Guía práctica de Kubernetes