Я пытаюсь использовать случайный лес для своей проблемы (ниже приведен пример кода для наборов данных Boston, а не для моих данных). Я планирую использовать GridSearchCV
для настройки гиперпараметров, но каков должен быть диапазон значений для разных параметров? Как я узнаю, что выбранный мной диапазон правильный?
Я читал об этом в Интернете, и кто-то предложил попробовать "увеличить" оптимальное значение во втором поиске по сетке (например, если было 10, попробуйте [5, 20, 50]).
Это правильный подход? Должен ли я использовать этот подход для ВСЕХ параметров, необходимых для случайного леса? Такой подход может упустить «хорошую» комбинацию, не так ли?
import numpy as np
from sklearn.grid_search import GridSearchCV
from sklearn.datasets import load_digits
from sklearn.ensemble import RandomForestRegressor
digits = load_boston()
X, y = dataset.data, dataset.target
model = RandomForestRegressor(random_state=30)
param_grid = { "n_estimators" : [250, 300],
"criterion" : ["gini", "entropy"],
"max_features" : [3, 5],
"max_depth" : [10, 20],
"min_samples_split" : [2, 4] ,
"bootstrap": [True, False]}
grid_search = GridSearchCV(clf, param_grid, n_jobs=-1, cv=2)
grid_search.fit(X, y)
print grid_search.best_params_