# 設定工作空間
# 把「資料及程式」資料夾拷貝到f盤下,再用setwd設定工作空間
setwd("e:\\r_workspace\\r語言資料分析與挖掘實戰\\chp5")
# 讀入資料
data
<- read.csv("./data/consumption_data.csv", header = true)[, 2:4]
view(data)
fix(data)
# center=3 為3個聚類中心,預設為 歐式距離
km<- kmeans(data, center = 3)
print(km)
# 每組分類所佔的比例
km$size / sum(km$size)
# 資料分組
aaa<- data.frame(data, km$cluster)
data1
<- data[which(aaa$km.cluster == 1), ]
data2
<- data[which(aaa$km.cluster == 2), ]
data3
<- data[which(aaa$km.cluster == 3), ]
# 類別1的情況
summary(data1)
view(data1)
# 客戶分群「1」的概率密度函式圖
par(mfrow = c(1,3))
plot(density(data1[, 1]), col = "red", main = "r")
plot(density(data1[, 2]), col = "red", main = "f")
plot(density(data1[, 3]), col = "red", main = "m")
# 客戶分群「2」的概率密度函式圖
par(mfrow = c(1, 3))
plot(density(data2[, 1]), col="red", main = "r")
plot(density(data2[, 2]), col="red", main = "f")
plot(density(data2[, 3]), col="red", main = "m")
# 客戶分群「3」的概率密度函式圖
par(mfrow = c(1, 3))
plot(density(data3[, 1]), col="red", main = "r")
plot(density(data3[, 2]), col="red", main = "f")
plot(density(data3[, 3]), col="red", main = "m")
k means聚類演算法 c語言
include include include include include define n 11 define k 3 typedef struct point int center n 判斷每個點屬於哪個簇 point point n point mean k 儲存每個簇的中心點 float...
K Means聚類演算法
k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...
聚類演算法 K means
演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...