資料任然選擇聚類分析2中資料;
程式用python程式設計。
準備%將maltab中將m資料檔案轉化為txt文字檔案。
程式#------------------匯入讀取資料
importnumpyasnpfi=open("d:\\alsun\data.txt")
lin=fi.readlines()
fi.close()
data=np.ones([100,200])
fori,linesinenumerate(lin):
data[i][:]=lines.split("\t")
data1=zip(*data)
#data2=[i for i in data1]
data2=list(data1)
data3=np.array(data2)
#------------距離矩陣計算ycdata=np.zeros([200,200])
foriinrange(200):
forjinrange(200):
dc=data3[i]-data3[j]
dc=dc**2
dt=sum(dc)
dt=dt**0.5
ycdata[i][j]=dt
z=[0,1]
err=1
n=1u=np.ones([2,200])
#-----------k-means演算法whileerr>0.05:
n=n+1
m=[ycdata[line]forlineinz]
u[0][:]=list(map(int,(m[1]>m[0])))
u[1][:]=list(map(int,(m[1]<=m[0])))
sum1=np.inner(m,u)
sum2=sum1[1][1]+sum1[0][0]
err=sum2-err
sort1=
sort2=
fori,jinenumerate(u[0][:]):
summ=0
ifj:
sum3=np.inner(u[0][:],ycdata[i][:])
else:
sum4=np.inner(u[1][:],ycdata[i][:])
sum5=np.sort(sort1)
sum6=np.sort(sort2)
z[0]=list(sort1).index(sum5[0])
z[1]=list(sort2).index(sum6[0])
print(u)
輸出結果
[[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1.]
k means聚類,密度聚類,層次聚類優缺點
k means 優點 1,簡單,易於理解和實現 2,時間複雜度低 缺點 1,需要對均值給出定義,2,需要指定要聚類的數目 3,一些過大的異常值會帶來很大影響 4,演算法對初始選值敏感 5,適合球形聚類 層次聚類 優點 1,距離和規則的相似度容易定義,限制少 2,不需要預先制定聚類數 3,可以發現類的...
K Means聚類演算法
k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...
聚類演算法 K means
演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...