Más allá de la clasificación binaria
Por supuesto, la clasificación binaria es solo un caso particular. La target encoding puede aplicarse a cualquier tipo de variable objetivo:
- Para clasificación binaria, normalmente se usa la codificación por media del objetivo
- Para regresión, la media puede sustituirse por la mediana, cuartiles, etc.
- Para clasificación multiclase, con N clases creamos N características con la media del objetivo para cada categoría en un esquema uno contra todos
La función mean_target_encoding() que has creado puede usarse para cualquiera de los tipos de objetivo anteriores. Vamos a aplicarla a un problema de regresión con el ejemplo de la competición de House Prices en Kaggle.
Tu objetivo es codificar la variable categórica "RoofStyle" usando mean target encoding. Los DataFrames train y test ya están disponibles en tu espacio de trabajo.
Este ejercicio forma parte del curso
Cómo ganar una competición de Kaggle con Python
Instrucciones del ejercicio
- Especifica todos los parámetros que faltan en la llamada a
mean_target_encoding(). El nombre de la variable objetivo es"SalePrice". Fija el hiperparámetro \(\alpha\) en 10. - Recuerda que los parámetros
trainytestesperan los DataFrames de entrenamiento y prueba. - Mientras que los parámetros
targetycategoricalesperan los nombres de la variable objetivo y de la característica que se va a codificar.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create mean target encoded feature
train['RoofStyle_enc'], test['RoofStyle_enc'] = mean_target_encoding(train=train,
test=____,
target='____',
categorical='____',
alpha=____)
# Look at the encoding
print(test[['RoofStyle', 'RoofStyle_enc']].drop_duplicates())