Välj den bästa precisionsmodellen
Din chef har erbjudit sig att bekosta tre sportmatcher för dig i år. Av de 41 hemmamatcher ditt favoritlag spelar vill du säkerställa att du besöker tre matcher som de garanterat vinner. Du bygger en modell för att avgöra vilka matcher ditt lag kommer att vinna.
För att göra detta bygger du en slumpmässig sökalgoritm och fokuserar på modellens precision (för att säkerställa att ditt lag vinner). Du vill också hålla reda på din bästa modell och dina bästa parametrar, så att du kan använda dem igen nästa år (om modellen presterar bra, förstås). Du har redan bestämt dig för att använda random forest-klassificeringsmodellen rfc och har genererat en parameterfördelning param_dist.
Den här övningen är en del av kursen
Modellvalidering i Python
Övningsinstruktioner
- Skapa en precisionsberäknare,
precision, med hjälp avmake_scorer(<scoring_function>). - Slutför den slumpmässiga sökmetoden genom att använda
rfcochparam_dist. - Använd
rs.cv_results_för att skriva ut de genomsnittliga testpoängen. - Skriv ut det bästa totala resultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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.____))