ComenzarEmpieza gratis

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

Ver curso

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 train y test esperan los DataFrames de entrenamiento y prueba.
  • Mientras que los parámetros target y categorical esperan 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())
Editar y ejecutar código