Le notebook explore l'optimisation des hyper paramaètres du modèle LassoRandomForestRegressor, et fait varier le nombre d'arbre et le paramètres alpha.
from jyquickhelper import add_notebook_menu
add_notebook_menu()
%matplotlib inline
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
data = load_diabetes()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y)
L'object est de caler une random forest sur le jeu de données proposé puis le modèle LassoRandomForestRegressor qui enchaîne une forêt aléatoire suivi d'une régression Lasso dont on peut récupérer le code ici : lasso_random_forest_regressor.py.
On veut trouver la meilleure paire de paramètres (n_estimators
, alpha
). scikit-learn implémente l'objet GridSearchCV qui effectue de nombreux apprentissage avec toutes les valeurs de paramètres qu'il reçoit. La méthode get_params peut aider à comprendre désigner les paramètres.
On veut récupérer le meilleur modèle et connaîtr le nombre d'arbres qui a été conservé.
On veut comprendre un peu mieux ce qui se cache derrière cette meilleure paire de paramètres. On veut faire un graphe de l'évolution de la performance en fonction des différentes valeurs de paramètres.