Activité 4.1 Régression linéaire Multiple: Application en Python

Page 1 sur 4Lecteur de document UniversityLib

Activité 4.1 Régression linéaire Multiple: Application en Python

Data Science, Machine Learning · lab

Browse all intelligence artificielle et données documents

Activité 4.1 Régression linéaire Multiple

Application en Python

Dans cette activité, il ne s’agit pas de développer le Modèle Linéaire Multiple (MLM) mais d’illustrer

son application Python. En effet, que ce soit pour la compréhension des relations entre des variables

ou pour la prédiction, MLM est en général une étape quasi obligatoire dans toute méthodologie data

science. Pour ce faire, l’estimation des paramètres de ce modèle se fait par l’estimateur des moindres

carrés et la qualité d’explication est généralement évaluée par le R². Il est aussi possible d’évaluer la

qualité de prédiction avec le RMSE (racine de la somme des carrés des erreurs).

Pour utiliser python, il faut l’installer et faire un certain nombre de choix. Le premier étant la version.

Dans le cadre de cet exemple, nous utilisons Python 2.7 (l’ensemble des bibliothèques et outils peuvent

être utilisés aussi avec Python 3.5). Pour une application en data science, il est souvent plus efficace

de télécharger Anaconda qui en plus de Python propose des interfaces améliorées et toutes les

Advertisement

bibliothèques nécessaires en data science. Voici leur site : https://www.continuum.io/downloads

Dans le cadre de cet exemple, nous utilisons des données simples reliant un nombre de ventes et

l’investissement dans différents médias. Le modèle de régression multiple a une variable dépendante

y mesurant le nombre de ventes et 3 variables indépendantes mesurant les investissements en termes

de publicité par média.

Vous êtes demandés d’appliquer cet exemple et de soumettre les outputs obtenus tout en

interprétant les résultats et leurs qualités.

  • Chargement des données et des bibliothèques

S’agissant de données au format csv, Python n’a pas nativement de fonction pour importer des données

au format csv. Nous pouvons ainsi utiliser la bibliothèque Pandas afin d’importer les données. Cette

bibliothèque est comprise dans Anaconda. Nous utiliserons aussi numpy et matplotlib pour les

visualisations.

Advertisement

Voici donc le code pour importer les données :

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

#importer les données Advertising.csv

donnees = pd.read_csv('Advertising.csv', index_col=0)

donnees.head()

  • L’application du modèle de régression linéaire

Nous pouvons créer maintenant un objet modeleReg qui est le conteneur de notre modèle de régression

multiple. Une fois l’objet est créé en utilisant la bibliothèque scikit-learn, nous ajustons le modèle

(fit) en utilisant nos données. On a pris comme variable dépendante y, la variable « Sales » et comme

variables indépendantes toutes les autres variables.

Advertisement

from sklearn.linear_model import LinearRegression

#créer un objet reg lin

modeleReg=LinearRegression()

#créer y et X

list_var=donnees.columns.drop("Sales")

y=donnees.Sales

X=donnees[list_var]

modeleReg.fit(X,y)

  • L’affichage des résultats sur Python

Une fois le modèle ajusté, nous affichons, la constante, les coefficients, le R² et le RMSE. Nous

obtenons deux graphiques (qu’il faudrait mieux préparer) représentant : les valeurs de y en fonction

des valeurs prédites avec le modèle de régression linéaire et les valeurs de Y en fonction des résidus.

Advertisement

De nombreuses autres analyses sont possibles, mais on a ainsi déjà quelques informations sur notre

modèle.

print modeleReg.intercept_

print modeleReg.coef_

#calcul du R²

modeleReg.score(X,y)

RMSE=np.sqrt(((y-modeleReg.predict(X))**2).sum()/len(y))

plt.plot(y, modeleReg.predict(X),'.')

plt.show()

plt.plot(y, y-modeleReg.predict(X),'.')

plt.show()