Aan de slagGa gratis aan de slag

Het beste precisie-model selecteren

Je baas wil dit jaar drie sportwedstrijden voor je betalen. Van de 41 thuiswedstrijden die je favoriete team speelt, wil je zeker weten dat je naar drie thuiswedstrijden gaat die ze zéker winnen. Je bouwt een model om te bepalen welke wedstrijden je team gaat winnen.

Om dit te doen, bouw je een random search-algoritme en focus je op de precisie van het model (zodat je team inderdaad wint). Je wilt ook je beste model en beste hyperparameters bijhouden, zodat je ze volgend jaar opnieuw kunt gebruiken (als het model het goed doet, natuurlijk). Je hebt al gekozen voor het random forest-classificatiemodel rfc en een parameterverdeling param_dist aangemaakt.

Deze oefening maakt deel uit van de cursus

Modelvalidatie in Python

Cursus bekijken

Oefeninstructies

  • Maak een precision-scorer, precision, met make_scorer(<scoring_function>).
  • Maak de random search-methode af met rfc en param_dist.
  • Gebruik rs.cv_results_ om de gemiddelde testscores te printen.
  • Print de beste algehele score.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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.____))
Code bewerken en uitvoeren