Dincolo de clasificarea binară
Clasificarea binară este doar un caz special. Codificarea prin medie a variabilei țintă poate fi aplicată oricărui tip de variabilă țintă:
- Pentru clasificarea binară se folosește de obicei codificarea prin medie a variabilei țintă
- Pentru regresie, media poate fi înlocuită cu mediana, cuartilele etc.
- Pentru clasificarea multi-clasă cu N clase, se creează N caracteristici cu media variabilei țintă pentru fiecare categorie, într-o abordare „una față de toate"
Funcția mean_target_encoding() pe care ai creat-o poate fi utilizată pentru orice tip de variabilă țintă menționat mai sus. Hai să o aplicăm pentru o problemă de regresie, folosind ca exemplu competiția Kaggle House Prices.
Scopul tău este să codifici caracteristica categorială "RoofStyle" prin codificare cu media variabilei țintă. DataFrames-urile train și test sunt deja disponibile în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Câștigarea unei competiții Kaggle în Python
Instrucțiuni pentru exercițiu
- Specifică toți parametrii lipsă pentru apelul funcției
mean_target_encoding(). Numele variabilei țintă este"SalePrice". Setează hiperparametrul \(\alpha\) la valoarea 10. - Ține minte că parametrii
trainșitestașteaptă DataFrames-urile de antrenament și de testare. - Parametrii
targetșicategoricalașteaptă, respectiv, numele variabilei țintă și al caracteristicii care urmează să fie codificate.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())