Nad rámec binární klasifikace
Binární klasifikace je samozřejmě jen jeden speciální případ. Target encoding lze použít pro jakýkoli typ cílové proměnné:
- Pro binární klasifikaci se obvykle používá průměrné target encoding
- Pro regresi lze průměr nahradit mediánem, kvartily apod.
- Pro vícetrídní klasifikaci s N třídami vytvoříme N příznaků s průměrem cílové proměnné pro každou kategorii ve stylu one vs. all
Funkci mean_target_encoding(), kterou jsi vytvořil/a, lze použít pro libovolný výše uvedený typ cílové proměnné. Pojďme ji aplikovat na regresní problém na příkladu Kaggle soutěže House Prices.
Tvým úkolem je zakódovat kategorický příznak "RoofStyle" pomocí průměrného target encodingu. DataFrames train a test jsou již k dispozici v tvém pracovním prostředí.
Toto cvičení je součástí kurzu
Jak vyhrát soutěž na Kaggle v Pythonu
Pokyny k cvičení
- Doplň všechny chybějící parametry volání funkce
mean_target_encoding(). Název cílové proměnné je"SalePrice". Nastav hyperparametr \(\alpha\) na hodnotu 10. - Nezapomeň, že parametry
trainatestočekávají DataFrames pro trénování a testování. - Parametry
targetacategoricalpak očekávají názvy cílové proměnné a příznaku, který má být zakódován.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())