J'essaie d'utiliser la forêt aléatoire pour mon problème (ci-dessous est un exemple de code pour les jeux de données boston, pas pour mes données). Je prévois d'utiliser GridSearchCV
pour le réglage de l'hyperparamètre, mais quelle devrait être la plage de valeurs pour les différents paramètres? Comment saurai-je que la plage que je sélectionne est la bonne?Réglage de l'hyperparamètre Random Forest scikit-learn en utilisant GridSearchCV
Je lisais à ce sujet sur Internet et que quelqu'un a suggéré d'essayer « zoom » sur l'optimum dans une deuxième grille de recherche (par exemple si elle était 10 alors essayez [5, 20, 50]).
Est-ce la bonne approche? Dois-je utiliser cette approche pour TOUS les paramètres requis pour la forêt aléatoire? Cette approche peut manquer une "bonne" combinaison, non?
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_
Cela ne prend pas en charge la régression et de nombreux algorithmes, n'est-ce pas? En fait, mon problème est la régression et non la classification. J'ai édité ma question. – Muhammad
Votre code montre un RandomForestClassifier ... – Kikohs
J'ai édité ma question, désolé pour la confusion. – Muhammad