Próbuję użyć Losowego lasu dla mojego problemu (poniżej jest przykładowy kod dla zestawów danych boston, nie dla moich danych). Planuję użyć GridSearchCV
do strojenia hiperparametrycznego, ale jaki powinien być zakres wartości dla różnych parametrów? Skąd będę wiedział, że wybrany przeze mnie zakres jest prawidłowy?Losowe strojenie hiperparametru w lesie scikit-learn przy użyciu GridSearchCV
czytałem o tym w internecie i ktoś zasugerował, aby spróbować "zbliżenia" na optimum w drugim grid-search (np jeśli to było 10, a następnie spróbuj [5, 20, 50]).
Czy to właściwe podejście? Czy mam zastosować to podejście do WSZYSTKICH parametrów wymaganych dla losowego lasu? Takie podejście może ominąć "dobrą" kombinację, prawda?
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_
To nie obsługuje regresji i wielu algorytmów, prawda? W rzeczywistości moim problemem jest regresja, a nie klasyfikacja. Zmieniłem moje pytanie. – Muhammad
Twój kod pokazuje RandomForestClassifier ... – Kikohs
Zmieniłem moje pytanie, przepraszam za zamieszanie. – Muhammad