miércoles, 17 de mayo de 2023

30 bibliotecas de Python necesarias para el aprendizaje automático

En este artículo, verás las 30 bibliotecas principales de Python para Machine Learning. Python es uno de los lenguajes de programación más populares y ha reemplazado a muchos lenguajes en la industria. Hay varias razones para su popularidad y una de ellas es que Python tiene una gran colección de bibliotecas.

En este artículo, verás las 30 bibliotecas principales de Python para Machine Learning. Python es uno de los lenguajes de programación más populares y ha reemplazado a muchos lenguajes en la industria. Hay varias razones para su popularidad y una de ellas es que Python tiene una gran colección de bibliotecas.




 

Python y su ecosistema

Python es uno de los lenguajes más utilizados por los científicos de datos y los expertos en aprendizaje automático de todo el mundo. Aunque no hay escasez de alternativas en forma de lenguajes como R, Julia y otros, Python ha ganado popularidad de manera constante.

La asombrosa popularidad podría hacer pensar que Python es el estándar de oro para el aprendizaje automático. Esto podría ser cierto hasta cierto punto, sin embargo, Python no está libre de críticas por ser lento, problemas con subprocesos múltiples, etc. Sería un error pasar por alto sus trampas y limitaciones.

Bibliotecas de manejo de datos básicos:

1. NumPy

Python tiene un sólido conjunto de tipos de datos y estructuras de datos. Sin embargo, no fue diseñado para Machine Learning, Numpy es una biblioteca de manejo de datos, particularmente una que nos permite manejar grandes matrices multidimensionales junto con una gran colección de operaciones matemáticas. El siguiente es un fragmento rápido de numpy en acción.


 

Numpy no es solo una biblioteca de manejo de datos conocida por su capacidad para manejar datos multidimensionales. También es conocido por su velocidad de ejecución y capacidades de vectorización. Proporciona una funcionalidad de estilo MATLAB y, por lo tanto, requiere algo de aprendizaje antes de que pueda sentirse cómodo. También es una dependencia central para otras bibliotecas utilizadas principalmente, como pandas, matplotlib, etc. Su documentación en sí es un buen punto de partida. Enlace oficial.

Ventajas

Numpy no es solo una biblioteca, es "la biblioteca" cuando se trata de manejar datos multidimensionales. Las siguientes son algunas de las características de Goto que lo hacen especial:

  • ·       Capacidades de manipulación de matriz (y matriz multidimensional) como transposición, remodelación, etc.
  • ·         Estructuras de datos altamente eficientes que aumentan el rendimiento y manejan la recolección de basura con facilidad.
  • ·         Capacidad para vectorizar la operación, nuevamente mejora el rendimiento y las capacidades de paralelización.

Desventajas

Las principales desventajas de numpy son:

  • ·       Dependencia de entidades ambientales no pitónicas, es decir, debido a su dependencia de Cython y otras bibliotecas de C/C++, configurar numpy puede ser una molestia.
  • ·        Su alto rendimiento tiene un costo. Los tipos de datos son nativos del hardware y no de python, por lo que se incurre en una sobrecarga cuando los objetos numpy tienen que volver a transformarse en equivalentes de python y viceversa.

2. Pandas

Piense en datos relacionales, piense en pandas. Sí, pandas es una biblioteca de Python que proporciona estructuras de datos flexibles y expresivas (como marcos de datos y series) para la manipulación de datos. Construido sobre numpy , pandas es tan rápido como fácil de usar. Pandas brinda capacidades para leer y escribir datos de diferentes fuentes como CSV, Excel, bases de datos SQL , HDFS y muchas más. Proporciona funcionalidad para agregar, actualizar y eliminar columnas, combinar o dividir marcos de datos/series, manejar objetos de fecha y hora, imputar valores nulos/faltantes, manejar datos de series temporales, conversión hacia y desde objetos numpy, etc. Si está trabajando en un caso de uso de Machine Learning del mundo real, es probable que necesite pandas más temprano que tarde. Similar a numpy, pandas también es un componente importante de SciPy o Scientific Python Stack. Enlace oficial.


 

Ventajas

  • ·       Extremadamente fácil de usar y con una pequeña curva de aprendizaje para manejar datos tabulares.
  • ·       Increíble conjunto de utilidades para cargar, transformar y escribir datos en múltiples formatos.
  • ·       Compatible con objetos numpy subyacentes e ir a elección para la mayoría de las bibliotecas de Machine Learning como scikit-learn, etc.
  • ·       Capacidad para preparar gráficos/visualizaciones listas para usar (utiliza matplotlib para preparar diferentes visualizaciones bajo el capó).

Desventajas

  • ·       La facilidad de uso tiene el costo de una mayor utilización de la memoria. Pandas crea demasiados objetos adicionales para proporcionar acceso rápido y facilidad de manipulación.
  • ·       Incapacidad para utilizar la infraestructura distribuida. Aunque pandas puede trabajar con formatos como archivos HDFS, no puede utilizar la arquitectura del sistema distribuido para mejorar el rendimiento.

3. Scipy

Scipy es una biblioteca informática científica para python. También está construido sobre numpy y es parte de Scipy Stack. Esta es otra biblioteca detrás de escena que hace mucho trabajo pesado. Proporciona módulos/algoritmos para álgebra lineal, integración, procesamiento de imágenes, optimizaciones, agrupamiento, manipulación de matrices dispersas y muchos más. Enlace oficial.


 

4. matplotlib

Otro componente de la pila SciPy, matplotlib es esencialmente una biblioteca de visualización. Funciona a la perfección con objetos numpy (y sus derivados de alto nivel como pandas). Matplotlib proporciona un entorno de trazado similar a MATLAB para preparar figuras/gráficos de alta calidad para publicaciones, cuadernos, aplicaciones web, etc.

Matplolib es una biblioteca de bajo nivel altamente personalizable que proporciona una gran cantidad de controles y perillas para preparar cualquier tipo de visualización/figura. Dada su naturaleza de bajo nivel, requiere un poco de tiempo para acostumbrarse junto con mucho código para hacer las cosas. Su diseño extensible y bien documentado ha permitido construir encima una lista completa de bibliotecas de visualización de alto nivel. Algunos de los cuales, discutiremos en las próximas secciones. Enlace oficial.

Ventajas

  • ·        Sintaxis extremadamente expresiva y precisa para generar tramas altamente personalizables
  • ·        Se puede usar fácilmente en línea con cuadernos Jupyter

Desventajas

  • ·         Gran dependencia de numpy y otras bibliotecas de pila de Scipy
  • ·         Enorme curva de aprendizaje, requiere bastante comprensión y práctica para usar matplotlib.

Estrellas del aprendizaje automático:

5. Scikit-Learn

Diseñado como una extensión de la biblioteca SciPy, scikit-learn se ha convertido en el estándar de facto para muchas de las tareas de aprendizaje automático. Desarrollado como parte del proyecto Google Summer of Code, ahora se ha convertido en un proyecto de código abierto ampliamente contribuido.


 Scikit-learn proporciona un paradigma de ajuste, transformación y predicción simple pero potente para aprender de los datos, transformar los datos y finalmente predecir. Usando esta interfaz, proporciona capacidades para preparar modelos de clasificación, regresión, agrupamiento y conjunto. También proporciona multitud de utilidades para preprocesamiento, métricas, técnicas de evaluación de modelos, etc. EnlaceOficial.

Ventajas

  • ·       El paquete de referencia que lo tiene todo para los algoritmos clásicos de aprendizaje automático
  • ·        Interfaz consistente y fácil de entender de ajuste y transformación

·         La capacidad de preparar canalizaciones no solo ayuda con la creación rápida de prototipos, sino también con implementaciones rápidas y confiables.

Desventajas

  • ·        Incapacidad para utilizar datos categóricos para algoritmos listos para usar que admitan dichos tipos de datos (los paquetes en R tienen tales capacidades)
  • ·         Gran dependencia de la pila de Scipy

 6. Statsmodels

Como sugiere el nombre, esta biblioteca agrega herramientas / algoritmos estadísticos en forma de clases y funciones al mundo de python. Construido sobre numpy y scipy, Statsmodels proporciona una extensa lista de capacidades en forma de modelos de regresión, análisis de series temporales, autoregresión, etc.

Statsmodels también proporciona una lista detallada de estadísticas de resultados (incluso más allá de lo que proporciona scikit-learn). Se integra muy bien con pandas y matplotlib y, por lo tanto, es una parte importante de la caja de herramientas de cualquier científico de datos. Para las personas que están familiarizadas y se sienten cómodas con el estilo de programación R, Statsmodels también proporciona una interfaz de fórmula similar a R usando Patsy. Enlace oficial.

Ventajas

  • ·       Cubre la brecha de los algoritmos de regresión y series de tiempo para el ecosistema de python
  • ·         Análogo a ciertos paquetes R, por lo tanto, una curva de aprendizaje más pequeña
  • ·         Enorme lista de algoritmos y utilidades para manejar casos de uso de regresión y series temporales

Desventajas

  • ·       No tan bien documentado con ejemplos como sklearn
  • ·         Ciertos algoritmos tienen errores con poca o ninguna explicación de los parámetros

Boosting

Boostings uno de los métodos de conjunto para desarrollar un clasificador fuerte basado en múltiples aprendices débiles. Scikit-learn es una ventana única para la mayoría de sus necesidades de algoritmos de aprendizaje automático. Proporciona una lista suficientemente buena de algoritmos de clasificación junto con capacidades para construir modelos mejorados basados en ellos. También proporciona un algoritmo de aumento de gradiente listo para usar.

7. XGBoost

Una de las bibliotecas/algoritmos más utilizados en varias competencias de ciencia de datos y casos de uso del mundo real, XGBoost es probablemente una de las variantes más conocidas. Una implementación altamente optimizada y distribuida, XGBoost permite la ejecución en paralelo y, por lo tanto, proporciona una gran mejora del rendimiento en comparación con los árboles potenciados por gradientes. Proporciona capacidades para ejecutar fácilmente en marcos distribuidos como Hadoop. También tiene contenedores para R, Java y Julia. Enlace oficial.

8. LightGBM

Otra variante distribuida y rápida de GBM (Gradient Boosting Machines), LightGBM es de la casa de Microsoft. Es similar a XGBoost en la mayoría de los aspectos, excepto en algunos aspectos relacionados con el manejo de variables categóricas y el proceso de muestreo para identificar la división de nodos. LightGBM utiliza un método novedoso llamado GOSS (Muestreo de un lado basado en gradiente) para identificar la división de nodos. También tiene la capacidad de utilizar GPU para mejorar el rendimiento. Se informa durante algunas competiciones que LightGBM es más eficiente en memoria en comparación con XGBoost. Enlace oficial.

9. Cat Boost

Esta implementación de la investigación de Yandex es una de las principales variantes de árboles potenciados. Proporciona capacidades similares a las dos variantes discutidas anteriormente. Afirma ser mejor en el manejo de variables categóricas y proporciona soporte para entrenamiento multi-GPU. También es uno de los algoritmos más rápidos cuando se trata de inferencia. Enlace oficial.

10. ELI5

Explique como si tuviera 5 (años). Sí, esto es lo que significa ELI5. Es genial que sepamos cómo desarrollar modelos para diferentes casos de uso, pero ¿hay alguna manera de que podamos entender cómo el modelo infiere algo? Algunos algoritmos, como los árboles de decisión, son intrínsecamente explicables, pero no todos lo son (al menos no listos para usar). ELI5 es una de esas bibliotecas que proporciona las capacidades para depurar clasificadores y proporcionar una explicación sobre las predicciones.

Proporciona contenedores alrededor de diferentes bibliotecas como scikit-learn, xgboost y muchas más para ayudar a comprender las predicciones. Enlace oficial.

Marcos de aprendizaje profundo:

11. TensorFlow

Probablemente uno de los repositorios de GitHub más populares y una de las bibliotecas más utilizadas tanto para entornos de investigación como de producción. Tensorflow es una biblioteca matemática simbólica que permite la programación diferenciable, un concepto central para muchas tareas de aprendizaje automático. Los tensores son el concepto central de esta biblioteca, que son objetos matemáticos genéricos para representar vectores, escaladores, matrices multidimensionales, etc.


 Admite una variedad de tareas de ML, pero se utiliza principalmente para desarrollar redes neuronales profundas. Es utilizado por Google (también desarrollado por ellos) y una serie de gigantes tecnológicos para desarrollar y producir redes neuronales. Tensorflow tiene la capacidad no solo de utilizar pilas de múltiples GPU, sino también de trabajar con unidades de procesamiento de tensor o TPU especializadas. Ahora se ha convertido en este entorno completo propio con módulos para manejar la funcionalidad principal, la depuración, la visualización, el servicio, etc. Enlace oficial.


 

Ventajas

  • ·       Paquete de grado industrial que cuenta con un gran apoyo de la comunidad con frecuentes correcciones de errores y mejoras a intervalos regulares
  • ·        Capacidad para trabajar con un conjunto diverso de hardware como plataformas móviles, web, CPU y GPU
  • ·         Escalabilidad para manejar grandes cargas de trabajo y trabajos listos para usar
  • ·         Características bien documentadas con toneladas de tutoriales y ejemplos.

Desventajas

  • ·         La interfaz de bajo nivel dificulta el inicio, gran curva de aprendizaje
  • ·         No es fácil acostumbrarse a los gráficos de cálculo (aunque esto se ha solucionado en gran medida con una ejecución entusiasta en la versión 2.0)

12. PyTorch

PyTorch es el resultado de la investigación y el desarrollo del grupo de inteligencia artificial de Facebook. El PyTorch actual es un proyecto fusionado entre pytorch y caffe2. PyTorch es el primer marco de trabajo de aprendizaje profundo de Python, a diferencia de otros conocidos que están escritos en C/C++ y tienen enlaces/contenedores para Python. Esta primera estrategia de python permite que PyTorch tenga una sintaxis similar a numpy y la capacidad de trabajar sin problemas con bibliotecas similares y sus estructuras de datos.

Admite gráficos dinámicos y una ejecución entusiasta (era el único hasta Tensorflow 2.0). Al igual que otros marcos en este espacio, PyTorch también puede aprovechar GPU y bibliotecas de aceleración como Intel-MKL. También afirma tener una sobrecarga mínima y, por lo tanto, supuestamente es más rápido que el resto. Enlace oficial.

Ventajas

  • ·        Uno de los marcos de aprendizaje profundo más rápidos.
  • ·        Capacidad para manejar gráficos dinámicos en lugar de gráficos estáticos utilizados por la mayoría de los homólogos
  • ·         La implementación de Pythonic ayuda en la integración perfecta con los objetos de Python y la sintaxis similar a numpy

Desventajas

  • ·        Todavía ganando terreno y apoyo, por lo tanto, está rezagado en términos de material (tutoriales, ejemplos, etc.) para aprender.
  • ·         Capacidades limitadas como visualizaciones y depuración en comparación con una suite completa en forma de tensorboard para tensorflow.

13. Keras

Piensa en la sencillez, piensa en Keras. Keras es un marco de aprendizaje profundo de alto nivel que ha facilitado la forma en que desarrollamos y trabajamos con redes neuronales profundas. Desarrollado principalmente en python, descansa sobre los hombros de gigantes como Theano, Tensorflow y MXNet (también llamados backends). Keras utiliza estos backends para hacer el trabajo pesado mientras nos permite pensar en términos de capas de manera transparente. Para Keras, el componente básico es una capa. Dado que la mayoría de las redes neuronales son configuraciones diferentes de capas, trabajar de esa manera facilita enormemente el flujo de trabajo.

Keras fue desarrollado de forma independiente por François Chollet para uno de los proyectos de investigación y desde entonces también se ha integrado como parte de Tensorflow (aunque también continúa desarrollándose de forma activa y por separado). Además de proporcionar una interfaz fácil de usar, permite proporcionar API para trabajar con modelos de última generación previamente entrenados como RESNET, AlexNET, VGG y muchos más.

Ventajas

  • ·       La interfaz intuitiva y fácil de entender ayuda en la creación rápida de prototipos
  • ·       Gran cantidad de modelos preentrenados disponibles para usar de inmediato
  • ·         Capacidad para trabajar con diferentes bibliotecas de bajo nivel como tensorflow, theano, mxnet, etc.

Desventajas

  • ·       Ser una biblioteca de alto nivel dificulta el desarrollo de componentes personalizados/funciones de pérdida (aunque proporciona capacidades para ampliar)
  • ·         El rendimiento depende del backend subyacente que se utilice.

Otros marcos/bibliotecas de Deep Learning

Tensorflow, PyTorch, Theano y Keras son bibliotecas básicas cuando se trata de aprendizaje profundo. Aunque estos no son los únicos. Hay una serie de otras bibliotecas ampliamente utilizadas también. Cada uno nace de una necesidad específica o por problemas con los populares. Las siguientes son algunas bibliotecas de aprendizaje profundo más en python:

14. FastAi

Esta es una biblioteca de alto nivel (similar a Keras) construida sobre PyTorch. Como sugiere su nombre, permite el desarrollo de redes neuronales rápidas y precisas. Proporciona API consistentes y soporte integrado para visión/imagen, texto, etc. Enlace oficial.

15. Caffe

Caffe o Convolucional Architecture for Fast Feature Embedding es un marco de aprendizaje profundo desarrollado por Yangqing Jia para su tesis doctoral. Se usó/diseñó principalmente para la clasificación de imágenes y tareas relacionadas, aunque también es compatible con otras arquitecturas, incluidas las LSTM y las completamente conectadas. Enlace oficial.

16. Apache MXNet

Una de las bibliotecas más utilizadas cuando se trata de casos de uso relacionados con imágenes (ver CNN). Aunque requiere un poco más de código repetitivo, su rendimiento lo compensa. Enlace oficial.

17. Gluon

Gluon es una biblioteca/api de aprendizaje profundo de alto nivel de AWS y Microsoft. Actualmente está disponible a través de Apache MXNet y permite un uso sencillo de las nubes de AWS y Microsoft Azure. Está diseñado para ser amigable para los desarrolladores, rápido y consistente. Enlaceoficial.

Bibliotecas de PNL:

18. NLTK

El kit de herramientas de lenguaje natural o NLTK es un conjunto de ofertas de la Universidad de Pensilvania para diferentes tareas de procesamiento de lenguaje natural o PNL. El lanzamiento inicial fue en 2001 y ha crecido para proporcionar una gran cantidad de funciones. La lista incluye tareas de bajo nivel como tokenización (proporciona diferentes tokenizadores), analizadores de n-gramas, analizadores de colocación, etiquetadores de POS, NER y muchos más. 

NLTK es principalmente para tareas de PNL basadas en inglés. Utiliza años de investigación en lingüística y aprendizaje automático para proporcionar tales características. Es ampliamente utilizado en instituciones académicas e industriales de todo el mundo. Enlace oficial.

Ventajas

  • ·        La biblioteca Goto para la mayoría de las tareas relacionadas con la PNL
  • ·       Proporciona una gran variedad de algoritmos y utilidades para manejar tareas de NLP, desde utilidades de análisis de bajo nivel hasta algoritmos de alto nivel como CRF.
  • ·       Interfaz extensible que nos permite entrenar e incluso extender funciones y algoritmos existentes

Desventajas

  • ·       Principalmente escrito en Java, tiene gastos generales y limitaciones en términos de la cantidad de memoria requerida para manejar grandes conjuntos de datos.
  • ·       Incapacidad para interactuar con los últimos avances en PNL utilizando modelos de aprendizaje profundo

19. Gensim

Gensim es una biblioteca NLP rápida y lista para la producción. Está especialmente diseñado para tareas de modelado de temas no supervisadas además del conjunto habitual de tareas de PNL. Listo para usar, proporciona algoritmos como el análisis semántico latente (LSA, LSI), basado en matriz (SVD, NMF) y la asignación de Dirichlet latente o LDA. También proporciona funcionalidades para generar representaciones de palabras usando fastText y word2vec (y sus variantes).

Gensim también tiene la capacidad de manejar grandes volúmenes de texto mediante transmisión e implementación fuera de memoria de varios algoritmos. Esta capacidad, junto con la solidez y las implementaciones eficientes, la diferencian de otras bibliotecas de NLP. Enlace oficial.

20. spaCy

Spacy es una biblioteca de procesamiento de lenguaje natural diseñada para múltiples idiomas como inglés, alemán, portugués, francés, etc. Tiene tokenizadores y NER (reconocedores de entidades con nombre) para varios idiomas. A diferencia de NLTK, que se usa ampliamente con fines académicos, spacy está diseñado para estar listo para la producción.

Además de proporcionar capacidades tradicionales de NLP, spacy también expone enfoques basados en el aprendizaje profundo. Esto permite que se use fácilmente con marcos como Tensorflow, keras, Scikit-learn, etc. También proporciona vectores de palabras previamente entrenados en varios idiomas. Explosion AI, la compañía detrás de spacy, también ha desarrollado varias extensiones para mejorar sus capacidades al proporcionar visualizaciones (displayCy), algoritmos de aprendizaje automático (Thinc), etc. Enlace oficial.

Bibliotecas de Visualización

21. Seaborn

Construida sobre matplotlib, seaborn es una biblioteca de visualización de alto nivel. Proporciona estilos sofisticados listos para usar (lo que requeriría una buena cantidad de esfuerzo si se hiciera usando matplotlib).

Además de la destreza en el diseño y paletas de colores sofisticadas, seaborn ofrece una gama de visualizaciones y capacidades para trabajar con análisis multivariado. Proporciona capacidades para realizar análisis de regresión, manejo de variables categóricas y estadísticas agregadas. Enlace oficial.

22. Bokeh

Bokeh proporciona visualizaciones interactivas ampliables utilizando el poder de javascript en un entorno de python. Bokeh Visualizations es una solución perfecta para compartir resultados a través de un cuaderno Jupyter junto con sus visualizaciones interactivas.

Proporciona dos modos de funcionamiento. Un modo de alto nivel para generar fácilmente gráficos complejos. También tiene un modo de bajo nivel que proporciona muchos más controles para las personalizaciones. Es útil para preparar paneles y otras aplicaciones relacionadas con datos que se utilizan a través de navegadores. Enlace oficial.

Ventajas

  • ·       Capacidad para generar visualizaciones interactivas con funciones como texto flotante, zoom, filtro, selección, etc.
  • ·       Visualizaciones estéticamente superiores
  • ·         Modos de bajo y alto nivel para admitir una alta flexibilidad y creación rápida de prototipos

Desventajas

  • ·        Imposibilidad de empaquetar con estado guardado con cuadernos jupyter
  • ·         La interfaz es ligeramente diferente a otras bibliotecas de visualización, lo que dificulta la migración de una biblioteca a otra.

23. Plotly

Plotly es una plataforma de visualización de grado de producción con envoltorios no solo en Python, sino también en otros lenguajes como R, Julia, MATLAB, etc. Plotly proporciona visualizaciones, gráficos en línea, herramientas estadísticas junto con un conjunto de soluciones como Dash y Chart Studio para satisfacer diferentes necesidades. .

Plotly también proporciona capacidades para convertir visualizaciones de matplotlib y ggplot en visualizaciones interactivas. Es ampliamente utilizado por algunos de los líderes de la industria. A diferencia de la mayoría de las bibliotecas discutidas hasta ahora, plotly también tiene ofertas comerciales. Enlace oficial.

Misceláneas:

Hasta ahora, hemos discutido las bibliotecas de Python más importantes, populares y ampliamente utilizadas que son esenciales para diferentes tareas dentro del flujo de trabajo de Machine Learning. Hay algunos más que también se usan en los mismos flujos de trabajo (o según el caso/escenario de uso). Es posible que estos no lo ayuden directamente a crear modelos/algoritmos de ML, pero son importantes en el ciclo de vida general. Veamos algunos de ellos:

24. IPython y Jupyter

IPython o Interactive Python es una interfaz de línea de comandos, desarrollada originalmente para python (ahora admite varios idiomas). Es compatible con la computación paralela y una gran cantidad de juegos de herramientas GUI . También forma el núcleo del servidor portátil basado en aplicaciones web llamado Jupyter. Jupyter es un acrónimo suelto de Julia Python y R (aunque ahora admite más idiomas). Nos permite preparar y compartir documentos que contienen código en vivo, visualizaciones interactivas, capacidades de marcado y presentación de diapositivas.

IPython y Jupyter son las dos shells/aplicaciones más utilizadas por los científicos de datos para compartir su trabajo y desarrollar modelos.

Enlaces oficiales:

·         IPython: https://ipython.org/

·         Jupyter: https://jupyter.org/

25. Scrapy

Web o Internet es una inmensa fuente de datos. Scrapy es una de las bibliotecas líderes que se utiliza para raspar sitios web o crear arañas/rastreadores para hacer lo mismo. Ahora también admite la conexión a las API para obtener datos. Enlace oficial.

26. BeautifulSoup

Una vez que tenga el texto rastreado, el siguiente requisito es la capacidad de extraer información de datos HTML y XML. Beautifulsoup es una biblioteca con capacidad para analizar documentos HTML y XML. Lo hace generando árboles de análisis a partir de tales documentos. La documentación de Beautifulsoup está muy bien hecha y actúa como una base para la mayoría de los requisitos. Enlace oficial

27. Flask

Flask es un microframework ligero para web en python. Es un marco lo más básico posible para ponerse en marcha con un servidor web/aplicación. Admite extensiones que mejoran sus capacidades al máximo. Flask se basa en Werkzeug (una interfaz de puerta de enlace de servidor web/WSGI) y Jinja 2 (un motor de plantillas). Flask se usa en todos los ámbitos, incluso algunos de los grandes actores de la industria como LinkedIn. Enlace oficial.

28. Open CV

Open Source Computer Vision o OpenCV para abreviar es una biblioteca de visión por computadora para python. Proporciona una enorme lista de capacidades relacionadas con la visión artificial para el manejo de datos 2D y 3D. Es un proyecto desarrollado activamente con capacidades multiplataforma. Funciona bien con marcos de aprendizaje profundo como Tensorflow, PyTorch, etc. Enlace oficial.

29. Repositorios que se usan bastante.

El ecosistema de Python está repleto de cosas nuevas y emocionantes todos los días. Los investigadores y desarrolladores están trabajando para llevar adelante su trabajo para mejorar sus flujos de trabajo y mejorar también el ecosistema de python. La siguiente es una lista rápida de más trabajos de este tipo, algunos de los cuales aún están disponibles solo como repositorios de GitHub:

·       Scikit-learn-contrib

Esta es una colección de proyectos compatibles con scikit-learn de alta calidad. Algunos de los proyectos de esta colección incluyen desequilibrio-aprendizaje, relámpago, hdbscan, etc. Enlace Oficial.

·       Dask

Dask es una biblioteca Python de computación paralela. Funciona/se integra fácilmente con bibliotecas existentes como pandas y numpy. Proporciona una interfaz tipo panda con el poder de la computación paralela. Enlace oficial.

·         Keras_experiment

Este repositorio de github mejora aún más las capacidades de keras. Expone trabajos experimentales basados en APIs de keras. El objetivo principal es proporcionar la capacidad de utilizar múltiples GPU. Enlace oficial.

·      Data.table

Esta biblioteca proporciona la capacidad de trabajar y manipular estructuras de datos tabulares. El objetivo es ser análogo a R SFrames. Las funcionalidades son similares a las de pandas (o restringidas) y el enfoque es hacia los grandes datos. Enlace oficial.

·       30. Sistema de compilación de Python

pip y conda son dos increíbles administradores de paquetes en el ecosistema de python. Para nuestra comprensión en este artículo, basta saber que estos dos administradores de paquetes son los que nos permiten configurar las bibliotecas requeridas.

El sistema de construcción de Python es una relación de amor y odio. Es fácil de usar para la mayoría de las tareas, pero puede ser alucinante descubrir configuraciones para algunas de las bibliotecas más utilizadas (por ejemplo, numpy, matplotlib). Las tareas se vuelven un poco más complicadas cuando trabaja en un sistema operativo que tiene una versión de python instalada en el sistema. Proceda con precaución y lea los pasos de instalación antes de instalar las bibliotecas.

 


 

0 comments:

Publicar un comentario