
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.
Tabla de contenidos
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)
Deja una respuesta