APPRENTISSAGE AVEC PYTHON ET SICKIT LEARN
Master 1 Business Analytics & Data Science
TP1 : Régression Linéaire avec Scikit-learn
Mounira Ilahi Amri
Objectifs
Pour ce TP nous allons apprendre à écrire notre premier modèle : une
régression linéaire. Nous allons l’expérimenter sur un problème jouet
afin de suivre pas à pas la construction et l’évaluation de notre modèle.
Dans le cas d’une régression linéaire on suppose qu’il existe une
relation linéaire entre les données d’entrées et les valeurs à prédire.
Ce tp est insipré des travaux de Gavin Hackeling dans le livre
Mastering machine learning with scikit-learn.
Il s’agit de prédire la relation entre le prix d’une pizza et sa taille.
Comme spécifié précédemment, et comme nous avons choisi une
régression linéaire, cela signifie que nous faisons l’hypothèse qu’il existe
une relation linéaire entre le prix d’une pizza et sa taille.
Exercice 1 : Création et analyse des données
Nous allons tout d’abord générer un ensemble de points pour l’ensemble
Publicité
d’apprentissage :
Exemple Taille Prix
1
2
3
4
5
6
8
10
14
18
7
9
13
17,5
18
Nous allons pour cela utiliser la bibliothèque numpy :
Publicité
import numpy as np
Il nous faut ensuite déclarer un tableau numpy contenant les données (tailles des
pizzas) et déclarer un tableau contenant les prix correspondants.
X = np.array([[6], [8], [10], [14], [18]])
y = [7, 9, 13, 17.5, 18]
1
Nous souhaitons maintenant afficher les données dans un graphe afin d’examiner s’il
existe une relation entre la taille et le prix d’une pizza. Pour cela nous allons utiliser
matplotlib :
import matplotlib.pyplot as plt
Il faut maintenant définir le code matplotlib afin d’obtenir ce résultat :
Pizza prices plotted against sizes
25
20
s
o
15
r
Publicité
u
e
n
i
s
e
c
10
i
r
P
5
0
0
5
10
15
20
Publicité
25
Sizes in cms
Nous pouvons constater qu’il existe bien une relation, le prix d’une pizza augmente
avec sa taille, ce qui est cohérent avec notre expertise sur le sujet.
Exercice 2: Régression linéaire
Nous allons utiliser la bibliothèque sklearn et en particulier le modèle de régression
linéaire :
from sklearn.linear_model import LinearRegression
Utiliser maintenant les fonctions fit pour l’apprentissage et predict pour prédire
la réponse du modèle sur un exemple. On obtient pour notre régression linéaire :
La régression linéaire permet d’apprendre un modèle de la forme :
y = αx + β
2