Wypróbuj różne wartości max_depth
Dobry model uczenia maszynowego wymaga starannego dostrojenia, aby jak najlepiej przewidywać wartości. Służą do tego hiperparametry – ustawienia modelu, którymi można sterować jak pokrętłami, aby uzyskać jak najdokładniejsze prognozy. Więcej na ich temat dowiesz się w kolejnych rozdziałach.
W przypadku zwykłych drzew decyzyjnych najważniejszym hiperparametrem jest prawdopodobnie max_depth. Określa on maksymalną liczbę podziałów w drzewie decyzyjnym. Znajdźmy najlepszą wartość max_depth na podstawie współczynnika R\(^2\) modelu na zbiorze testowym – możemy go uzyskać za pomocą metody score() naszych modeli drzew decyzyjnych.
To ćwiczenie jest częścią kursu
Uczenie maszynowe w finansach z Pythonem
Instrukcje do ćwiczenia
- Przejdź w pętli przez wartości 3, 5 i 10, które posłużą jako parametr
max_depthw modelu drzewa decyzyjnego. - W każdej iteracji pętli ustaw parametr
max_depthwDecisionTreeRegressorna wartośćd. - Wyświetl wynik modelu na danych
train_featuresitrain_targets.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')