Préparer les données

Bien que le cours Data Preparation and Feature Engineering for Machine Learning couvre la préparation générale des données, il se concentre sur la préparation propre au clustering.

Pour le clustering, vous calculez la similarité entre deux exemples en combinant toutes les données de caractéristiques de ces exemples dans une valeur numérique. La combinaison des données de caractéristiques nécessite que les données aient la même échelle. Cette section examine la normalisation, la transformation et la création de quantiles, et explique pourquoi les quantiles constituent le meilleur choix par défaut pour transformer toutes les distributions de données. Le choix par défaut vous permet de transformer vos données sans inspecter leur distribution.

Normaliser les données

Vous pouvez transformer les données de plusieurs caractéristiques à la même échelle en les normalisant. En particulier, la normalisation est particulièrement adaptée au traitement de la distribution de données la plus courante, la distribution gaussienne. Par rapport aux quantiles, la normalisation nécessite beaucoup moins de données pour effectuer le calcul. Normalisez les données en calculant leur score z comme suit:

\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]

Examinons la similarité entre les exemples avec et sans normalisation. Dans la figure 1, le rouge semble plus semblable au bleu qu'au jaune. Toutefois, les caractéristiques sur les axes X et Y n'ont pas la même échelle. Par conséquent, la similarité observée peut être un artefact de données non mises à l'échelle. Après la normalisation basée sur le z-score, toutes les caractéristiques ont la même échelle. Vous constatez que le rouge est plus semblable au jaune. Ainsi, après avoir normalisé les données, vous pouvez calculer la similarité plus précisément.

Deux graphiques comparant les données de caractéristiques avant et après la normalisation
Figure 1: Comparaison des données de caractéristiques avant et après la normalisation

En résumé, appliquez la normalisation lorsque l'une des conditions suivantes est remplie:

  • Vos données ont une distribution gaussienne.
  • Votre ensemble de données manque de données pour créer des quantiles.

Utiliser la transformation Log

Parfois, un ensemble de données est conforme à une distribution de loi sur l'alimentation qui agrège des données à bas débit. Dans la figure 2, le rouge est plus proche du jaune que le bleu.

Graphique à barres affichant la majorité des données en bas de page
Figure 2: distribution de la loi sur la puissance

Traiter une distribution de la puissance électrique à l'aide d'une transformation de journal Dans la figure 3, la transformation de journal crée une distribution plus régulière, et le rouge est plus proche du bleu que du jaune.

Graphique représentant une distribution normale (gaussienne)
Figure 3: Distribution normale (gaussienne)

Utiliser des quantiles

Les normalisations et les transformations de journaux s'appliquent à des distributions de données spécifiques. Que se passe-t-il si les données ne sont pas conformes à une distribution gaussienne ou à une loi de puissance ? Une approche générale s'applique-t-elle à la distribution des données ?

Essayons de prétraiter cette distribution.

Graphique illustrant la distribution des données avant tout prétraitement
Figure 4: distribution sans catégorie avant un prétraitement.

Intuitivement, si les deux exemples ne contiennent que quelques exemples, ils sont similaires indépendamment de leurs valeurs. À l'inverse, si les deux exemples contiennent de nombreux exemples, ils sont moins similaires. Ainsi, la similarité entre deux exemples diminue à mesure que le nombre d'exemples entre eux augmente.

La normalisation des données reproduit simplement la distribution des données, car la normalisation est une transformation linéaire. L'application d'une transformation de journal ne reflète pas non plus votre intuition sur le fonctionnement de la similarité, comme illustré dans la Figure 5 ci-dessous.

Graphique illustrant la distribution des données après une transformation de journal
Figure 5: distribution après une transformation de journal

Divisez plutôt les données en intervalles, où chaque intervalle contient un nombre égal d'exemples. Ces limites d'intervalle sont appelées quantiles.

Pour convertir vos données en quantiles, procédez comme suit:

  1. Déterminez le nombre d'intervalles.
  2. Définissez des intervalles de sorte que chaque intervalle ait le même nombre d'exemples.
  3. Remplacez chaque exemple par l'index de l'intervalle dans lequel il se trouve.
  4. Placez les index dans la même plage que les autres données de caractéristiques en les mettant à l'échelle [0,1].
Graphique montrant les données après conversion en quantiles. La ligne représente 20 intervalles.]
Figure 6: Répartition après les conversions en quantiles

Une fois les données converties en quantiles, la similarité entre deux exemples est inversement proportionnelle au nombre d'exemples entre ces deux exemples. Mathématiquement, "x" est un exemple dans l'ensemble de données:

  • \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
  • \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)

Les quantiles constituent le meilleur choix par défaut pour transformer les données. Cependant, pour créer des quantiles qui sont des indicateurs fiables de la distribution de données sous-jacente, vous avez besoin d'une grande quantité de données. En règle générale, pour créer des \(n\) quantiles, vous devez avoir au moins \(10n\) des exemples. Si vous n'avez pas assez de données, continuez à normaliser vos données.

Testez vos connaissances

Pour les questions suivantes, supposons que vous ayez suffisamment de données pour créer des quantiles.

Question 1

Un graphique représentant trois distributions de données
Comment traiteriez-vous cette distribution de données ?
Créez des quantiles.
Bonne réponse. Comme la distribution ne correspond pas à une distribution de données standard, vous devez créer des quantiles.
Normaliser.
Généralement, vous normalisez les données si :
  • La distribution des données est de type gaussien.
  • Vous disposez d'insights sur les données représentées, ce qui vous indique qu'elles ne doivent pas être transformées de manière non linéaire. Par conséquent, vous évitez les quantiles et choisissez plutôt la normalisation.
Aucun des deux cas ne s'applique. La distribution des données n'est pas gaussienne, car elle n'est pas symétrique. Et vous n'avez aucune idée de ce que ces valeurs représentent dans le monde réel.
Transformation de journal.
Ce n'est pas le meilleur choix, car cette distribution n'est pas parfaite.

Question 2

Un graphique représentant trois distributions de données
Comment traiteriez-vous cette distribution de données ?
Normaliser.
Bonne réponse. Il s'agit d'une distribution gaussienne.
Créez des quantiles.
Mauvaise réponse. Puisqu'il s'agit d'une distribution gaussienne, la transformation préférée est la normalisation.
Transformation de journal.
Mauvaise réponse. Appliquer une transformation de journal uniquement aux distributions de la loi de puissance

Données manquantes

Si votre ensemble de données contient des exemples avec des valeurs manquantes pour une certaine caractéristique, mais qu'ils se produisent rarement, vous pouvez les supprimer. Si de tels exemples se produisent fréquemment, nous avons la possibilité de supprimer complètement cette caractéristique ou de prédire les valeurs manquantes à partir d'autres exemples à l'aide d'un modèle de machine learning. Par exemple, vous pouvez déduire des données numériques manquantes à l'aide d'un modèle de régression entraîné sur des données de caractéristiques existantes.