Algunas librerías interesantes de Python para ciencia de datos

En una entrada anterior se recopilaron las cuatro librerías más importantes de Python para los científicos de datos. En esta entrada se van a ver otras seis librerías también interesantes de Python para ciencia de datos. Cada una de ellas permite trabajar en un tipo de problema concreto.

imbalanced-learn

El entrenamiento de los algoritmos de clasificación funciona mejor cuando las clases en el conjunto de entrenamiento están equilibradas. Esto es, el número de registros que pertenece a cada clase es similar. Desgraciadamente en la mayoría de los casos esto no es así, generalmente una clase suele tener más registros que las otras. Por ejemplo, en un problema de fraude suele existir un caso por miles de registros que no los son. Algunas de las estrategias para solucionar este problema se han visto al hablar del problema de desequilibrio de clases en conjuntos de datos de entrenamiento.

La librería imbalanced-learn se ha creado para equilibrar las clases en los conjuntos de datos y solucionar estos problemas. Además, es compatible con scikit-learn y forma parte de los proyectos de scikit-learn-contrib.

pendulum

El trabajo con objetos de tipo fecha y hora es frustrante en la mayoría de las ocasiones. La librería estándar de Python no es una excepción. Para solucionar estos problemas existe el paquete pendulum, con el cual es posible manipular estos objetos de una forma sencilla. Por ejemplo, con pendelum es posible obtener la hora en un uso horario o calcular la diferencia de tiempo entre dos husos horarios diferentes. En el siguiente ejemplo se muestra como obtener la hora de Madrid y la diferencia de tiempo entre Madrid y Londres en minutos.

import pendulum

now_in_madrid = pendulum.now('Europe/Madrid')

dt_madrid = pendulum.datetime(2018, 1, 1, tz='Europe/Madrid')
dt_london = pendulum.datetime(2018, 1, 1, tz='Europe/London')

print(dt_madrid.diff(dt_london).in_minutes())

PyFlux

El análisis de series temporales es un problema de aprendizaje automático que no se puede encontrar en scikit-learn. PyFlux es una biblioteca de Python creada para trabajar con series temporales. La librería cuenta con diferentes modelos de series temporales entre los que se pueden encontrar entre, otros, ARIMA, GARCH y VAR.

Wget

La librería Wget permite descargar datos de la web de forma no iterativa. Puede descargar documentos mediante los protocolos más utilizados en la web: HTTP, HTTPS y FTP. Así como recuperar datos a través de proxies.

fuzzywuzzy

Esta librería de nombre impronunciable es muy útil para medir el grado de coincidencia de dos cadenas de texto. Permite implementar fácilmente operaciones como comparación de cadenas, comparación de tokens, etc.

Gym

Gym es una librería para el desarrollo de modelos de aprendizaje por refuerzo. Es compatible con las bibliotecas de computación numérica más importantes como Tensor Flow y Theano. La biblioteca es una colección de problemas de pruebas, a los que se les llama entornos, que se pueden utilizar para implementar algoritmos de aprendizaje por refuerzo.

Conclusiones

Se han visto seis librerías que se importante tener en cuenta para resolver cierto tipo de problemas de aprendizaje automático. La lista de librerías se incido con imbalanced-learn, con la que se puede resolver problemas de conjuntos de datos desequilibrados. Posteriormente se ha visto una para trabajar con objeto de tipo fecha y hora, pendulum. A continuación, una enfocada al modelado de series temporales, con PyFlux. Otro problema habitual que se ha visto es la descarga de archivos desde la web con Wget. O medir el grado de coincidencia entre dos cadenas de texto con fuzzywuzzy. Para finalizar con Gym, una librería para el desarrollo de modelos de aprendizaje por refuerzo.

Imágenes: Pixabay (Pexels)

Sin votos
Por favor espera...

Contenido relacionado

Etiquetas:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *