Los árboles de decisión son una familia de algoritmos de aprendizaje supervisados ampliamente utilizados debido a que, a pesar de su simplicidad, pueden realizan buenas predicciones en una amplia variedad de problemas. Además, la simplicidad de su planteamiento hace que sus resultados sean fácilmente interpretables. Permitiendo no solo obtener predicciones relevantes, sino … [Leer más...] acerca de Representar árboles de decisiones con Scikit-Learn
Python
Python es un lenguaje de programación interpretado con una filosofía basada en la legibilidad del código. Un lenguaje que gracias posee un gran ecosistema de librerías para la ciencia de datos. Por lo que es uno de los más populares en la actualidad entre los científicos de datos. Además, es uno de los lenguajes más deseados y adorados por los programadores según las encuestas de Stack Overflow.
Python es un lenguaje de programación interpretado de propósito general que obliga al uso de una sintaxis clara, gracias a la cual el código es altamente legible. Siendo un lenguaje potente y fácil de aprender. Además, permite utilizar múltiples paradigmas de programación. Lo que permite usar desde programación orientada a objetos, pasando por programación imperativa o funcional.
Los paquetes de Python más utilizados por los científicos son:
- NumPy: permite el tratamiento de datos basados en matrices,
- Pandas: ideal para la manipulación de datos heterogéneos mediante objetos DataFrame,
- SciPy: implementa tareas habituales en computación científica,
- Matplotlib: facilita la visualización de datos y scikit-learn creación de modelos de aprendizaje automático.
Las publicaciones de esta sección versan sobre estas librerías y las bases del lenguaje.
Enviar mensajes de WhatsApp con Python
Poder enviar una notificación cuando finaliza una tarea pesada, por ejemplo, una simulación de Montecarlo, es clave para mejorar la productividad. Así el usuario puede analizar los resultados a la finalización del proceso. Para lo que se pueden usar notificaciones o sonidos. Pero, en los casos en los que el usuario no tiene porque estar trabajando en el ordenador puede ser más … [Leer más...] acerca de Enviar mensajes de WhatsApp con Python
Convertir un Notebook en un archivo de Python
En una ocasión había preguntado en el blog acerca de cómo se podía convertir el contenido de un Notebook en un archivo de Python. Operación necesaria, por ejemplo, en el caso de que se desee poner en producción los desarrollos realizados. Afortunadamente los Notebooks de Jupyter ofrecen la posibilidad de exportar el contenido en texto plano, conservando las celdas de Markdown … [Leer más...] acerca de Convertir un Notebook en un archivo de Python
Truco: Reproducir sonidos en Python
A la hora de finalizar tareas pesadas, por ejemplo, al finalizar una simulación, una buena práctica es notificar al usuario que esta ha terminado. Para lo que se pueden usar notificaciones, emitir una señal sonora o ambas a la vez. En el caso de que se desee reproducir un sonido en Python se puede recurrir a la librería playsound, con la que es posible reproducir el contenido … [Leer más...] acerca de Truco: Reproducir sonidos en Python
Pandas: Eliminar filas en base a sus valores con Pandas
Al trabajar con conjuntos de datos es posible que sea necesario eliminar algunas de las filas o columnas en base a los valores de estas. Seleccionado solamente aquellas cuyos valores cumplen alguna condición. Esto es algo que se puede conseguir fácilmente el Pandas gracias a las posibilidades que ofrecen el uso de vectores booleanos en loc. Pudiéndose construir estos vectores … [Leer más...] acerca de Pandas: Eliminar filas en base a sus valores con Pandas
Almacenar archivos CSV 10 veces más rápido en Python con PyArrow
Hace un tiempo publiqué una entrada en la que comparaba las ventajas de usar el formato de archivo Apache Arrow frente al tradicional CSV. Suponiendo grandes ahorros tanto en el tamaño de los archivos como el tiempo de carga. Usando para ello la librería PyArrow. Es posible que por temas de compatibilidad entre sistemas en algunas situaciones no podamos usar Apache Arrow, … [Leer más...] acerca de Almacenar archivos CSV 10 veces más rápido en Python con PyArrow
Medir el tiempo de ejecución en Python con pyinstrument
A la hora de optimizar un programa para que se ejecute de forma más rápida una información clave es cuáles son las funciones que más tiempo de procesado consumen. Para centrarnos en mejorar el rendimiento de estas. Por mucho que se mejore el rendimiento de una función que suponga una parte ínfima de la ejecución total, el efecto que se observará en el programa será casi nulo. … [Leer más...] acerca de Medir el tiempo de ejecución en Python con pyinstrument
Pandas: estadísticas de subconjuntos de datos en DataFrame
A partir de un conjunto de datos en memoria puede ser interesante obtener estadísticas de subconjuntos de datos. Información que puede ser de gran utilidad para detectar patrones. Por ejemplo, si tenemos los registros de ventas con el día de la semana puede ser interesante obtener los valores medios y totales en función del día. En Python esto se puede hacer gracias al método … [Leer más...] acerca de Pandas: estadísticas de subconjuntos de datos en DataFrame
Combinar dos columnas de texto en Pandas
Al trabajar con conjuntos de datos en los que algunas características son cadenas de texto es habitual encontrarse con registros que no están en el formato deseado. Tanto valores que estas juntos como separados. Para solucionar el primer problema es necesario separar el texto de una característica en varias, lo que se explicó en una entrada anterior. Por otro lado, la solución … [Leer más...] acerca de Combinar dos columnas de texto en Pandas
El nuevo switch en Python 3.10
Posiblemente una de las novedades más interesantes que ha traído la versión 3.10 de Python es la incorporación de un nuevo mecanismo de control de flujo Match-Case. Mecanismos que es habitual en otros lenguajes de alto nivel y que en la mayoría de los casos se conoce como switch-case. Un mecanismo que, a diferencia de Python, ya se encontraba implementado hace tiempo en otros … [Leer más...] acerca de El nuevo switch en Python 3.10
Usar entornos de Python en VS Code
Al trabajar en diferentes proyectos con Python es habitual encontrarse con el problema de que tanto código como paquetes presentan problemas de compatibilidad con ciertas versiones del intérprete. Por lo que es necesario ejecutar cada proyecto en una versión del intérprete de Python diferente. Lo que se puede conseguir usando varios ordenadores, instalando en cada uno una … [Leer más...] acerca de Usar entornos de Python en VS Code
Diferencias entre Apache Arrow y Parquet
Apache Arrow y Parquet son dos formatos modernos para con los que es posible conseguir archivos más pequeños que CSV, además de unos menores tiempos de lectura y escritura. Veamos a continuación las diferencias que existen entre Apache Arrow y Parquet.Apache ArrowApache Arrow es una biblioteca, disponible para múltiples lenguajes de programación, que proporciona … [Leer más...] acerca de Diferencias entre Apache Arrow y Parquet









