Das beste Präzisionsmodell auswählen
Dein Chef bietet an, dir in diesem Jahr drei Sportspiele zu finanzieren. Von den 41 Heimspielen deines Lieblingsteams willst du sichergehen, dass du zu drei Heimspielen gehst, die sie definitiv gewinnen. Du baust ein Modell, um zu entscheiden, welche Spiele dein Team gewinnen wird.
Dafür erstellst du einen Random-Search-Algorithmus und legst den Fokus auf die Modellpräzision (damit dein Team wirklich gewinnt). Außerdem willst du dein bestes Modell und die besten Parameter festhalten, damit du sie im nächsten Jahr wiederverwenden kannst (falls sich das Modell bewährt, natürlich). Du hast dich bereits für das Random-Forest-Klassifikationsmodell rfc entschieden und eine Parameterverteilung param_dist erzeugt.
Diese Übung ist Teil des Kurses
Modellvalidierung in Python
Anleitung zur Übung
- Erstelle einen Präzisions-Scorer
precisionmitmake_scorer(<scoring_function>). - Vervollständige die Random-Search-Methode mit
rfcundparam_dist. - Nutze
rs.cv_results_, um die durchschnittlichen Testergebnisse auszugeben. - Gib die insgesamt beste Bewertung aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
from sklearn.metrics import precision_score, make_scorer
# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
estimator=____, param_distributions=____,
scoring = precision,
cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)
# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))