Partage de technologie

Surveiller les limites des données : technologie de détection des valeurs aberrantes dans Sklearn

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Surveiller les limites des données : technologie de détection des valeurs aberrantes dans Sklearn

La détection des valeurs aberrantes est une tâche essentielle dans les projets d’analyse de données et d’apprentissage automatique. Les valeurs aberrantes, également appelées valeurs aberrantes ou valeurs aberrantes, font référence aux observations qui sont significativement différentes des autres données. Ces points peuvent être causés par une erreur de mesure, des erreurs de saisie de données ou une véritable variabilité. L’identification et le traitement corrects des valeurs aberrantes sont essentiels pour garantir la qualité et l’exactitude du modèle. scikit-learn (sklearn en abrégé), en tant que bibliothèque d'apprentissage automatique riche en fonctionnalités en Python, fournit une variété de méthodes de détection des valeurs aberrantes. Cet article présentera en détail la technologie de détection des valeurs aberrantes dans sklearn et fournira des exemples de code pratiques.

1. L’importance de la détection des valeurs aberrantes

La détection des valeurs aberrantes est essentielle dans des domaines tels que :

  • Nettoyage des données: Identifiez et traitez les valeurs aberrantes pendant la phase de prétraitement des données.
  • Détection de fraude: Identifier les fraudes potentielles dans les transactions financières.
  • Surveillance des processus: Surveiller l'état des équipements et prévenir les pannes dans la production industrielle.
2. Méthode de détection des valeurs aberrantes dans sklearn

sklearn propose plusieurs méthodes de détection des valeurs aberrantes. Voici quelques techniques couramment utilisées :

2.1 Z-Score (score standardisé)

La méthode Z-Score normalise les données selon une distribution normale basée sur la moyenne et l'écart type des données, et calcule le Z-Score pour chaque point.

from scipy.stats import zscore

data = [[1, 2], [3, 4], [5, 6], [100, 100]]
data = np.array(data)
z_scores = zscore(data)
threshold = 3  # 通常阈值设为3
outliers = np.where((z_scores > threshold) | (z_scores < -threshold))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.2 IQR (intervalle interquartile)

La méthode IQR utilise le premier quartile (Q1) et le troisième quartile (Q3) des données pour déterminer la plage des valeurs aberrantes.

Q1 = np.percentile(data, 25, axis=0)
Q3 = np.percentile(data, 75, axis=0)
IQR = Q3 - Q1
threshold = 1.5
outliers = np.where((data < (Q1 - threshold * IQR)) | (data > (Q3 + threshold * IQR)))
  • 1
  • 2
  • 3
  • 4
  • 5
2.3 Méthodes basées sur la densité

Les méthodes basées sur la densité, telles que DBSCAN, identifient les valeurs aberrantes en fonction de la densité des points de données plutôt que d'un seuil fixe.

from sklearn.cluster import DBSCAN

dbscan = DBSCAN(min_samples=5, eps=0.5)
dbscan.fit(data)
core_samples_mask = np.zeros_like(dbscan.labels_, dtype=bool)
core_samples_mask[dbscan.core_sample_indices_] = True
outliers = dbscan.labels_ == -1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.4 Forêt d'isolement

Isolation Forest est une méthode de détection des valeurs aberrantes basée sur une forêt aléatoire, qui « isole » les valeurs aberrantes en sélectionnant aléatoirement des caractéristiques et des points de segmentation.

from sklearn.ensemble import IsolationForest

iso_forest = IsolationForest(n_estimators=100, contamination=0.01)
iso_forest.fit(data)
outliers = iso_forest.predict(data) == -1
  • 1
  • 2
  • 3
  • 4
  • 5
3. Évaluer la détection des valeurs aberrantes

L’évaluation des performances de détection des valeurs aberrantes est souvent difficile car il n’existe pas de normes absolues. Cependant, il peut être évalué des manières suivantes :

  • Visualisation: Visualisez les points de données et les valeurs aberrantes détectées à l'aide de méthodes telles que les nuages ​​de points.
  • Valeurs aberrantes connues: S'il existe des valeurs aberrantes connues, des indicateurs tels que la précision de détection et le taux de rappel peuvent être calculés.
4. Combiné avec des applications pratiques

Dans des applications pratiques, la détection des valeurs aberrantes peut nous aider à identifier les comportements anormaux dans l'ensemble de données afin de procéder à une analyse plus approfondie ou de prendre des mesures préventives.

5. Conclusion

La détection des valeurs aberrantes est un maillon important dans l’analyse des données et l’apprentissage automatique. sklearn propose une variété de méthodes de détection des valeurs aberrantes, chaque méthode ayant ses scénarios d'application et ses avantages spécifiques. Grâce à cet article, nous avons découvert différentes techniques de détection des valeurs aberrantes dans sklearn et fourni des exemples de code pratiques.

Le but de cet article est d'aider les lecteurs à mieux comprendre la détection des valeurs aberrantes et à maîtriser les méthodes de mise en œuvre de ces techniques dans sklearn. Nous espérons que les lecteurs pourront améliorer leur compréhension de la détection des valeurs aberrantes grâce à cet article et appliquer efficacement ces techniques dans des projets réels. À mesure que les volumes de données continuent de croître, la détection des valeurs aberrantes continuera à jouer un rôle important dans la science des données.