Verder dan binaire classificatie
Binaire classificatie is natuurlijk maar één speciaal geval. Target encoding kan worden toegepast op elk type doelvariabele:
- Voor binaire classificatie wordt meestal mean target encoding gebruikt
- Voor regressie kan de mean worden vervangen door mediaan, kwartielen, enz.
- Voor multiklasseclassificatie met N klassen maken we N features met de doelgemiddelden voor elke categorie in een one-vs-all-aanpak
De functie mean_target_encoding() die je hebt gemaakt, kan worden gebruikt voor elk van de bovenstaande doeltypen. Laten we die toepassen op een regressieprobleem met als voorbeeld de House Prices Kaggle-competitie.
Je doel is om een categorische feature "RoofStyle" te encoden met mean target encoding. De DataFrames train en test zijn al beschikbaar in je werkruimte.
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Oefeninstructies
- Vul alle ontbrekende parameters in bij het aanroepen van de functie
mean_target_encoding(). De naam van de doelvariabele is"SalePrice". Zet de hyperparameter \(\alpha\) op 10. - Onthoud dat de parameters
trainentestde train- en test-DataFrames verwachten. - Terwijl de parameters
targetencategoricalde namen verwachten van respectievelijk de doelvariabele en de feature die je wilt encoden.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())