Rastgele ormanlar

Python ile Finans için Machine Learning

Nathan George

Data Science Professor

polinom uydurması

Python ile Finans için Machine Learning

doğrusal uydurma

Python ile Finans için Machine Learning

Rastgele ormanlar

random forest graphviz

Python ile Finans için Machine Learning

Bootstrap toplulaştırma (bagging)

önyükleme (bootstrap)

Python ile Finans için Machine Learning

Özellik örnekleme

Random Forests

  • Karar ağaçlarının bir koleksiyonu (ensemble)
  • Bootstrap toplulaştırma (bagging)
  • Her ayrımda özellik örnekleme
Python ile Finans için Machine Learning

sklearn uygulaması

from sklearn.ensemble import RandomForestRegressor

random_forest = RandomForestRegressor()
random_forest.fit(train_features, train_targets)
print(random_forest.score(train_features, train_targets))
Python ile Finans için Machine Learning

Hiperparametreler

random_forest = RandomForestRegressor(n_estimators=200,
                                      max_depth=5,
                                      max_features=4,
                                      random_state=42)
Python ile Finans için Machine Learning

ParameterGrid

from sklearn.model_selection import ParameterGrid

grid = {'n_estimators': [200], 
        'max_depth':[3, 5], 
        'max_features': [4, 8]}

from pprint import pprint pprint(list(ParameterGrid(grid)))
[{'max_depth': 3, 'max_features': 4, 'n_estimators': 200},
 {'max_depth': 3, 'max_features': 8, 'n_estimators': 200},
 {'max_depth': 5, 'max_features': 4, 'n_estimators': 200},
 {'max_depth': 5, 'max_features': 8, 'n_estimators': 200}]
Python ile Finans için Machine Learning

ParameterGrid

test_scores = []
# loop through the parameter grid, set hyperparameters, save the scores
for g in ParameterGrid(grid):
    rfr.set_params(**g)  # ** is "unpacking" the dictionary
    rfr.fit(train_features, train_targets)
    test_scores.append(rfr.score(test_features, test_targets))

# find best hyperparameters from the test score and print best_idx = np.argmax(test_scores) print(test_scores[best_idx]) print(ParameterGrid(grid)[best_idx])
0.05594252725411142
{'max_depth': 5, 'max_features': 8, 'n_estimators': 200}
Python ile Finans için Machine Learning

Biraz rastgele orman ekelim!

Python ile Finans için Machine Learning

Preparing Video For Download...