ÎncepețiÎncepe gratuit

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

Vezi cursul

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 și test așteaptă DataFrames-urile de antrenament și de testare.
  • Parametrii target și categorical aș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())
Editează și rulează codul