@@ -74,6 +74,43 @@ quelques notebooks
7474Séance 3 (27/2)
7575===============
7676
77+ * Régression linéaire et contraintes sur les coefficients,
78+ `Ridge <https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html >`_,
79+ `Lasso <https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html >`_,
80+ `ElasticNet <https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html >`_,
81+ :ref: `Ridge, Lasso, mathématiques <nbl-practice-ml-ridge_lasso >`
82+ * paramètres et hyper paramètres, :ref: `Sélection des hyper-paramètres <nbl-practice-ml-winesr_knn_hyper >`,
83+ :class: `sklearn.model_selection.GridSearchCV `
84+ * pipelines (encore)
85+ * créer son propre estimateur
86+ * tests unitaires
87+
88+ Pour cette séance, on souhaite construire un estimateur qui estime
89+ une régression linéaire à coefficients positifs, une autre avec
90+ des coefficients uniquement négatifs puis pour finir une dernière
91+ régression linéaire qui considère les deux premières comme features.
92+
93+ Une régression linéaire minimise l'erreur
94+ :math: `\sum _i \left\Vert X_i\theta - y_i \right\Vert ^2 `.
95+ Le gradient est :math: `\sum _i X_i'\left ( X_i\theta - y_i \right )`.
96+
97+ Comme le modèle souhaité est équivalent à une optimisation sous contrainte,
98+ on propose de le résoudre comme ceci :
99+
100+ * On applique une itération de l'algorithme de la descente de gradient :
101+ :math: `\theta _{t+1 } = \theta _t - \epsilon _t \sum _i X_i'\left ( X_i\theta - y_i \right )`.
102+ * On ne garde que les coefficients positifs : :math: `\theta _{t+1 } = \max (0 , \theta _t)`.
103+ * On retourne à l'étape 1 ou on s'arrête si l'algorithme a convergé.
104+
105+ On appliquera cela au jeu de données :func: `sklearn.datasets.load_diabetes ` ou
106+ `Wine Quality <https://archive.ics.uci.edu/datasets?search=wine >`_
107+ on comparera à une simple régression linéaire, les coefficients sont-ils
108+ équivalents ? Comment comparer les modèles ?
109+
110+ * :ref: `Nouvel estimateur <nbl-practice-ml-custom_estimator >`
111+
112+ Si on a le temps, traitement des données manquantes.
113+
77114Séance 4 (6/3)
78115==============
79116
0 commit comments