Python Tutorial

Mise à l’échelle de l’apprentissage automatique Python


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 le volume la colonne contient des valeurs dans litres au lieu de cm3 (1.0 au lieu de 1000).

Voiture Modèle Volume Lester 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
Hundaï 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é Se 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

z est la nouvelle valeur,
x est la valeur d’origine,
u est la moyenne et s est l’écart-type.

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

(790 - 1292.23) / 238.74 = -2.1

Si vous prenez le volume colonne 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.61) / 0.38 = -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 de transformation d’ensembles de données.

Exemple

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

importer des pandas
de sklearn importer linear_model
depuis sklearn.preprocessing importer StandardScaler
échelle = Échelle Standard()

df = pandas.read_csv(“data.csv”)

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

scaledX = scale.fit_transform(X)

imprimer (à l’échelle X)

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]]

Exemple d’exécution »



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 :

importer des pandas
de sklearn importer linear_model
depuis sklearn.preprocessing importer StandardScaler
échelle = Échelle Standard()

df = pandas.read_csv(“data.csv”)

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

scaledX = scale.fit_transform(X)

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

mise à l’échelle = mise à l’échelle.transform([[2300, 1.3]])

préditCO2 = regr.predict([scaled[0]])
impression (CO2 prédit)

Résultat:

Exemple d’exécution »


#Mise #léchelle #lapprentissage #automatique #Python

Related Articles

Back to top button