web-dev-qa-db-fra.com

Standardisation des données vs normalisation vs Scaler robuste

Je travaille sur le prétraitement des données et je veux comparer les avantages de Standardisation des données vs Normalisation vs Robuste Scaler pratiquement.

En théorie, les lignes directrices sont les suivantes:

Avantages:

  1. Standardisation: met à l'échelle les caractéristiques de sorte que la distribution soit centrée autour de 0, avec un écart-type de 1.
  2. Normalisation: réduit la plage de sorte que la plage se situe désormais entre 0 et 1 (ou -1 à 1 s'il y a des valeurs négatives).
  3. Robust Scaler: similaire à la normalisation mais utilise à la place la plage interquartile, de sorte qu'il est robuste aux valeurs aberrantes.

Inconvénients:

  1. Standardisation: pas bon si les données ne sont pas normalement distribuées (c'est-à-dire pas de distribution gaussienne).
  2. Normalisation: soyez fortement influencé par les valeurs aberrantes (c'est-à-dire les valeurs extrêmes).
  3. Robust Scaler: ne prend pas en compte la médiane et se concentre uniquement sur les parties où se trouvent les données en masse.

J'ai créé 20 au hasard entrées numériques et essayé les méthodes mentionnées ci-dessus ( les chiffres en rouge représentent les valeurs aberrantes):

Methods Comparison


J'ai remarqué que - en effet - la normalisation a été affectée négativement par les valeurs aberrantes et l'échelle de changement entre les nouvelles valeurs est devenue minuscule ( toutes les valeurs presque identiques -6 chiffres après la virgule décimale- 0.000000x) même s'il y a des différences notables entre les entrées d'origine!


Mes questions sont:

  1. Ai-je raison de dire que la normalisation est également affectée négativement par les valeurs extrêmes? Sinon, pourquoi selon le résultat fourni?
  2. Je ne vois vraiment pas comment le Scaler robuste a amélioré les données parce que j'ai encore extrême valeurs dans l'ensemble de données résultant? Une simple interprétation complète?

P.S

J'imagine un scénario dans lequel je veux préparer mon jeu de données pour un Réseau de neurones et je suis préoccupé par le problème de gradient de fuite. Néanmoins, mes questions sont toujours générales.

6
Mike

Ai-je raison de dire que la normalisation est également affectée négativement par les valeurs extrêmes?

En effet, vous l'êtes; les scikit-learn docs eux-mêmes avertissent clairement pour un tel cas:

Cependant, lorsque les données contiennent des valeurs aberrantes, StandardScaler peut souvent être trompeur. Dans de tels cas, il est préférable d'utiliser un détartreur robuste contre les valeurs aberrantes.

Plus ou moins, il en va de même pour le MinMaxScaler.

Je ne vois vraiment pas comment le Scaler robuste a amélioré les données car j'ai encore valeurs extrêmes dans l'ensemble de données résultant? Une interprétation simple et complète?

Robuste ne signifie pas immun , ou invulnérable , et le but de la mise à l'échelle n'est pas pas de "supprimer" les valeurs aberrantes et les valeurs extrêmes - il s'agit d'une tâche distincte avec ses propres méthodologies; ceci est à nouveau clairement mentionné dans les documents scikit-learn pertinents :

RobustScaler

[...] Notez que les valeurs aberrantes elles-mêmes sont toujours présentes dans les données transformées. Si un découpage aberrant séparé est souhaitable, une transformation non linéaire est requise (voir ci-dessous).

où le "voir ci-dessous" fait référence aux QuantileTransformer et quantile_transform .

10
desertnaut

Aucun d'entre eux n'est robuste dans le sens où la mise à l'échelle prendra en charge les valeurs aberrantes et les placera sur une échelle confinée, c'est-à-dire qu'aucune valeur extrême n'apparaîtra.

Vous pouvez envisager des options telles que:

  • Découpage (disons, entre 5 centile et 95 centile) de la série/du tableau avant mise à l'échelle
  • Prendre des transformations comme la racine carrée ou les logarithmes, si l'écrêtage n'est pas idéal
  • De toute évidence, l'ajout d'une autre colonne "est tronqué"/"quantité tronquée logarithmique" réduira la perte d'informations.
0
nupam