R語言中的聚類的使用
這裡的聚類主要用到K-Means和K-Medoide聚類。在進行聚類之前,為了避免不同參數之間量綱不同所造成的影響,先将資料進行(0-1)标準化
# 如參數weight
data$weight <- (data$weight-min(data$weight))/(max(data$weight)-min(data$weight))
K-Means算法
1.讀取資料
data <- read.csv("data/km/data.csv",header = T)
2.調用kmeans算法
# 設定聚類數
cluster_num <- 5
# 調用kmeans算法
km <- kmeans(data,cluster_num)
3.檢視分類情況和總體彙總
# 檢視具體分類情況
fitted(km)
# 檢視分類概括
table(data$weight, km$cluster)
4.将結果儲存
# 建構新資料框映射
df <- data.frame(km[[1]],data$weight)
# 參數重新命名
names(df) <- (c("classification_number","weight"))
# 儲存寫入
write.csv(df,file="data/km.csv")
K-Medoide算法
這裡用到K-Medoide中對大樣本資料處理的算法------CLARA算法
1.下載下傳cluster包
install.packages("cluster")
2.引入cluster包
# 引入cluster包
library(cluster)
3.讀取資料
data <- read.csv("data/km/data.csv",header = T)
4.調用CLARA算法
# 設定聚類數
cluster_num <- 5
# 調用CLARA算法
cl <- clara(data,cluster_num)
5.将結果儲存
# 建構新資料框映射
df <- data.frame(cl$clustering,data$weight)
#參數重新命名
names(df) <- (c("classification_number","weight"))
# 寫入 write.csv(df,file="data/clara.csv")