天天看點

R語言中的聚類的使用 - 小明線上

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")