Bortom binär klassificering
Binär klassificering är naturligtvis bara ett specialfall. Målkodning kan tillämpas på alla typer av målvariabler:
- Vid binär klassificering används vanligtvis medelvärdesbaserad målkodning
- Vid regression kan medelvärdet ersättas med median, kvartiler och liknande
- Vid multiklassklassificering med N klasser skapar vi N särdrag med målmedelvärdet för varje kategori i ett ett-mot-alla-upplägg
Funktionen mean_target_encoding() som du har skapat kan användas för alla måltyper ovan. Låt oss tillämpa den på ett regressionsproblem med House Prices-tävlingen på Kaggle som exempel.
Målet är att koda det kategoriska särdragets "RoofStyle" med medelvärdesbaserad målkodning. DataFrames train och test finns redan tillgängliga i din arbetsyta.
Den här övningen är en del av kursen
Vinna en Kaggle-tävling i Python
Övningsinstruktioner
- Ange alla saknade parametrar i anropet till funktionen
mean_target_encoding(). Målvariabelns namn är"SalePrice". Sätt hyperparametern \(\alpha\) till 10. - Kom ihåg att parametrarna
trainochtestförväntar sig tränings- och test-DataFrames. - Parametrarna
targetochcategoricalförväntar sig namnen på målvariabeln respektive särdragets som ska kodas.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())