R語言中K Means聚類演算法

2021-08-20 09:51:08 字數 1359 閱讀 4519

# 設定工作空間

# 把「資料及程式」資料夾拷貝到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演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...