Hyperparamètres, LassoRandomForestRregressor et grid_search (énoncé)#
Links: notebook
, html, python
, slides, GitHub
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
0. Données#
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)
1. Premiers modèles#
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.
2. Grid Search#
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.
3. Meilleur modèle#
On veut récupérer le meilleur modèle et connaîtr le nombre d’arbres qui a été conservé.
4. Evolution de la performance en fonction des paramètres#
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.