Automatyzacja wyboru hiperparametrów
Znalezienie najlepszego hiperparametru bez pisania setek linii kodu dla setek modeli to ogromna oszczędność czasu – i duże ułatwienie w przyszłej pracy z modelami uczenia maszynowego.
Jednym z kluczowych hiperparametrów algorytmu GBM jest współczynnik uczenia. Tylko która jego wartość będzie najlepsza dla tego problemu? Pisząc pętlę, która przeszuka różne możliwości, a następnie zbierając i analizując wyniki, możesz znaleźć optymalną wartość.
Wartości współczynnika uczenia do wypróbowania: 0,001, 0,01, 0,05, 0,1, 0,2 oraz 0,5.
Do dyspozycji masz zbiory danych X_train, X_test, y_train i y_test, a GradientBoostingClassifier jest już zaimportowany.
To ćwiczenie jest częścią kursu
Strojenie hiperparametrów w Pythonie
Instrukcje do ćwiczenia
- Utwórz listę
learning_rateszawierającą wartości współczynnika uczenia oraz listęresults_listdo przechowywania wyników dokładności predykcji. - Napisz pętlę, która tworzy model GBM dla każdego z podanych współczynników uczenia i generuje predykcje dla każdego modelu.
- Zapisz wartość współczynnika uczenia oraz wynik dokładności do listy
results_list. - Przekształć listę wyników w DataFrame i wyświetl ją.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Set the learning rates & results storage
learning_rates = ____
results_list = ____
# Create the for loop to evaluate model predictions for each learning rate
for learning_rate in ____:
model = ____(learning_rate=____)
predictions = ____.fit(____, ____).predict(____)
# Save the learning rate and accuracy score
results_list.append([____, accuracy_score(y_test, ____)])
# Gather everything into a DataFrame
results_df = pd.DataFrame(____, columns=['learning_rate', 'accuracy'])
print(results_df)