Selectarea celui mai bun model bazat pe precizie
Șeful tău ți-a oferit să plătească pentru trei meciuri sportive în acest an. Din cele 41 de meciuri de acasă pe care echipa ta favorită le joacă, vrei să te asiguri că mergi la trei meciuri pe care echipa le va câștiga cu siguranță. Construiești un model care să decidă la ce meciuri echipa ta va câștiga.
Pentru aceasta, vei construi un algoritm de căutare aleatorie și te vei concentra pe precizia modelului (pentru a te asigura că echipa ta câștigă). Vrei, de asemenea, să păstrezi cel mai bun model și cei mai buni parametri, pentru a-i putea folosi și anul viitor (dacă modelul se descurcă bine, desigur). Ai decis deja să folosești modelul de clasificare prin păduri aleatoare rfc și ai generat o distribuție de parametri param_dist.
Acest exercițiu face parte din cursul
Validarea modelelor în Python
Instrucțiuni pentru exercițiu
- Creează un scorer de precizie,
precision, folosindmake_scorer(<scoring_function>). - Completează metoda de căutare aleatorie utilizând
rfcșiparam_dist. - Folosește
rs.cv_results_pentru a afișa scorurile medii de testare. - Afișează cel mai bun scor general.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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.____))