Lo Bueno, lo Malo y lo Feo de Pd.Get_Dummies

Lo bueno, lo malo y lo feo de Pd.Get_Dummies

Esto es para los fanáticos de pd.get_dummies

¡Hola gente! 🤠

De acuerdo, lo entiendo. Una de las formas más sencillas de convertir una variable categórica en un conjunto de variables ficticias en Python es con la función pd.get_dummies() de Pandas. ¿Por qué perder el tiempo importando OneHotEncoder de sklearn, ejecutando un .fit_transform(), etc, etc, etc? ¡Hablemos de tedioso!

Este artículo primero presentará un conjunto de datos simple con fines de demostración que consiste en un conjunto de pruebas que contiene variables categóricas no encontradas en el conjunto de entrenamiento. Luego, demostrará cómo el uso de pd.get_dummies() puede llevar a problemas con los datos de demostración. Y, finalmente, mostrará cómo evitar ese problema con OneHotEncoder de sklearn.

Crédito de la imagen: Ilustración del autor usando texto para imagen en Canva. Se muestra: 'Tres osos panda vestidos como vaqueros del oeste'.

Un conjunto de datos simple para la demostración

Aquí tenemos un conjunto de datos simple que incluye una característica categórica llamada SO. La columna SO enumera los sistemas operativos de computadora. Utilizaremos estos datos ficticios con fines de demostración. En train_df se encuentra el conjunto de datos de entrenamiento ficticio de demostración. Mientras que en test_df tenemos el conjunto de datos de prueba ficticio de demostración.

En nuestro caso de demostración ficticio, el conjunto de pruebas contiene valores categóricos que no están presentes en el conjunto de entrenamiento. Esta falta de coincidencia causará problemas.

import pandas as pdtrain_df = pd.DataFrame({'OS': ['Windows', 'MacOS',                                 'Linux', 'Windows', 'MacOS']})test_df = pd.DataFrame({'OS': ['Windows', 'MacOS',                                'Android', 'Unix' 'iOS']})

En nuestros datos de entrenamiento, tenemos tres sistemas operativos: Windows, MacOS y Linux. Pero en nuestros datos de prueba, tenemos categorías adicionales como Android, Unix e iOS.

Un modelo ajustado con train_df.get_dummies() no funcionará con los datos de prueba de test_df.get_dummies(). Los resultados no coinciden.

Crédito de la imagen: Ilustración del autor creada en Canva usando imágenes de Canva. Un maniquí de suministros de arte.

El problema con pd.get_dummies()

Cuando aplicas la función pd.get_dummies() tanto a nuestros conjuntos de datos de entrenamiento como de prueba, esto es lo que obtendrás.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

El aumento de los costos de los centros de datos vinculados a las demandas de la inteligencia artificial

El uso de energía asociado con la ejecución de cálculos intensivos de IA se está convirtiendo rápidamente en un facto...

Inteligencia Artificial

Investigadores de Google DeepMind y YouTube anuncian Lyria un modelo avanzado de generación de música AI

En un anuncio reciente, DeepMind de Google, en colaboración con YouTube, presentó Lyria, un modelo de generación de m...

Aprendizaje Automático

Microsoft AI presenta Orca un modelo de 13 mil millones de parámetros que aprende a imitar el proceso de razonamiento de los LFM (modelos de fundación grandes).

Las notables capacidades de aprendizaje sin supervisión demostradas por modelos de base grandes (LFMs) como ChatGPT y...

Inteligencia Artificial

La IA combate la plaga de los desechos espaciales

Los investigadores están utilizando inteligencia artificial para rastrear los desechos espaciales, predecir colisione...

Aprendizaje Automático

Redes Neuronales con Paso de Mensajes Retrasado y Reconfiguración Dinámica

Esta publicación fue coescrita con Francesco Di Giovanni y Ben Gutteridge y se basa en el artículo de B. Gutteridge e...