Régression linéaire
La régression linéaire est l'un des algorithmes les plus connus. Elle est toujours enseigné au lycée. Il permet de résoudre des problèmes de régression de type linéaire.
Définition
La régression linéaire est un modèle de régression linéaire est un modèle de régression qui cherche à établir une relation linéaire entre une variable, dite expliquée, et une ou plusieurs variables, dites explicatives.
Wikipédia : https://fr.m.wikipedia.org/wiki/R%C3%A9gression_lin%C3%A9aire
La régression linéaire repose sur l'hypothèse d'une relation linéaire entre la variable dépendante y et les prédicteurs X. La valeur de y serait donc une combinaison linéaire des prédicteurs.
La solution d'une régression est obtenue grâce à la méthode des moindres carrés ordinaires qui consiste à minimiser les erreurs de prédictions.
On appelle résidu (ou erreur) la différence entre la valeur prédite et la valeur réelle. On note epsilon = y - ŷ
https://scikit-learn.org/stable/modules/linear_model.html#ordinary-least-squares
Principe de la régression linéaire
1. Problème
La régression linéaire permet de répondre à des problèmes linéaires. L'utilisation de la régression linéaire suppose qu'il existe une relation linéaire entre les variables explicatives et la variable expliquée.
Exemples:
- Prédire la valeur d'un bien
- Prédire le poids en fonction de la taille
- Prédire la température sur la base
2. Données
Les variables explicatives sont désignées par X et la variable expliquée par Y. X est une matrice de taille (n, p), n étant la taille des données et p le nombre de variables.
3. Fonction de perte
L'erreur de prédiction sur la moyenne de la somme des carrées des erreurs. MAE
4. Méthode d'optimisation
La solution d'une régression linéaire peut être déterminée de manière analytique. Il est possible d'apprendre une régression linéaire avec une méthode itérative, dans ce cas on utilise généralement la descente de gradient.
- Solution analytique (approche directe)
- Descente de gradient (approche itérative)
Implémentation avec Scikit-learn
Jeu de données
Considérons le jeux de données des tailles et des poids Heights and Weights Dataset.
Régression linéaire multiple
from sklearn.linear_model import LinearRegression
reg = LinearRegression()
reg.fit(X_train, y_train)
a, b = reg.coef_, reg.intercept_
Régularisation Ridge
La régression linéaire Ridge est une variante de a régression linéaire abordée dans la publication précédente. Elle prend en compte les corrélations qui peuvent avoir entre certaines variables explicatives, ainsi ces variables seront pondérées de la manière.
from sklearn.linear_model import Ridge
reg = Ridge(alpha=alpha)
reg.fit(X_train, y_train)
a, b = reg.coef_, reg.intercept_
Régression Lasso
from sklearn.linear_model import Lasso
reg = Lasso(alpha=alpha)
reg.fit(X_train, y_train)
a, b = reg.coef_, reg.intercept_
.