Sto cercando di utilizzare la foresta casuale per il mio problema (di seguito è riportato un codice di esempio per i set di dati di Boston, non per i miei dati). Sto pianificando di utilizzare GridSearchCV
per la regolazione iperparametrica, ma quale dovrebbe essere l'intervallo di valori per diversi parametri? Come faccio a sapere che la gamma che sto selezionando è quella corretta?Random Forest iperparametro tuning scikit-learn utilizzando GridSearchCV
stavo leggendo su di esso su internet e qualcuno ha suggerito di provare "zoom" sulla ottimale in seconda griglia-ricerca (ad esempio, se era 10 quindi provare [5, 20, 50]).
È questo l'approccio giusto? Devo usare questo approccio per TUTTI i parametri richiesti per la foresta casuale? Questo approccio può mancare una combinazione "buona", giusto?
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_
Questo non supporta la regressione e molti algoritmi, vero? In realtà, il mio problema è la regressione e non la classificazione. Ho modificato la mia domanda. – Muhammad
Il tuo codice mostra un RandomForestClassifier ... – Kikohs
Ho modificato la mia domanda, mi dispiace per la confusione. – Muhammad