Spero che tu possa aiutarmi con il mio problema. Sto cercando di individuare i valori anomali con l'uso dell'algoritmo kmeans. Per prima cosa eseguo l'algoritmo e scelgo quegli oggetti come possibili valori anomali che hanno una grande distanza dal loro centro del cluster. Invece di utilizzare la distanza assoluta, voglio utilizzare la distanza relativa, vale a dire la razione della distanza assoluta dell'oggetto rispetto al centro del cluster e la distanza media di tutti gli oggetti del cluster rispetto al centro del cluster. Il codice per il rilevamento dei valori anomali in base alla distanza assoluta è la seguente:Rilevamento anomalie con algoritmo k-means
# remove species from the data to cluster
iris2 <- iris[,1:4]
kmeans.result <- kmeans(iris2, centers=3)
# cluster centers
kmeans.result$centers
# calculate distances between objects and cluster centers
centers <- kmeans.result$centers[kmeans.result$cluster, ]
distances <- sqrt(rowSums((iris2 - centers)^2))
# pick top 5 largest distances
outliers <- order(distances, decreasing=T)[1:5]
# who are outliers
print(outliers)
Ma come posso utilizzare il relativo posto della distanza assoluta di trovare valori anomali?
Questa domanda sembra essere fuori argomento, perché si tratta di statistiche – csgillespie