Compartir tecnología

Observando los límites de los datos: tecnología de detección de valores atípicos en sklearn

2024-07-12

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

Observando los límites de los datos: tecnología de detección de valores atípicos en sklearn

La detección de valores atípicos es una tarea crítica en proyectos de análisis de datos y aprendizaje automático. Los valores atípicos, también conocidos como valores atípicos o valores atípicos, se refieren a observaciones que son significativamente diferentes de otros datos. Estos puntos pueden deberse a errores de medición, errores de entrada de datos o variabilidad real. Identificar y manejar correctamente los valores atípicos es fundamental para garantizar la calidad y precisión del modelo. scikit-learn (sklearn para abreviar), como biblioteca de aprendizaje automático rica en funciones en Python, proporciona una variedad de métodos de detección de valores atípicos. Este artículo presentará en detalle la tecnología de detección de valores atípicos en sklearn y proporcionará ejemplos de código prácticos.

1. La importancia de la detección de valores atípicos

La detección de valores atípicos es fundamental en áreas como:

  • Limpieza de datos: Identificar y manejar valores atípicos durante la etapa de preprocesamiento de datos.
  • Detección de fraude: Identificar posibles fraudes en transacciones financieras.
  • Monitoreo de procesos: Monitorear el estado de los equipos y prevenir fallas en la producción industrial.
2. Método de detección de valores atípicos en sklearn

sklearn proporciona varios métodos para la detección de valores atípicos. A continuación se muestran algunas técnicas utilizadas habitualmente:

2.1 Z-Score (puntuación estandarizada)

El método Z-Score normaliza los datos a una distribución normal basada en la media y la desviación estándar de los datos, y calcula el Z-Score para cada punto.

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 (rango intercuartil)

El método IQR utiliza el primer cuartil (Q1) y el tercer cuartil (Q3) de los datos para determinar el rango de valores atípicos.

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étodos basados ​​en la densidad

Los métodos basados ​​en la densidad, como DBSCAN, identifican valores atípicos basándose en la densidad de los puntos de datos en lugar de un umbral fijo.

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 Bosque de aislamiento

Isolation Forest es un método de detección de valores atípicos basado en un bosque aleatorio, que "aísla" valores atípicos seleccionando aleatoriamente características y puntos de segmentación.

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. Evaluar la detección de valores atípicos

A menudo resulta difícil evaluar el rendimiento de la detección de valores atípicos porque no existen estándares absolutos. Sin embargo, se puede evaluar de las siguientes maneras:

  • Visualización: Visualice puntos de datos y valores atípicos detectados utilizando métodos como diagramas de dispersión.
  • Valores atípicos conocidos: Si se conocen valores atípicos, se pueden calcular indicadores como la precisión de la detección y la tasa de recuperación.
4. Combinado con aplicaciones prácticas.

En aplicaciones prácticas, la detección de valores atípicos puede ayudarnos a identificar comportamientos anormales en el conjunto de datos para realizar análisis adicionales o tomar medidas preventivas.

5. Conclusión

La detección de valores atípicos es un vínculo importante en el análisis de datos y el aprendizaje automático. sklearn proporciona una variedad de métodos de detección de valores atípicos, cada método tiene sus ventajas y escenarios de aplicación específicos. A través de este artículo, aprendimos sobre diferentes técnicas de detección de valores atípicos en sklearn y proporcionamos ejemplos de código prácticos.

El propósito de este artículo es ayudar a los lectores a comprender mejor la detección de valores atípicos y dominar los métodos para implementar estas técnicas en sklearn. Esperamos que los lectores puedan mejorar su comprensión de la detección de valores atípicos a través de este artículo y aplicar estas técnicas de manera efectiva en proyectos reales. A medida que los volúmenes de datos sigan creciendo, la detección de valores atípicos seguirá desempeñando un papel importante en la ciencia de datos.