Além da classificação binária
Claro, classificação binária é apenas um caso especial. O target encoding pode ser aplicado a qualquer tipo de variável alvo:
- Para classificação binária, geralmente se usa mean target encoding
- Para regressão, a média pode ser substituída por mediana, quartis etc.
- Para classificação multiclasse, com N classes, criamos N features com a média do alvo para cada categoria no esquema um-contra-todos
A função mean_target_encoding() que você criou pode ser usada para qualquer tipo de alvo mencionado acima. Vamos aplicá-la a um problema de regressão no exemplo da competição House Prices do Kaggle.
Seu objetivo é codificar a variável categórica "RoofStyle" usando mean target encoding. Os DataFrames train e test já estão disponíveis no seu ambiente de trabalho.
Este exercício faz parte do curso
Vencendo uma competição do Kaggle em Python
Instruções do exercício
- Especifique todos os parâmetros que faltam na chamada da função
mean_target_encoding(). O nome da variável alvo é"SalePrice". Defina o hiperparâmetro \(\alpha\) como 10. - Lembre-se de que os parâmetros
trainetestesperam os DataFrames de treino e teste. - Já os parâmetros
targetecategoricalesperam os nomes da variável alvo e da feature a ser codificada.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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())