Машинное обучение для финансов на Python
Nathan George
Data Science Professor




Случайные леса
from sklearn.ensemble import RandomForestRegressor
random_forest = RandomForestRegressor()
random_forest.fit(train_features, train_targets)
print(random_forest.score(train_features, train_targets))
random_forest = RandomForestRegressor(n_estimators=200,
max_depth=5,
max_features=4,
random_state=42)
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}]
test_scores = [] # перебираем сетку параметров, задаём гиперпараметры, сохраняем оценки for g in ParameterGrid(grid): rfr.set_params(**g) # ** — «распаковка» словаря rfr.fit(train_features, train_targets) test_scores.append(rfr.score(test_features, test_targets))# находим лучшие гиперпараметры по тестовой оценке и выводим результат 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