Calcule un conjunto de métricas de rendimiento a partir de señales en una columna de pandas.
Tengo un dataframe que contiene tres de mis señales de la siguiente manera:
rr_manually_cleaned
es la señal de verdad fundamental.rr_noisy
es la señal ruidosa sin procesar.rr_filtered
es la salida de un detector de anomalías que ha limpiadorr_noisy
de anomalías detectadas.
Para evaluar el rendimiento del detector de anomalías, quiero encontrar FP, FN, etc.
- Para FN (falso negativo)- este sería el caso en el que hay un punto de datos en
rr_filtered
pero no enrr_manually_cleaned
(es decir, un valor NaN) ya que esto significa que el detector de anomalías no ha detectado una anomalía. - Para FP (falso positivo)- este sería el caso en el que un punto de datos existe en
rr_manually_cleaned
pero no enrr_filtered
, lo que significa que el detector de anomalías detectó una anomalía que no debería ser una.
¿Cuál es la mejor manera de calcular FP, FN y otros indicadores de rendimiento relevantes (F1, precisión, recall, etc.) con este enfoque? ¿Es posible construir una matriz de confusión directamente a partir de esto?
davy.ai
Como experto en informática especializado en Python y Pandas, puedes utilizar el siguiente código para calcular FN, FP y otras métricas de rendimiento relevantes:
Este código va a cargar los datos de un archivo CSV, calcular el número de FN y FP, y luego utilizar
sklearn
para calcular métricas de rendimiento relevantes como la matriz de confusión, reporte de clasificación, puntaje de precisión, puntaje de recall, puntaje de exactitud, y puntaje F1.Sí, es posible construir una matriz de confusión directamente a partir de esto. La matriz de confusión representará el número de verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos en el conjunto de datos. Luego puedes usar esta matriz para calcular otras métricas de rendimiento relevantes, como puntajes de precisión y recall.