k-nearest neighbors Distance-Score

Einführung in die Anomalieerkennung in R

Alastair Rushworth

Data Scientist

Möbelmaße

plot(Width ~ Height, data = furniture)

Einführung in die Anomalieerkennung in R

k-nearest neighbors (kNN)-Distanz

Ausreißer liegen meist weit von ihren Nachbarn entfernt

Einführung in die Anomalieerkennung in R

Eingaben für die Distanzmatrix-Berechnung

library(FNN)
furniture_knn <- get.knn(data = furniture, k = 5)

 

Argumente

  • data: Matrix der Daten
  • k: Anzahl der Nachbarn
Einführung in die Anomalieerkennung in R

Ausgabe der Distanzmatrix

get.knn() liefert zwei Matrizen

names(furniture_knn)
"nn.index" "nn.dist" 

Distanzmatrix

head(furniture_knn$nn.dist, 3)
         [,1]     [,2]     [,3]     [,4]     [,5]
[1,] 5.128300 5.367791 5.390801 5.740713 8.477025
[2,] 4.300093 5.367791 6.159139 7.091966 7.428176
[3,] 3.047502 3.545978 4.426266 5.006570 5.654202
Einführung in die Anomalieerkennung in R

kNN Distance-Score

Durchschnittliche Distanz zu den nächsten Nachbarn

furniture_score <- rowMeans(furniture_knn$nn.dist)

 

Größter Score?

which.max(furniture_score)
29
Einführung in die Anomalieerkennung in R

Lass uns üben!

Einführung in die Anomalieerkennung in R

Preparing Video For Download...