試試這個:
# your code
library(cluster)
cluster<-agnes(mtcars,stand=FALSE,method="single")
dend = as.dendrogram(cluster)
plot(dend)
#new code
hclu <- as.hclust(cluster) # convert to list that cutree() understands
groupindexes <- cutree(hclu, h = 70) # cut at height 70 - creates 3 groups/branches
mtcars[groupindexes != 1,] # "outliers" - not in group 1 but in groups 2 and 3
mtcars[groupindexes == 1,] # all but the 4 "outliers"
結果1 - 的 「異常值」:
mpg cyl disp hp drat wt qsec vs am gear carb
Duster 360 14.3 8 360 245 3.21 3.57 15.84 0 0 3 4
Camaro Z28 13.3 8 350 245 3.73 3.84 15.41 0 0 3 4
Ford Pantera L 15.8 8 351 264 4.22 3.17 14.50 0 1 5 4
Maserati Bora 15.0 8 301 335 3.54 3.57 14.60 0 1 5 8
結果2:
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
(....and ~30 other rows ....)
來源
2017-09-21 12:56:12
knb
我不認爲它是如此簡單,你建議。你說:「最後4輛車...被識別爲異常值」。我會告訴你,瑪莎拉蒂是一個異常值,但你爲什麼說其他三個是異常值,而不是3個小團? – G5W
也許異常是錯誤的詞。我想刪除距離高於70的數據。 – Jules