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 - Échelle


Caractéristiques de l'échelle

Lorsque vos données ont des valeurs différentes, voire des unités de mesure différentes, il peut être difficile de les comparer. Qu'est-ce que les kilogrammes par rapport aux mètres ? Ou l'altitude par rapport au temps ?

La réponse à ce problème est la mise à l'échelle. Nous pouvons transformer les données en nouvelles valeurs plus faciles à comparer.

Jetez un oeil au tableau ci-dessous, c'est le même ensemble de données que nous avons utilisé dans le chapitre sur la régression multiple , mais cette fois la colonne de volume contient des valeurs en litres au lieu de cm 3 (1,0 au lieu de 1000).

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

Auto Modèle Le volume Poids CO2
Toyota Aygo 1.0 790 99
Mitsubishi Étoile de l'espace 1.2 1160 95
Skoda Citigo 1.0 929 95
Décret 500 0,9 865 90
mini Tonnelier 1.5 1140 105
VW En haut! 1.0 929 105
Skoda fabienne 1.4 1109 90
Mercedes Une classe 1.5 1365 92
Gué Fête 1.5 1112 98
Audi A1 1.6 1150 99
Hyundai I20 1.1 980 99
Suzuki Rapide 1.3 990 101
Gué Fête 1.0 1112 99
Honda Civique 1.6 1252 94
Hyundai I30 1.6 1326 97
Opel Astra 1.6 1330 97
BMW 1 1.6 1365 99
Mazda 3 2.2 1280 104
Skoda Rapide 1.6 1119 104
Gué Concentrer 2.0 1328 105
Gué Mondeo 1.6 1584 94
Opel Insigne 2.0 1428 99
Mercedes Classe C 2.1 1365 99
Skoda Octavie 1.6 1415 99
VOLVO S60 2.0 1415 99
Mercedes CLA 1.5 1465 102
Audi A4 2.0 1490 104
Audi A6 2.0 1725 114
VOLVO V70 1.6 1523 109
BMW 5 2.0 1705 114
Mercedes Classe E 2.1 1605 115
VOLVO XC70 2.0 1746 117
Gué B-Max 1.6 1235 104
BMW 2 1.6 1390 108
Opel Zafira 1.6 1405 109
Mercedes SLK 2.5 1395 120

Il peut être difficile de comparer le volume 1.0 avec le poids 790, mais si nous les mettons tous les deux à l'échelle en valeurs comparables, nous pouvons facilement voir à quel point une valeur est comparée à l'autre.

Il existe différentes méthodes pour mettre à l'échelle les données, dans ce didacticiel, nous utiliserons une méthode appelée standardisation.

La méthode de standardisation utilise cette formule :

z = (x - u) / s

zest la nouvelle valeur, xest la valeur d'origine, uest la moyenne et sest l'écart type.

Si vous prenez la colonne de poids de l'ensemble de données ci-dessus, la première valeur est 790 et la valeur mise à l'échelle sera :

(790 - ) / = -2.1

Si vous prenez la colonne de volume de l'ensemble de données ci-dessus, la première valeur est 1,0 et la valeur mise à l'échelle sera :

(1.0 - ) / = -1.59

Vous pouvez maintenant comparer -2,1 avec -1,59 au lieu de comparer 790 avec 1,0.

Vous n'avez pas à le faire manuellement, le module Python sklearn a une méthode appelée StandardScaler() qui renvoie un objet Scaler avec des méthodes pour transformer des ensembles de données.

Exemple

Mettre à l'échelle toutes les valeurs dans les colonnes Poids et Volume :

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

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

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

scaledX = scale.fit_transform(X)

print(scaledX)

Résultat:

A noter que les deux premières valeurs sont -2,1 et -1,59, ce qui correspond à nos calculs :

[[-2.10389253 -1.59336644]
 [-0.55407235 -1.07190106]
 [-1.52166278 -1.59336644]
 [-1.78973979 -1.85409913]
 [-0.63784641 -0.28970299]
 [-1.52166278 -1.59336644]
 [-0.76769621 -0.55043568]
 [ 0.3046118  -0.28970299]
 [-0.7551301  -0.28970299]
 [-0.59595938 -0.0289703 ]
 [-1.30803892 -1.33263375]
 [-1.26615189 -0.81116837]
 [-0.7551301  -1.59336644]
 [-0.16871166 -0.0289703 ]
 [ 0.14125238 -0.0289703 ]
 [ 0.15800719 -0.0289703 ]
 [ 0.3046118  -0.0289703 ]
 [-0.05142797  1.53542584]
 [-0.72580918 -0.0289703 ]
 [ 0.14962979  1.01396046]
 [ 1.2219378  -0.0289703 ]
 [ 0.5685001   1.01396046]
 [ 0.3046118   1.27469315]
 [ 0.51404696 -0.0289703 ]
 [ 0.51404696  1.01396046]
 [ 0.72348212 -0.28970299]
 [ 0.8281997   1.01396046]
 [ 1.81254495  1.01396046]
 [ 0.96642691 -0.0289703 ]
 [ 1.72877089  1.01396046]
 [ 1.30990057  1.27469315]
 [ 1.90050772  1.01396046]
 [-0.23991961 -0.0289703 ]
 [ 0.40932938 -0.0289703 ]
 [ 0.47215993 -0.0289703 ]
 [ 0.4302729   2.31762392]]


Prédire les valeurs de CO2

La tâche du chapitre sur la régression multiple consistait à prédire les émissions de CO2 d'une voiture alors que vous ne connaissiez que son poids et son volume.

Lorsque l'ensemble de données est mis à l'échelle, vous devrez utiliser l'échelle lorsque vous prédisez des valeurs :

Exemple

Prévoyez les émissions de CO2 d'une voiture de 1,3 litre qui pèse 2300 kilogrammes :

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

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

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

scaledX = scale.fit_transform(X)

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

scaled = scale.transform([[2300, 1.3]])

predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)

Résultat:

[107.2087328]