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.
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.
- openCypher* contra cualquier base de datos relacional
- Explicación del artículo de las Redes de Atención en Grafos con ilustración e implementación en PyTorch
- Noticias de VoAGI, 26 de julio Entrenamiento gratuito de IA generativa de Google • Guía para principiantes en Ingeniería de Datos • GPT-Engineer Tu nuevo asistente de codificación de IA
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.
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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- La Guía Esencial para la Ingeniería de Instrucciones en ChatGPT
- ¿Cómo deberíamos almacenar imágenes de IA? Investigadores de Google proponen un método de compresión de imágenes utilizando modelos generativos basados en puntuación
- Transforma imágenes de moda en impresionantes videos fotorrealistas con el marco de IA DreamPose
- Optimización de la programación de programas de televisión utilizando algoritmos genéticos en Python
- 5 Errores que cometí al cambiar a la carrera de Ciencia de Datos
- NLP moderno Una descripción detallada. Parte 3 BERT
- Olvida los 32K de GPT4 LongNet tiene un contexto de mil millones de tokens