Standardisation des données avec StandardScaler
Le StandardScaler est une méthode de standardisation des données qui ajuste les valeurs d’une variable de manière à ce qu’elles aient une distribution avec une moyenne de 0 et un écart-type de 1. Ce processus est essentiel lorsque les données présentent des échelles différentes, car la standardisation permet de centrer les données et de les rendre comparables. Le StandardScaler applique la formule 𝑥 − 𝜇 𝜎 σ x−μ , où 𝑥 x est la valeur de la donnée, 𝜇 μ est la moyenne de la variable et 𝜎 σ est son écart-type. Cette méthode est souvent utilisée avec des modèles sensibles à l’échelle des données, tels que la régression linéaire ou les modèles de classification.
Fonctions :
-
StandardScaler()
Cette fonction permet d'appliquer une transformation (par exemple, une normalisation ou une standardisation) uniquement sur un sous-ensemble de colonnes sélectionnées dans un DataFrame, en préservant les autres colonnes inchangées. C'est utile lorsque vous souhaitez appliquer des transformations mathématiques à des colonnes spécifiques, tout en gardant les autres colonnes (qui pourraient ne pas être numériques) intactes.
Attributs :
Concept de la standardisation avec StandardScaler :
La standardisation avec
StandardScaler
est une technique qui consiste à redimensionner les données de manière à ce qu'elles aient une moyenne de 0 et un écart-type de 1. Cette méthode est particulièrement utile lorsque les données sont sur des échelles différentes mais que vous souhaitez qu'elles aient une distribution comparable. Elle est utilisée pour les modèles qui supposent que les données suivent une distribution normale (comme la régression linéaire, la régression logistique, les SVMs, etc.).La transformation effectuée par
xstandardiseˊ=x−μσx_{\text{standardisé}} = \frac{x - \mu}{\sigma}StandardScaler
suit la formule :où :
- xx est la valeur à standardiser,
- μ\mu est la moyenne de la colonne,
- σ\sigma est l'écart-type de la colonne.
Cela permet de recentrer les données autour de 0, avec une échelle comparée en termes de variabilité (écart-type égal à 1).
Avantages de la standardisation avec StandardScaler :
- Elle ne contraint pas les données dans une plage spécifique (contrairement à la normalisation, qui les limite entre 0 et 1).
- Elle est utile pour les modèles qui font des hypothèses sur la distribution des données, comme les SVM, les régressions linéaires, et les réseaux de neurones.
- La standardisation est également importante lorsque les données ont des unités différentes ou des plages très variées.
Exemple de code :
import pandas as pd from sklearn.preprocessing import StandardScaler # Exemple de DataFrame data = {'age': [25, 30, 35, 40, 45, 50], 'salaire': [30000, 35000, 40000, 45000, 50000, 55000]} df = pd.DataFrame(data) # Initialisation du StandardScaler scaler = StandardScaler() # Standardisation de la colonne 'age' df['age_standardized'] = scaler.fit_transform(df[['age']]) # Affichage des données standardisées print(df)
Explication du code :
Explication du code :
- Nous avons créé un DataFrame
df
avec deux colonnes :age
etsalaire
. - Nous avons instancié un objet
StandardScaler
et l’avons utilisé pour standardiser la colonneage
. - La méthode
fit_transform()
ajuste le scaler aux données et transforme la colonne pour que ses valeurs aient une moyenne de 0 et un écart-type de 1. - Une nouvelle colonne
age_standardized
est ajoutée au DataFrame avec les valeurs standardisées.
Remarque :
Le
StandardScaler
ne gère pas directement les valeurs manquantes (NaN). Si votre jeu de données contient des valeurs manquantes, vous devrez soit les supprimer, soit les remplir avant de standardiser les données.