Codificación de columnas categóricas III: DictVectorizer
Muy bien, un último truco antes de que te metas con los pipelines. El proceso en dos pasos que acabas de ver —LabelEncoder seguido de OneHotEncoder— se puede simplificar usando un DictVectorizer.
Usar un DictVectorizer sobre un DataFrame convertido a diccionario te permite hacer label encoding y one-hot encoding de una sola vez.
¡Tu tarea en este ejercicio es aplicar esta estrategia!
Este ejercicio forma parte del curso
Extreme Gradient Boosting con XGBoost
Instrucciones del ejercicio
- Importa
DictVectorizerdesklearn.feature_extraction. - Convierte
dfen un diccionario llamadodf_dictusando su método.to_dict()con"records"como argumento. - Instancia un objeto
DictVectorizerllamadodvcon el argumento de palabra clavesparse=False. - Aplica el
DictVectorizeradf_dictusando su método.fit_transform(). - Pulsa "Enviar respuesta" para imprimir las cinco primeras filas resultantes y el vocabulario.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import DictVectorizer
____
# Convert df into a dictionary: df_dict
df_dict = ____
# Create the DictVectorizer object: dv
dv = ____
# Apply dv on df: df_encoded
df_encoded = ____
# Print the resulting first five rows
print(df_encoded[:5,:])
# Print the vocabulary
print(dv.vocabulary_)