Wprowadzenie do wykrywania anomalii w R
Alastair Rushworth
Data Scientist
plot(Width ~ Height, data = furniture)

Anomalie zwykle leżą daleko od sąsiadów

library(FNN)
furniture_knn <- get.knn(data = furniture, k = 5)
Argumenty
data: macierz danychk: liczba sąsiadówget.knn() zwraca dwie macierze
names(furniture_knn)
"nn.index" "nn.dist"
Macierz odległości
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
Średnia odległość do najbliższych sąsiadów
furniture_score <- rowMeans(furniture_knn$nn.dist)
Najwyższy wynik?
which.max(furniture_score)
29
Wprowadzenie do wykrywania anomalii w R