En aprendizaje automático el uso de características colineales para el entrenamiento es un problema que puede afectar a la calidad de los modelos, especialmente en los lineales. Por lo que es necesario identificarlas y eliminarlas. Una de las razones para hacer esto es usar la matriz de correlación dado que la multicolinealidad se produce cuando dos o más características están … [Leer más...] acerca de Eliminar características colineales con la matriz de correlación
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.
Generación de números aleatorios criptográficamente seguros en Python
La generación de número aleatorios criptográficamente seguros es clave para poder garantizar la seguridad y privacidad de los sistemas. Cuando los valores se obtienen de funciones que no se pueden considerar seguras, como es el caso de las librerías random o NumPy, es posible predecir los números generados. Algo que un atacante puede usar para acceder a los datos que se desean … [Leer más...] acerca de Generación de números aleatorios criptográficamente seguros en Python
Usar ChatGPT en Python
La semana pasada analicé cómo puede ayudar a los científicos de datos el uso de ChatGPT, comprobando que este puede implementar rápidamente análisis de datos y modelos básicos. Para lo que utilice la aplicación de chat disponible en la propia web de OpenAI. Otro método para acceder a ChatGPT es empleando el API que ofrece OpenAI, lo que permite integrar fácilmente el modelo en … [Leer más...] acerca de Usar ChatGPT en Python
Optimización de código Python con LineProfiler
LineProfiler es una herramienta que puede ser de gran ayuda para la optimización de código Python. Debido a que permite medir el tiempo que necesita para ejecutar cada una de las líneas de un programa. Pudiendo identificar de esta manera aquellas que requieren más tiempos. Así, se pueden focalizar los esfuerzos en mejorar el rendimiento solamente de aquellas partes de código … [Leer más...] acerca de Optimización de código Python con LineProfiler
Interpretación de las predicciones de los árboles de regresión y Random Forest
Una de las ventajas de usar árboles de regresión es su interpretabilidad. Cuando se crea un modelo a partir de un árbol de regresión no solamente se puede obtener una predicción para cada uno de los registros, sino que también es posible saber cuánto afecta cada una de las características usadas al resultado final. Aunque esto no se puede hacer directamente en Scikit-learn. … [Leer más...] acerca de Interpretación de las predicciones de los árboles de regresión y Random Forest
Reemplaza loc e iloc para mejorar el rendimiento en bucles
Dos de los métodos más utilizados para acceder a los elementos de una Serie o un DataFrame en Pandas son loc e iloc. Algo que se debe a su gran flexibilidad, permite seleccionar elementos o subconjuntos usando tanto los nombres de las etiquetas (loc) como la posición (iloc) de forma intuitiva. Aunque, en algunos casos, pueden ofrecer problemas de rendimiento. Por ejemplo, en … [Leer más...] acerca de Reemplaza loc e iloc para mejorar el rendimiento en bucles
Diferencias entre loc e iloc en Pandas
La selección de elementos en los DataFrames de Pandas se puede realizar mediante dos métodos: loc e iloc. Aunque, en algunos casos, pueden parecer intercambiables, no es así. Existen importantes diferencias entre loc e iloc. Conocer estas permite seleccionar la opción más adecuada en cada caso.Principal diferencia entre loc e ilocLa principal diferencia que existe entre … [Leer más...] acerca de Diferencias entre loc e iloc en Pandas
Almacenar variables en Jupyter
Durante una sesión de trabajo en un Notebook de Jupyter los diferentes resultados que se obtengan se pueden almacenar las variables y recuperarlos posteriormente. Aunque, una vez se cierre el Notebook o se reinicie el núcleo (kernel) de IPython, los valores se pierden ya que solamente están almacenados en memoria. Cuando se necesita persistencia de datos se pueden almacenar … [Leer más...] acerca de Almacenar variables en Jupyter
Recuperar el resultado de una celda en Jupyter
Al trabajar en un Notebook de Jupiter es posible que después de ejecutar un comando que requiere bastante tiempo nos demos cuenta de que no se ha asignado el resultado a una variable. Podríamos pensar que la única solución sería modificar el código y volver a ejecutarlo. Pero existe una solución mejor, se puede recuperar los resultados de cualquier celda en Jupyter con un … [Leer más...] acerca de Recuperar el resultado de una celda en Jupyter
Configurar el API de Scikit-learn para generar DataFrames
La nueva versión 1.3 de Scikit-learn trae importantes novedades. Una de ellas es la posibilidad de configurar el API de las herramientas de transformación de datos o transformers. Hasta ahora en Scikit-learn al utilizar un transformer el resultado que se obtiene es un ndarray de NumPy. A partir de la versión 1.3, es posible configurar el tipo de objeto resultante mediante el … [Leer más...] acerca de Configurar el API de Scikit-learn para generar DataFrames
Uso de Eval en Pandas para analizar datos de forma sencilla
El método eval() de los DataFrames de Pandas permite indicar mediante una cadena de texto las operaciones que se desean realizar sobre las columnas del conjunto de datos. Con un funcionamiento similar al de método query(). Pudiendo combinar ambos para llevar a cabo operaciones complejas sobre los datos de los DataFrames de una forma relativamente sencilla. Veamos algunos de los … [Leer más...] acerca de Uso de Eval en Pandas para analizar datos de forma sencilla
Barajar las filas de un DataFrame con Pandas
Los DataFrames de Pandas disponen del método sample() con el que se puede obtener una muestra aleatoria de los registros de un conjunto de datos. Método que se puede emplear para barajar las filas de un DataFrame. Veamos algunos de los usos que se le puede dar al método sample().Conjunto de ejemploAntes de continuar es necesario disponer de un conjunto de datos de … [Leer más...] acerca de Barajar las filas de un DataFrame con Pandas










