Chapitre 2: REGRESSION LINEAIRE
appliquée au ML
Apprentissage basé sur une instance Vs.
Apprentissage basé sur un modèle
Régression linéaire vs Régression logistique
Modèle de régression linéaire simple
Moindres carrés ordinaires
Gradient Descente
Modèle de régression linéaire multiple
77 Machine Learning avec Python
M.SEKMA
Apprentissage basé sur une instance Vs.
Apprentissage basé sur un modèle
Apprentissage basé sur une instance
78 Machine Learning avec Python
M.SEKMA
Apprentissage basé sur une instance Vs.
Apprentissage basé sur un modèle
79 Machine Learning avec Python
M.SEKMA
Régression linéaire vs Régression
logistique
Régression Linéaire Régression Logistique
• Type de variable dépendante : Continue • Type de variable dépendante : Binaire ou
• Modèle mathématique : Equation nominale
linéaire • Modèle mathématique : Fonction logistique
• Objectif : Prédiction de valeurs (sigmoïde)
numériques. • Objectif : Prédiction de la probabilité
• Sortie du modèle : Valeurs continues d'appartenance à une classe
• Sortie du modèle : Probabilité entre 0 et 1
• Exemple: la prévision des stocks • Exemple: la classification d’images.
80 Machine Learning avec Python
M.SEKMA
Introduction à la Régression Linéaire
La régression linéaire est une technique d'analyse
statistique qui permet de modéliser la relation entre une
variable dépendante (Y) et une ou plusieurs variables
indépendantes (X).
Apprentissage basé sur un modèle.
Elle est basée sur l'hypothèse que la relation entre ces
variables est linéaire, c'est-à-dire qu'elle peut être
approximée par une ligne droite.
81 Machine Learning avec Python
M.SEKMA
Quand Utiliser la Régression Linéaire ?
La régression linéaire est utilisée pour prédire ou expliquer la valeur d'une
variable dépendante en fonction de variables indépendantes.
Y
Variable
dépendante
X
Variable
82 indépendante
Objectif de la Régression Linéaire
L'objectif principal de la régression linéaire est de trouver
la meilleure ligne (modèle) qui représente la relation
entre les variables, minimisant ainsi l'erreur de prédiction.
Cette ligne est appelée "ligne de régression" ou "droite
de régression".
83 Machine Learning avec Python
M.SEKMA
Types de Régression Linéaire
Il existe plusieurs types de régression linéaire,
La régression linéaire simple (une seule variable indépendante)
La régression linéaire multiple (plusieurs variables indépendantes).
D'autres variantes incluent la régression linéaire robuste, la
régression linéaire polynomiale, etc
84 Machine Learning avec Python
M.SEKMA
Régression Linéaire Simple
La régression linéaire simple est une technique d'analyse
statistique qui modélise la relation entre une variable
dépendante (Y) et une seule variable indépendante (X).
L'équation de la régression linéaire simple :
Y = α+ βX + ε
α et β sont les coefficients de régression, ε est l'erreur
résiduelle.
85 Machine Learning avec Python
M.SEKMA
Forme de la Régression Linéaire Simple
L'objectif est de trouver les meilleurs coefficients (α et β)
pour ajuster la ligne qui minimise l'erreur résiduelle.
Y = α+ βX + ε
L'erreur résiduelle mesure la différence entre les valeurs
prédites et les valeurs réelles.
86 Machine Learning avec Python
M.SEKMA
Exemple
87 Machine Learning avec Python M.SEKMA
Trouver les Coefficients: méthode des
moindres carrés
Dans les modèles de régression linéaire les coefficients
sont trouvés en utilisant la méthode des moindres carrés.
La méthode des moindres carrés est une technique
d'optimisation utilisée pour ajuster un modèle aux
données en minimisant la somme des carrés des écarts
entre les valeurs prédites et les valeurs réelles.
L'équation de la régression linéaire simple :
Y = α+ βX + ε
88 Machine Learning avec Python
M.SEKMA
Rappelons
Var(X) représente la variance de la variable indépendante
X mesure la variation de la variable indépendante X en
elle-même
La covariance mesure comment les deux variables X et Y
varient ensemble,
89 Machine Learning avec Python
M.SEKMA
Trouver les Coefficients: méthode des
moindres carrés
Interprétation des Coefficients:
α est l'ordonnée à l'origine et représente la valeur de Y
lorsque X est égal à zéro.
β est la pente de la ligne de régression et indique
comment Y change lorsque X augmente d'une unité.
α β
90 Machine Learning avec Python
M.SEKMA
Méthode des Moindres Carrés
Le modèle peut servir à prédire Y si on connaît le point x :
Y = α+ βX
Exemple: Si α = 3 et β = 100 alors pour x = 255 la valeur de Y
donné par le modèle est de Y = 3 + 100 × 255 = 25503
Dans ce modèle on dit qu’un changement d'une unité dans X est
associé à un changement de 100 unités dans Y, ce qui reflète la pente
de la régression.
91 Machine Learning avec Python
M.SEKMA
Exemple. Méthode des Moindres Carrés
Considérons la relation entre le nombre d'employés d'une usine et le taux d'absentéisme.
On veut prédire le taux d'absentéisme en fonction de la taille de l'entreprise, mesurée
en termes du nombre d'employés.
L'objectif est de modéliser ce taux en fonction de la taille de l'entreprise, afin de
déterminer:
1. s'il y a une relation entre les deux,
2. quelle est l'influence de la taille de l'entreprise sur le taux d'absentéisme.
92
Exemple. Méthode des Moindres Carrés
Soit des valeurs suivantes de 7 entreprises :
1- Calculer les moyennes de X et Y
• La moyenne de X noté x̄ =(356+67+25+157+589+557+78)/7 =261,29
• La moyenne ȳ =(5+3+2+4+7+3+8)/7=4,5714
93 Machine Learning avec Python
M.SEKMA
Exemple. Méthode des Moindres Carrés
2- Covariance de X et Y:
Cov(x,y)
3- S²x
94 Machine Learning avec Python
M.SEKMA
Exemple. Méthode des Moindres Carrés
Y = α+ βX
( , )
β= =715,8571/341861,4=2,094010 ≈ 0,002
²
=4,5714-(2,094010 ) 261,29=4,0243
L’équation de la régression sera alors: y=4,0243+0,002 X
Interprétation:
Une entreprise ayant 200 employés devrait avoir un taux d’absentéisme
de 4,024+0,002 (200)= 4,424
De plus une augmentation de 100 du nombre des employés augmente de
0,002*100 = 0,2 le taux en %
95 Machine Learning avec Python
M.SEKMA
Exercice
Dans le but d'expliquer la consommation sur carte de crédit,
des données sur le revenu et sur la dépense sont obtenues :
Le modèle estimer doit permettre d'obtenir les dépenses sur carte de crédit en fonction
des revenus.
La variable dépendante est : y =Dépenses
La variable indépendante est x =Revenu
96 Machine Learning avec Python
M.SEKMA
Optimiser les paramètres du modèle:
Gradient Descent
Le Gradient Descent (GD) est un algorithme d'optimisation utilisé pour
ajuster les paramètres d'un modèle afin de minimiser une fonction de coût.
Convergence: le GD assure que l'optimisation converge vers un minimum
local de la fonction de coût,
Pour rappel, nous souhaitons que la somme des carrés des erreurs soit la plus
petite possible.
97 Machine Learning avec Python
M.SEKMA
Optimiser les paramètres du modèle:
Gradient Descent
On va non pas prendre la somme mais la moyenne. Cette
moyenne est appelée fonction coût.
Elle s’écrit de la manière suivante :
J(α,β) β α
98 Machine Learning avec Python
M.SEKMA
Etape de calcule de GD
Cas1: une seul variable a
La machine calcule la dérivée afin de savoir si
elle est à gauche ou à droite du point
minimum.
99 Machine Learning avec Python
M.SEKMA
Etape de calcule de GD
Cas1: une seul variable a
100 Machine Learning avec Python
M.SEKMA
Etape de calcule de GD
Cas2: Deux variables a et b
L’objectif reste identique, mais l’ajout d’une nouvelle variable, en
l’occurrence b, transforme la fonction coût en un graphique en 3D
dimensions.
101 Machine Learning avec Python
M.SEKMA
Descente de gradient « optimisée »
• Plutôt que proposer aléatoirement à chacune des étapes une nouvelle valeur pour a,
on va soustraire à a un certain pourcentage de la dérivée calculée à l’étape
précédente, pourcentage c’est « learning rate = taux d’apprentissage ».
• La nouvelle valeur de a est calculée de la manière suivante :
« Nouveau a » = « Ancien a » – « learning_rate »× « Dérivée »
102 Machine Learning avec Python
M.SEKMA
REGRESSION LINEAIRE appliquée au ML
Notions traitées dans cette partie:
Régression linéaire vs Régression logistique
Modèle de régression linéaire simple
Moindres carrés ordinaires
Gradient Descente
Modèle de régression linéaire multiple
103 Machine Learning avec Python
M.SEKMA
Modèle de régression linéaire multiple
104 Machine Learning avec Python
M.SEKMA
Modèle de régression linéaire multiple
Le modèle de régression multiple repose sur les hypothèses
suivantes:
Il existe une relation linéaire entre les variables dépendantes et les
variables indépendantes
Les variables indépendantes ne sont pas trop fortement corrélées entre
elles
les observations sont sélectionnées indépendamment et au hasard dans
la population
Les résidus doivent être normalement distribués avec une moyenne de 0
et une variance σ
105 Machine Learning avec Python
M.SEKMA
La régression linéaire multiple s'exprime comme :
106 Machine Learning avec Python
M.SEKMA
Modèle de régression linéaire multiple
107 Machine Learning avec Python
M.SEKMA
Régression Linéaire en Python avec Scikit-
learn
1- Importation des Bibliothèques
import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection
import train_test_split from sklearn.linear_model import LinearRegression from
sklearn.metrics import mean_squared_error
2 - Division des Données
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
3- Création du Modèle
model = LinearRegression()
model.fit(X_train, y_train)
108 Machine Learning avec Python
M.SEKMA
Régression Linéaire en Python avec Scikit-
learn
4- Prédiction
y_pred = model.predict(X_test)
5- Évaluation du Modèle
mse = mean_squared_error(y_test, y_pred)
109 Machine Learning avec Python
M.SEKMA