資料探勘--離群點檢測
阿新 • • 發佈:2019-01-23
離群點檢測R實現
##設定工作空間
#先用setwd設定工作空間,如D盤,並將相關資料拷貝到該目錄下setwd("("D:/discrete")
#讀入資料
Data=read.csv("D:/discrete/data/",header=T)
Data=scale(Data)
set.seed(12)
km=kmeans(Data,center=3)
print(km)
km$centers
#各樣本歐氏距離
x1=matrix(km$centers[1,], nrow = 940, ncol =3 , byrow = T)
juli1=sqrt(rowSums((Data-x1)^2))
x2=matrix(km$centers[2,], nrow = 940, ncol =3 , byrow = T)
juli2=sqrt(rowSums((Data-x2)^2))
x3=matrix(km$centers[3,], nrow = 940, ncol =3 , byrow = T)
juli3=sqrt(rowSums((Data-x3)^2))
dist=data.frame(juli1,juli2,juli3)
##歐氏距離最小值
y=apply(dist, 1, min)
plot(1:940,y,xlim=c(0,940),xlab="樣本點",ylab="歐氏距離")
points(which(y>2.5),y[which(y>2.5)],pch=19,col="red")