k-means 演算法r實現
#先用setwd設定工作空間,如d盤,並將相關資料拷貝到該目錄下
setwd("d:/k-means")
#讀入資料
data=read.csv("d:/k-means/data")
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」的概率密度函式圖
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演算法
k means中文稱為k均值聚類演算法,在1967年就被提出 所謂聚類就是將物理或者抽象物件的集合分組成為由類似的物件組成的多個簇的過程 聚類生成的組成為簇 簇內部任意兩個物件之間具有較高的相似度,不同簇的兩個物件之間具有較高的相異度 相異度和相似度可以根據描述的物件的屬性值來計算 物件間的距離是最...
資料探勘之K Means演算法
k means思想 將n個樣本分成k個聚類,每個聚類裡的樣本關聯性 或者說是相似性 比較高。舉個例子,假如有5個樣本,每個樣本是乙個2維向量,分別記做a,b,c,d,e,我要將他們分成2個聚類,第一步是隨機選2個樣本 也可以是虛擬的 把它們當做中心點,然後將 a,b,c,d,e歸類到距離最小的那個中...
資料探勘 K means
k means方法是macqueen1967年提出的。給定乙個資料集合x和乙個整數k n k means方法是將x分成k個聚類並使得在每個聚類中所有值與該聚類中心距離的總和最小。k means聚類方法分為以下幾步 1 給k個cluster選擇最初的中心點,稱為k個means。2 計算每個物件和每個中...