Testa olika maximala djup
Vi vill alltid optimera våra maskininlärningsmodeller för att få bästa möjliga förutsägelser. Det gör vi genom att justera hyperparametrar, det vill säga inställningar för våra modeller. Vi kommer att se mer i detalj hur dessa används i kommande kapitel, men tänk på dem som rattar vi kan vrida för att finjustera förutsägelserna.
För vanliga beslutsträd är förmodligen max_depth den viktigaste hyperparametern. Den begränsar antalet uppdelningar i ett beslutsträd. Låt oss hitta det bästa värdet för max_depth baserat på R\(^2\)-poängen för vår modell på testmängden, vilket vi kan beräkna med metoden score() i våra beslutsträdsmodeller.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Loopa igenom värdena 3, 5 och 10 för att använda som parametern
max_depthi vår beslutsträdsmodell. - Sätt parametern
max_depthi vår DecisionTreeRegressor tilldi varje iteration av loopen. - Skriv ut modellens poäng på
train_featuresochtrain_targets.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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')