Über binäre Klassifikation hinaus
Natürlich ist die binäre Klassifikation nur ein Sonderfall. Target Encoding kann auf jeden Typ von Zielvariable angewendet werden:
- Für binäre Klassifikation wird üblicherweise Mean Target Encoding verwendet
- Für Regression kann der Mittelwert durch Median, Quartile usw. ersetzt werden
- Für multiklassige Klassifikation mit N Klassen erstellen wir N Features mit dem Ziel-Mittelwert für jede Kategorie im One-vs.-All-Verfahren
Die von dir erstellte Funktion mean_target_encoding() kann für jeden der oben genannten Zieltypen verwendet werden. Wenden wir sie nun auf ein Regressionsproblem im Beispiel der House Prices Kaggle Competition an.
Dein Ziel ist es, das kategoriale Feature "RoofStyle" mithilfe von Mean Target Encoding zu kodieren. Die DataFrames train und test stehen dir bereits in deinem Workspace zur Verfügung.
Diese Übung ist Teil des Kurses
Eine Kaggle-Competition in Python gewinnen
Anleitung zur Übung
- Gib alle fehlenden Parameter für den Aufruf von
mean_target_encoding()an. Der Name der Zielvariable ist"SalePrice". Setze den Hyperparameter \(\alpha\) auf 10. - Denk daran, dass die Parameter
trainundtestdie DataFrames für Training und Test erwarten. - Die Parameter
targetundcategoricalerwarten die Namen der Zielvariable bzw. des zu kodierenden Features.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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())