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.
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.
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.
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.
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.
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:
- Déterminez le nombre d'intervalles.
- Définissez des intervalles de sorte que chaque intervalle ait le même nombre d'exemples.
- Remplacez chaque exemple par l'index de l'intervalle dans lequel il se trouve.
- Placez les index dans la même plage que les autres données de caractéristiques en les mettant à l'échelle [0,1].
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
- 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.
Question 2
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.