Python Tutorial

Python Machine Learning Régression multiple


Régression multiple

La régression multiple est comme la régression linéaire, mais avec plus d’une valeur indépendante, ce qui signifie que nous essayons de prédire une valeur basée sur deux ou plus variables.

Jetez un oeil à l’ensemble de données ci-dessous, il contient des informations sur les voitures.

Voiture Modèle Volume Lester CO2
Toyota Aygo 1000 790 99
Mitsubishi Étoile de l’espace 1200 1160 95
Skoda Citigo 1000 929 95
Décret 500 900 865 90
mini Tonnelier 1500 1140 105
VW En haut! 1000 929 105
Skoda fabienne 1400 1109 90
Mercedes Une classe 1500 1365 92
Gué Fête 1500 1112 98
Audi A1 1600 1150 99
Hyundai I20 1100 980 99
Suzuki Rapide 1300 990 101
Gué Fête 1000 1112 99
Honda Civique 1600 1252 94
Hundaï I30 1600 1326 97
Opel Astra 1600 1330 97
BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Skoda Rapide 1600 1119 104
Gué Se concentrer 2000 1328 105
Gué Mondeo 1600 1584 94
Opel Insigne 2000 1428 99
Mercedes Classe C 2100 1365 99
Skoda Octavie 1600 1415 99
VOLVO S60 2000 1415 99
Mercedes CLA 1500 1465 102
Audi A4 2000 1490 104
Audi A6 2000 1725 114
VOLVO V70 1600 1523 109
BMW 5 2000 1705 114
Mercedes Classe E 2100 1605 115
VOLVO XC70 2000 1746 117
Gué B-Max 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Nous pouvons prédire les émissions de CO2 d’une voiture en fonction de la taille du moteur, mais avec une régression multiple, nous pouvons ajouter plus de variables, comme le poids de la voiture, pour rendre la prédiction plus précise.


Comment ça marche?

En Python, nous avons des modules qui feront le travail pour nous. Commencez par importer le module Pandas.

Découvrez le module Pandas dans notre didacticiel Pandas.

Le module Pandas nous permet de lire des fichiers csv et de retourner un objet DataFrame.

Le fichier est destiné à des fins de test uniquement, vous pouvez le télécharger ici : data.csv

df = pandas.read_csv("https://www.Infodewi.com/python/data.csv")

Faites ensuite une liste des valeurs indépendantes et appelez cette variable X.

Placez les valeurs dépendantes dans une variable appelée y.

X = df[['Weight', 'Volume']]
y = df['CO2']

Conseil: Il est courant de nommer la liste des valeurs indépendantes avec un X majuscule et la liste des valeurs dépendantes avec un y minuscule.

Nous utiliserons certaines méthodes du module sklearn, nous devrons donc également importer ce module :

from sklearn import linear_model

A partir du module sklearn nous allons utiliser le LinearRegression() méthode pour créer un objet de régression linéaire.

Cet objet a une méthode appelée fit() qui prend les valeurs indépendantes et dépendantes comme paramètres et remplit l’objet de régression avec des données décrivant la relation :

regr = linear_model.LinearRegression()
regr.fit(X, y)

Nous avons maintenant un objet de régression prêt à prédire les valeurs de CO2 en fonction du poids et du volume d’une voiture :

#predict the CO2 emission of a car where the weight
is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

Exemple

Voir l’exemple entier en action :

importer des pandas
de sklearn importer linear_model

df = pandas.read_csv(« data.csv »)

X = df[[‘Weight’, ‘Volume’]]
y = df[‘CO2’]

regr = linear_model.LinearRegression()
regr.fit(X, y)

#prévoir l’émission de CO2 d’une voiture dont le poids est de 2300kg et le volume de 1300cm3:
préditCO2 = regr.predict([[2300, 1300]])

impression (CO2 prédit)

Résultat:

Exemple d’exécution »

Nous avons prédit qu’une voiture avec un moteur de 1,3 litre et un poids de 2 300 kg dégagera environ 107 grammes de CO2 pour chaque kilomètre parcouru.



Coefficient

Le coefficient est un facteur qui décrit la relation avec une variable inconnue.

Exemple : si x est une variable, alors
2x est x Deux fois. x est la variable inconnue, et le nombre 2 est le coefficient.

Dans ce cas, on peut demander la valeur du coefficient de poids contre CO2, et de volume contre CO2. La ou les réponses que nous obtenons nous disent ce qui se passerait si nous augmentions ou diminuions l’une des valeurs indépendantes.

Exemple

Imprimez les valeurs de coefficient de l’objet de régression :

importer des pandas
de sklearn importer linear_model

df = pandas.read_csv(« data.csv »)

X = df[[‘Weight’, ‘Volume’]]
y = df[‘CO2’]

regr = linear_model.LinearRegression()
regr.fit(X, y)

print(regr.coef_)

Résultat:

Exemple d’exécution »

Résultat expliqué

Le tableau de résultats représente les valeurs des coefficients de poids et de volume.

Poids : 0,00755095
Volume : 0,00780526

Ces valeurs nous indiquent que si le poids augmente de 1 kg, les émissions de CO2 augmentent de 0,00755095 g.

Et si la taille du moteur (Volume) augmente de 1 cm3l’émission de CO2 augmente de 0,00780526 g.

Je pense que c’est une supposition juste, mais laissez-le tester!

Nous avons déjà prédit que si une voiture avec un 1300cm3 moteur pèse 2300kg, l’émission de CO2 sera d’environ 107g.

Et si on augmentait le poids de 1000kg ?

Exemple

Copiez l’exemple précédent, mais changez le poids de 2300 à 3300 :

importer des pandas
de sklearn importer linear_model

df = pandas.read_csv(« data.csv »)

X = df[[‘Weight’, ‘Volume’]]
y = df[‘CO2’]

regr = linear_model.LinearRegression()
regr.fit(X, y)

préditCO2 = regr.predict([[3300, 1300]])

impression (CO2 prédit)

Résultat:

Exemple d’exécution »

Nous avons prédit qu’une voiture avec un moteur de 1,3 litre et un poids de 3 300 kg dégagera environ 115 grammes de CO2 pour chaque kilomètre parcouru.

Ce qui montre que le coefficient de 0,00755095 est correct :

107,2087328 + (1000 * 0,00755095) = 114,75968


#Python #Machine #Learning #Régression #multiple

Articles similaires

Voir Aussi
Fermer
Bouton retour en haut de la page