Skip to content

Commit 323ab00

Browse files
committed
se3
1 parent 33ef43a commit 323ab00

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

_doc/articles/2026/2026-03-15-route2026-ml.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,43 @@ quelques notebooks
7474
Sé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+
77114
Séance 4 (6/3)
78115
==============
79116

0 commit comments

Comments
 (0)