Tutoriel Python

Python ACCUEIL Introduction à Python Python pour commencer Syntaxe Python Commentaires Python Variables Python Types de données Python Nombres Python Casting Python Chaînes Python Booléens Python Opérateurs Python Listes Python Tuples Python Ensembles Python Dictionnaires Python Python Si... Sinon Boucles tant que Python Python pour les boucles Fonctions Python Python Lambda Tableaux Python Classes/Objets Python Héritage Python Itérateurs Python Portée Python Modules Python Dates Python Mathématiques Python PythonJSON Python RegEx PIP Python Python Essayer... Sauf Entrée utilisateur Python Formatage de chaîne Python

La gestion des fichiers

Gestion des fichiers Python Fichiers de lecture Python Python écrire/créer des fichiers Python Supprimer des fichiers

Modules Python

Tutoriel NumPy Procédure pas à pas Panda Tutoriel Scipy

Python Matplotlib

Introduction à Matplotlib Matplotlib Commencer MatplotlibPyplot Tracé Matplotlib Marqueurs Matplotlib Ligne Matplotlib Étiquettes Matplotlib Grille Matplotlib Sous-parcelles Matplotlib Matplotlib Scatter Barres Matplotlib Histogrammes Matplotlib Graphiques à secteurs Matplotlib

Apprentissage automatique

Commencer Mode médian moyen Écart-type Centile Diffusion des données Répartition normale des données Nuage de points Régression linéaire Régression polynomiale Régression multiple Échelle Former/Tester Arbre de décision

Python MySQL

MySQL Premiers pas Créer une base de données MySQL Créer une table MySQL Insertion MySQL Sélectionnez MySQL MySQL Où Trier MySQL par Supprimer MySQL Table de dépôt MySQL Mise à jour MySQL Limite MySQL Rejoindre MySQL

Python MongoDB

MongoDB Commencer MongoDB Créer une base de données Créer une collection MongoDB Insertion MongoDB Trouver MongoDB Requête MongoDB Tri MongoDB Supprimer MongoDB Collection de dépôt MongoDB Mise à jour MongoDB Limite MongoDB

Référence Python

Présentation de Python Fonctions intégrées Python Méthodes de chaîne Python Méthodes de liste Python Méthodes du dictionnaire Python Méthodes Python Tuple Méthodes d'ensemble Python Méthodes de fichier Python Mots-clés Python Exceptions Python Glossaire Python

Référence des modules

Module aléatoire Module de demandes Module Statistiques Module de mathématiques Module cMath

Python Comment

Supprimer les doublons de liste Inverser une chaîne Additionner deux nombres

Exemples Python

Exemples Python Compilateur Python Exercices Python Quizz Python Certificat Python

Apprentissage automatique - 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 variables ou plus.

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

Auto Modèle Le volume Poids 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
Hyundai 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é 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 la 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.

import 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 : cars.csv

df = pandas.read_csv("cars.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

À partir du module sklearn, nous utiliserons la 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 :

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

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

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

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

print(predictedCO2)

Résultat:

[107.2087328]

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 xest une variable, alors 2xest xdeux fois. xest la variable inconnue, et le nombre 2est 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 :

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

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

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

print(regr.coef_)

Résultat:

[0.00755095 0.00780526]

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 cylindrée (Volume) du moteur augmente de 1 cm 3 , l'é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 moteur de 1300cm 3 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 :

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

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

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

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

Résultat:

[114.75968007]

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