Výběr nejlepšího modelu podle přesnosti
Tvůj šéf ti nabídl, že ti zaplatí tři sportovní zápasy za rok. Ze 41 domácích zápasů tvého oblíbeného týmu chceš vybrat právě tři, které tým určitě vyhraje. Sestrojíš model, který rozhodne, ve kterých zápasech tvůj tým zvítězí.
K tomu použiješ algoritmus náhodného prohledávání a zaměříš se na přesnost modelu (aby ses opravdu dostal/a jen na výhry). Chceš si také uložit nejlepší model a nejlepší parametry, abys je mohl/a použít i příští rok (pokud se model osvědčí). Jako klasifikační model jsi se rozhodl/a použít náhodný les rfc a vygeneroval/a jsi rozdělení parametrů param_dist.
Toto cvičení je součástí kurzu
Validace modelů v Pythonu
Pokyny k cvičení
- Vytvoř skórovací funkci pro přesnost
precisionpomocímake_scorer(<scoring_function>). - Dokonči metodu náhodného prohledávání s použitím
rfcaparam_dist. - Pomocí
rs.cv_results_vypiš průměrná testovací skóre. - Vypiš celkově nejlepší skóre.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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.____))