Introduccion¶
Bienvenido a PyDBOD, la biblioteca de Python para la detección de anomalías usando algoritmos basados en distancias. En esta bibliotica tienes una amplia selección de algoritmos los cuales vamos a documentar a continuación. El uso de todos se reduce a la creación de un objeto de la clase respectiva y el uso del método fit_predict.
Para instalar el paquete o obtener una distribución usar el repositorio en github o en PyPI:
LOF¶
Local Outlier Factor (LOF), o en español factor de valor atı́pico local, es una cuantificación del valor atı́pico de un punto perteneciente al conjunto de datos. Esta cuantificación es capaz de ajustar las variaciones en las densidades locales.
- LOF (_k = 20_)[¶](#LOF "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase LOF.
- Parámetros
-
int – k, número de k vecinos a calcular
- Tipo del valor devuelto
-
objeto de la clase LOF
- fit_predict(_data_)[¶](#fit_predict "Enlazar permanentemente con esta definición")
-
Método para aplicar el algoritmo LOF a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de puntuaciones de anomalía
LOOP¶
Local Outlier Probability (LoOP), esta técnica combina varios conceptos. En primer lugar, la idea de localidad, los algoritmos basados en densidad como LOF. Por otro lado, LOCI con conceptos probabilı́sticos.
- LOOP (_k = 20_, _lamda=3_)[¶](#LOOP "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase LOOP.
- Parámetros
-
-
int – k, número de k vecinos a calcular
-
int – lamda, párametro para regular la normalización
-
- Tipo del valor devuelto
-
objeto de la clase LOOP
- fit_predict (_data_)
-
Método para aplicar el algoritmo LOOP a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de probabilidad anomalia [0-1]
LDOF¶
Local Outlier Probability (LoOP), utiliza la distancia relativa de un objeto a sus vecinos para medir la cantidad de objetos que se desvıían de su vecindario disperso.
- LDOF (_k = 20_)[¶](#LDOF "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase LDOF.
- Parámetros
-
int – k, número de k vecinos a calcular
- Tipo del valor devuelto
-
objeto de la clase LOOP
- fit_predict (_data_)
-
Método para aplicar el algoritmo LDOF a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de puntuaciones de anomalía
PINN-LOF¶
Projection-Indexed Nearest-Neighbour (PINN), en este algoritmo se propone un método de detección de valores atı́picos locales proyectivo basado en LOF.
- PINN-LOF(k = 20, t=2, s=1, h=20)
-
Constructor para la creación del objeto de la clase PINN-LOF.
- Parámetros
-
-
int – k, número de k vecinos a calcular
-
int – t, probabilidad de seleccion de caracteristicas para la proyección
-
int – s, probabilidad de selección para la proyección
-
int – h, número de k vecinos a calcular en la proyección
-
- Tipo del valor devuelto
-
objeto de la clase PINN-LOF
- fit_predict (_data_)
-
Método para aplicar el algoritmo PINN-LOF a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de puntuaciones de anomalía
OUTRES¶
Outres es un algoritmo que propone desarrollar una puntuación de anomalı́as basada en la desviación de objetos en las proyecciones subespaciales. Para la selección de dichos subespacios se analiza la uniformidad de los datos en ellos.
- OUTRES (_epsilon=15_, _alpha=0.01_)[¶](#OUTRES "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase OUTRES.
- Parámetros
-
-
int – epsilon, radio para la selección del vecindario
-
float – alpha, limite de uniformidad que se permite como interesante
-
- Tipo del valor devuelto
-
objeto de la clase OUTRES
- fit_predict (_data_)
-
Método para aplicar el algoritmo OUTRES a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de puntuaciones de anomalía
ODIN¶
Outlier Detection using Indegree Number (ODIN),es un algoritmo que hace uso del grafico de los k-vecinos más cercanos y usa el grado de los nodos para el calculo de anomalías
- ODIN (_k=20_, _t=0.01_)[¶](#ODIN "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase ODIN.
- Parámetros
-
-
int – k, número de k vecinos a calcular
-
int – t, umbral de dicisión
-
- Tipo del valor devuelto
-
objeto de la clase ODIN
- fit_predict (_data_)
-
Método para aplicar el algoritmo ODIN a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de decisión 1-0
MeanDIST¶
El algoritmo MeanDIST usa la la media de las distancias en su vecindario para ordenar a los vérticesy seleccionar los que más se desvian.
- MeanDIST (_k=20_, _t=1.5_)[¶](#MeanDIST "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase MeanDIST.
- Parámetros
-
-
int – k, número de k vecinos a calcular
-
int – t, parámatro para ampliar o reducir el umbral.
-
- Tipo del valor devuelto
-
objeto de la clase MeanDIST
- fit_predict (_data_)
-
Método para aplicar el algoritmo MeanDIST a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de decisión 1-0
KDIST¶
El algoritmo KDIST el máximo de las distancias a sus k-vecinos más cercanos para ordenar a los vértices y seleccionar los que más se desvian.
- KDIST (_k=20_, _t=1.5_)[¶](#KDIST "Enlazar permanentemente con esta definición")
-
Constructor para la creación del objeto de la clase KDIST.
- Parámetros
-
-
int – k, número de k vecinos a calcular
-
int – t, parámatro para ampliar o reducir el umbral.
-
- Tipo del valor devuelto
-
objeto de la clase KDIST
- fit_predict (_data_)
-
Método para aplicar el algoritmo KDIST a una matriz de datos.
- Parámetros
-
numpy.array – data, matriz de datos
- Tipo del valor devuelto
-
numpy.array de decisión 1-0
- enumerate (_sequence_[, _start=0_])[¶](#enumerate "Enlazar permanentemente con esta definición")