Wybór modelu o najlepszej precyzji
Twój szef zaproponował, że zapłaci za trzy mecze sportowe w tym roku. Spośród 41 meczów domowych rozgrywanych przez twój ulubiony zespół chcesz wybrać dokładnie trzy, które zespół na pewno wygra. Budujesz model, który pomoże przewidzieć zwycięstwa.
W tym celu zaimplementujesz algorytm losowego przeszukiwania i skupisz się na precyzji modelu (aby mieć pewność, że zespół wygra). Chcesz też zachować najlepszy model i najlepsze parametry, żeby móc z nich skorzystać w przyszłym roku (oczywiście pod warunkiem, że model sprawdzi się w praktyce). Do dyspozycji masz już model klasyfikacyjny lasu losowego rfc oraz rozkład parametrów param_dist.
To ćwiczenie jest częścią kursu
Walidacja modeli w Pythonie
Instrukcje do ćwiczenia
- Utwórz miernik precyzji
precision, używając funkcjimake_scorer(<funkcja_oceniająca>). - Uzupełnij metodę losowego przeszukiwania, korzystając z
rfciparam_dist. - Użyj
rs.cv_results_, aby wyświetlić średnie wyniki testów. - Wyświetl najlepszy ogólny wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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.____))