當前位置:首頁 » 操作系統 » 聚類演算法程序

聚類演算法程序

發布時間: 2024-12-31 11:46:09

Ⅰ 如何編寫求K-均值聚類演算法的Matlab程序

在聚類分析中,K-均值聚類演算法(k-means
algorithm)是無監督分類中的一種基本方法,其也稱為C-均值演算法,其基本思想是:通過迭代的方法,逐次更新各聚類中心的值,直至得到最好的聚類結果。
假設要把樣本集分為c個類別,演算法如下:
(1)適當選擇c個類的初始中心;
(2)在第k次迭代中,對任意一個樣本,求其到c個中心的距離,將該樣本歸到距離最短的中心所在的類,
(3)利用均值等方法更新該類的中心值;
(4)對於所有的c個聚類中心,如果利用(2)(3)的迭代法更新後,值保持不變,則迭代結束,否則繼續迭代。
下面介紹作者編寫的一個分兩類的程序,可以把其作為函數調用。
%%
function
[samp1,samp2]=kmeans(samp);
作為調用函數時去掉注釋符
samp=[11.1506
6.7222
2.3139
5.9018
11.0827
5.7459
13.2174
13.8243
4.8005
0.9370
12.3576];
%樣本集
[l0
l]=size(samp);
%%利用均值把樣本分為兩類,再將每類的均值作為聚類中心
th0=mean(samp);n1=0;n2=0;c1=0.0;c1=double(c1);c2=c1;for
i=1:lif
samp(i)<th0
c1=c1+samp(i);n1=n1+1;elsec2=c2+samp(i);n2=n2+1;endendc1=c1/n1;c2=c2/n2;
%初始聚類中心t=0;cl1=c1;cl2=c2;
c11=c1;c22=c2;
%聚類中心while
t==0samp1=zeros(1,l);
samp2=samp1;n1=1;n2=1;for
i=1:lif
abs(samp(i)-c11)<abs(samp(i)-c22)
samp1(n1)=samp(i);
cl1=cl1+samp(i);n1=n1+1;
c11=cl1/n1;elsesamp2(n2)=samp(i);
cl2=cl2+samp(i);n2=n2+1;
c22=cl2/n2;endendif
c11==c1
&&
c22==c2t=1;endcl1=c11;cl2=c22;
c1=c11;c2=c22;
end
%samp1,samp2為聚類的結果。
初始中心值這里採用均值的辦法,也可以根據問題的性質,用經驗的方法來確定,或者將樣本集隨機分成c類,計算每類的均值。
k-均值演算法需要事先知道分類的數量,這是其不足之處。

Ⅱ 用python K值聚類識別圖片主要顏色的程序,演算法python代碼已經有了

難得被人求助一次, 這個必須回答一下. 不過你的需求確實沒有寫得太清楚. 根據k值演算法出來的是主要顏色有三個, 所以我把三個顏色都打在記事本里了. 如果和你的需求有誤, 請自行解決吧.


另外這里需要用到numpy的庫, 希望你裝了, 如果沒裝, 這個直接安裝也比較麻煩, 可以看一下portablepython的綠色版。


代碼如下:


#-*-coding:utf-8-*-
importImage
importrandom
importnumpy
classCluster(object):
def__init__(self):
self.pixels=[]
self.centroid=None
defaddPoint(self,pixel):
self.pixels.append(pixel)
defsetNewCentroid(self):
R=[colour[0]forcolourinself.pixels]
G=[colour[1]forcolourinself.pixels]
B=[colour[2]forcolourinself.pixels]
R=sum(R)/len(R)
G=sum(G)/len(G)
B=sum(B)/len(B)
self.centroid=(R,G,B)
self.pixels=[]
returnself.centroid
classKmeans(object):
def__init__(self,k=3,max_iterations=5,min_distance=5.0,size=200):
self.k=k
self.max_iterations=max_iterations
self.min_distance=min_distance
self.size=(size,size)
defrun(self,image):
self.image=image
self.image.thumbnail(self.size)
self.pixels=numpy.array(image.getdata(),dtype=numpy.uint8)
self.clusters=[Noneforiinrange(self.k)]
self.oldClusters=None
randomPixels=random.sample(self.pixels,self.k)
foridxinrange(self.k):
self.clusters[idx]=Cluster()
self.clusters[idx].centroid=randomPixels[idx]
iterations=0
whileself.shouldExit(iterations)isFalse:
self.oldClusters=[cluster.centroidforclusterinself.clusters]
printiterations
forpixelinself.pixels:
self.assignClusters(pixel)
forclusterinself.clusters:
cluster.setNewCentroid()
iterations+=1
return[cluster.centroidforclusterinself.clusters]
defassignClusters(self,pixel):
shortest=float('Inf')
forclusterinself.clusters:
distance=self.calcDistance(cluster.centroid,pixel)
ifdistance<shortest:
shortest=distance
nearest=cluster
nearest.addPoint(pixel)
defcalcDistance(self,a,b):
result=numpy.sqrt(sum((a-b)**2))
returnresult
defshouldExit(self,iterations):
ifself.oldClustersisNone:
returnFalse
foridxinrange(self.k):
dist=self.calcDistance(
numpy.array(self.clusters[idx].centroid),
numpy.array(self.oldClusters[idx])
)
ifdist<self.min_distance:
returnTrue
ifiterations<=self.max_iterations:
returnFalse
returnTrue
#############################################
#
defshowImage(self):
self.image.show()
defshowCentroidColours(self):
forclusterinself.clusters:
image=Image.new("RGB",(200,200),cluster.centroid)
image.show()
defshowClustering(self):
localPixels=[None]*len(self.image.getdata())
foridx,pixelinenumerate(self.pixels):
shortest=float('Inf')
forclusterinself.clusters:
distance=self.calcDistance(
cluster.centroid,
pixel
)
ifdistance<shortest:
shortest=distance
nearest=cluster
localPixels[idx]=nearest.centroid
w,h=self.image.size
localPixels=numpy.asarray(localPixels)
.astype('uint8')
.reshape((h,w,3))
colourMap=Image.fromarray(localPixels)
colourMap.show()

if__name__=="__main__":
fromPILimportImage
importos

k_image=Kmeans()
path=r'.\pics\'
fp=open('file_color.txt','w')
forfilenameinos.listdir(path):
printpath+filename
try:
color=k_image.run(Image.open(path+filename))
fp.write('Thecolorof'+filename+'is'+str(color)+' ')
except:
print"Thisfileformatisnotsupport"
fp.close()

Ⅲ 使用K-Means 演算法進行聚類分析程序

你這是四維數據,我這是一維數據kmeans,你試試吧

#include<iostream>
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
using namespace std;

int N; //數據個數
int K; //集合個數

int *CenterIndex; //質心索引集合,即屬於第幾個參考點
double *Center; //質心集合
double *CenterCopy;
double *DataSet;
double **Cluster;
int *Top;

/*演算法描述:
C-Fuzzy均值聚類演算法採用的是給定類的個數K,將N個元素(對象)分配到K個類中去使得類內對象之間的相似性最大,而類之間的相似性最小 */

//函數聲明部分
void InitData();
void InitCenter();
void CreateRandomArray(int n,int k,int *centerIndex);
void CopyCenter();
void UpdateCluster();
void UpdateCenter();
int GetIndex(double value,double *centerIndex);
void AddtoCluster(int index,double value);
void print();
bool IsEqual(double *center,double *center);

int main()
{
int Flag=1;
InitData();
while(Flag)//無限次循環
{
UpdateCluster();
UpdateCenter();
if(IsEqual(Center,CenterCopy))
{
Flag=0;
}
else
{
CopyCenter();
}
}
print();
getchar();
system("pause");
}

void InitData()
{
int i=0;
int a;
cout<<"請輸入數據元素的個數: ";
cin>>N;
cout<<"請輸入分類數: ";
cin>>K;
if(K>N)
{
return;
}

CenterIndex =new int [sizeof(int)];
Center =new double [sizeof(double)*K];
CenterCopy =new double [sizeof(double)*K];
DataSet =new double [sizeof(double)*N];
Cluster =new double* [sizeof(double*)*K];
Top =new int [sizeof(int)*K];

//初始化K個類的集合
for(i=0;i<K;i++)
{
Cluster[i]=new double [sizeof(double)*N];
Top[i]=0;
}

cout<<"請輸入數據"<<endl;
for(i=0;i<N;i++)
{
cin>>a;
DataSet[i]=a;
}

//初始化質心集合
InitCenter();
UpdateCluster();
}

void InitCenter()//初始化中心點(參照點)
{
int i=0;
//產生隨即的K個<N的不同的序列
CreateRandomArray(N,K,CenterIndex);
for(i=0;i<K;i++)
{
Center[i]=DataSet[CenterIndex[i]];
}
CopyCenter();

}

void CreateRandomArray(int n,int k,int *centerIndex)//產生可以隨輸出控制的 k與n (可舍棄)
{
int i=0,j=0;
for(i=0;i<K;i++)
{
int a=rand()%n;
for(j=0;j<i;j++)
{
if(centerIndex[j]==a)
break;
}

if(j>=i)
{
centerIndex[i]=a;
}
else
{
i--;
}
}
}

void CopyCenter()//將舊的中心點保留以作比較
{
int i=0;
for(i=0;i<K;i++)
{
CenterCopy[i]=Center[i];
}
}

void UpdateCluster()//
{
int i=0;
int tindex;

for(;i<K;i++)
{
Top[i]=0;
}

for(i=0;i<N;i++)
{
tindex=GetIndex(DataSet[i],Center);
AddtoCluster(tindex,DataSet[i]);
}
}

int GetIndex(double value,double *center)//判斷屬於哪個參照點
{
int i=0;
int index=i;
double min=fabs(value-center[i]);
for(i=0;i<K;i++)
{
if(fabs(value-center[i])<min)
{
index=i;
min=fabs(value-center[i]);
}
}

return index;
}

void AddtoCluster(int index,double value)//統計每組個數(用於均值法求新的參照點)
{
Cluster[index][Top[index]]=value;
Top[index]++;
}

void UpdateCenter()//更新參照點
{
int i=0,j=0;
double sum;
for(i=0;i<K;i++)
{
sum=0.0;
for(j=0;j<Top[i];j++)
{
sum+=Cluster[i][j];
}

if(Top[i]>0)
{
Center[i]=sum/Top[i];
}
}
}

bool IsEqual(double *center,double*center)//
{
int i;
for(i=0;i<K;i++)
{
if(fabs(center[i]!=center[i]))
return 0;
}
return 1;
}

void print()//
{
int i,j;
cout<<"===================================="<<endl;
for(i=0;i<K;i++)
{
cout<<"第"<<i<<"組:質心為:"<<Center[i]<<endl;
cout<<"數據元素為:\n";
for(j=0;j<Top[i];j++)
{
cout<<Cluster[i][j]<<'\t';
}
cout<<endl;
}
}

Ⅳ MATLAB建模方法有哪些

首先,Matlab是一個工具,它不是一個方法。

其次,我給你推薦一本書
《MATLAB 在數學建模中的應用(第2版)》

然後它的目錄可以回答你的問題:
第1章 數學建模常規方法及其MATLAB實現
1.1 MATLAB與數據文件的交互
1.1.1 MATLAB與Excel的交互
1.1.2 MATLAB與TXT交互
1.1.3 MATLAB界面導入數據的方法
1.2 數據擬合方法
1.2.1 多項式擬合
1.2.2 指定函數擬合
1.2.3 曲線擬合工具箱
1.3 數據擬合應用實例
1.3.1 人口預測模型
1.3.2 薄膜滲透率的測定
1.4 數據的可視化
1.4.1 地形地貌圖形的繪制
1.4.2 車燈光源投影區域的繪制(CUMCM2002A)
1.5 層次分析法(AHP)
1.5.1 層次分析法的應用場景
1.5.2 AHPMATLAB程序設計

第2章 規劃問題的MATLAB求解
2.1 線性規劃
2.1.1 線性規劃的實例與定義
2.1.2 線性規劃的MATLAB標准形式
2.1.3 線性規劃問題解的概念
2.1.4 求解線性規劃的MATLAB解法
2.2 非線性規劃
2.2.1 非線性規劃的實例與定義
2.2.2 非線性規劃的MATLAB解法
2.2.3 二次規劃
2.3 整數規劃
2.3.1 整數規劃的定義
2.3.2 01整數規劃
2.3.3 隨機取樣計演算法

第3章 數據建模及MATLAB實現
3.1 雲模型
3.1.1 雲模型基礎知識
3.1.2 雲模型的MATLAB程序設計
3.2 Logistic回歸
3.2.1 Logistic模型
3.2.2 Logistic回歸MATLAB程序設計
3.3 主成分分析
3.3.1 PCA基本思想
3.3.2 PCA步驟
3.3.3 主成分分析MATLAB程序設計
3.4 支持向量機(SVM)
3.4.1 SVM基本思想
3.4.2 理論基礎
3.4.3 支持向量機MATLAB程序設計
3.5 K均值(KMeans)
3.5.1 KMeans原理、步驟和特點
3.5.2 KMeans聚類MATLAB程序設計
3.6 樸素貝葉斯判別法
3.6.1 樸素貝葉斯判別模型
3.6.2 樸素貝葉斯判別法MATLAB設計
3.7 數據建模綜合應用
參考文獻

第4章 灰色預測及其MATLAB實現
4.1 灰色系統基本理論
4.1.1 灰色關聯度矩陣
4.1.2 經典灰色模型GM(1,1)
4.1.3 灰色Verhulst模型
4.2 灰色系統的程序設計
4.2.1 灰色關聯度矩陣的程序設計
4.2.2 GM(1,1)的程序設計
4.2.3 灰色Verhulst模型的程序設計
4.3 灰色預測的MATLAB程序
4.3.1 典型程序結構
4.3.2 灰色預測程序說明
4.4 灰色預測應用實例
4.4.1 實例一長江水質的預測(CUMCM2005A)
4.4.2 實例二預測與會代表人數(CUMCM2009D)
4.5 小結
參考文獻

第5章 遺傳演算法及其MATLAB實現
5.1 遺傳演算法基本原理
5.1.1 人工智慧演算法概述
5.1.2 遺傳演算法生物學基礎
5.1.3 遺傳演算法的實現步驟
5.1.4 遺傳演算法的拓展
5.2 遺傳演算法的MATLAB程序設計
5.2.1 程序設計流程及參數選取
5.2.2 MATLAB遺傳演算法工具箱
5.3 遺傳演算法應用案例
5.3.1 案例一:無約束目標函數最大值遺傳演算法求解策略
5.3.2 案例二:CUMCM中多約束非線性規劃問題的求解
5.3.3 案例三:BEATbx遺傳演算法工具箱的應用——電子商務中轉化率影響因素研究
參考文獻

第6章 模擬退火演算法及其MATLAB實現
6.1 演算法的基本理論
6.1.1 演算法概述
6.1.2 基本思想
6.1.3 其他一些參數的說明
6.1.4 演算法基本步驟
6.1.5 幾點說明
6.2 演算法的MATLAB實現
6.2.1 演算法設計步驟
6.2.2 典型程序結構
6.3 應用實例:背包問題的求解
6.3.1 問題的描述
6.3.2 問題的求解
6.4 模擬退火程序包ASA簡介
6.4.1 ASA的優化實例
6.4.2 ASA的編譯
6.4.3 MATLAB版ASA的安裝與使用
6.5 小結
6.6 延伸閱讀
參考文獻

第7章 人工神經網路及其MATLAB實現
7.1 人工神經網路基本理論
7.1.1 人工神經網路模型拓撲結構
7.1.2 常用激勵函數
7.1.3 常見神經網路理論
7.2 BP神經網路的結構設計
7.2.1 鯊魚嗅聞血腥味與BP神經網路訓練
7.2.2 透視神經網路的學習步驟
7.2.3 BP神經網路的動態擬合過程
7.3 RBF神經網路的結構設計
7.3.1 梯度訓練法RBF神經網路的結構設計
7.3.2 RBF神經網路的性能
7.4 應用實例
7.4.1 基於MATLAB源程序公路運量預測
7.4.2 基於MATLAB工具箱公路運量預測
7.4.3 艾滋病治療最佳停葯時間的確定(CUMCM2006B)
7.4.4 RBF神經網路預測新客戶流失概率
7.5 延伸閱讀
7.5.1 從金融分析中的小數定理談神經網路的訓練樣本遴選規則
7.5.2 小議BP神經網路的衍生機理
參考文獻

第8章粒子群演算法及其MATLAB實現
8.1 PSO演算法相關知識
8.1.1 初識PSO演算法
8.1.2 PSO演算法的基本理論
8.1.3 PSO演算法的約束優化
8.1.4 PSO演算法的優缺點
8.2 PSO演算法程序設計
8.2.1 程序設計流程
8.2.2 PSO演算法的參數選取
8.2.3 PSO演算法MATLAB源程序範例
8.3 應用案例:基於PSO演算法和BP演算法訓練神經網路
8.3.1 如何評價網路的性能
8.3.2 BP演算法能夠搜索到極值的原理
8.3.3 PSOBP神經網路的設計指導原則
8.3.4 PSO演算法優化神經網路結構
8.3.5 PSOBP神經網路的實現
參考文獻

第9章 蟻群演算法及其MATLAB實現
9.1 蟻群演算法原理
9.1.1 蟻群演算法基本思想
9.1.2 蟻群演算法數學模型
9.1.3 蟻群演算法流程
9.2 蟻群演算法的MATLAB實現
9.2.1 實例背景
9.2.2 演算法設計步驟
9.2.3 MATLAB程序實現
9.2.4 程序執行結果與分析
9.3 演算法關鍵參數的設定
9.3.1 參數設定的准則
9.3.2 螞蟻數量
9.3.3 信息素因子
9.3.4 啟發函數因子
9.3.5 信息素揮發因子
9.3.6 信息素常數
9.3.7 最大迭代次數
9.3.8 組合參數設計策略
9.4 應用實例:最佳旅遊方案(蘇北賽2011B)
9.4.1 問題描述
9.4.2 問題的求解和結果
9.5 本章小結
參考文獻

第10章 小波分析及其MATLAB實現
10.1 小波分析基本理論
10.1.1 傅里葉變換的局限性
10.1.2 伸縮平移和小波變換
10.1.3 小波變換入門和多尺度分析
10.1.4 小波窗函數自適應分析
10.2 小波分析MATLAB程序設計
10.2.1 小波分析工具箱函數指令
10.2.2 小波分析程序設計綜合案例
10.3 小波分析應用案例
10.3.1 案例一:融合拓撲結構的小波神經網路
10.3.2 案例二:血管重建引出的圖像數字水印
參考文獻

第11章 計算機虛擬及其MATLAB實現
11.1 計算機虛擬基本知識
11.1.1 從3G移動互聯網協議WCDMA談MATLAB虛擬
11.1.2 計算機虛擬與數學建模
11.1.3 數值模擬與經濟效益博弈
11.2 數值模擬MATLAB程序設計
11.2.1 微分方程組模擬
11.2.2 服從概率分布的隨機模擬
11.2.3 蒙特卡羅模擬
11.3 動態模擬MATLAB程序設計
11.3.1 MATLAB音頻處理
11.3.2 MATLAB常規動畫實現
11.4 應用案例:四維水質模型
11.4.1 問題的提出
11.4.2 問題的分析
11.4.3 四維水質模型准備
11.4.4 條件假設與符號約定
11.4.5 四維水質模型的組建
11.4.6 模型求解
11.4.7 計算機模擬情境
參考文獻

下篇 真題演習
第12章 彩票中的數學(CUMCM2002B)
12.1 問題的提出
12.2 模型的建立
12.2.1 模型假設與符號說明
12.2.2 模型的准備
12.2.3 模型的建立
12.3 模型的求解
12.3.1 求解的思路
12.3.2 MATLAB程序
12.3.3 程序結果
12.4 技巧點評
參考文獻

第13章 露天礦卡車調度問題(CUMCM2003B)
13.1 問題的提出
13.2 基本假設與符號說明
13.2.1 基本假設
13.2.2 符號說明
13.3 問題分析及模型准備
13.4 原則①:數學模型(模型1)的建立與求解
13.4.1 模型的建立
13.4.2 模型求解
13.5 原則②:數學模型(模型2)的建立與求解
13.6 技巧點評
參考文獻

第14章 奧運會商圈規劃問題(CUMCM2004A)
14.1 問題的描述
14.2 基本假設、名詞約定及符號說明
14.2.1 基本假設
14.2.2 符號說明
14.2.3 名詞約定
14.3 問題分析與模型准備
14.3.1 基本思路
14.3.2 基本數學表達式的構建
14.4 設置MS網點數學模型的建立與求解
14.4.1 模型建立
14.4.2 模型求解
14.5 設置MS網點理論體系的建立
14.6 商區布局規劃的數學模型
14.6.1 模型建立
14.6.2 模型求解
14.7 模型的評價及使用說明
14.7.1 模型的優點
14.7.2 模型的缺點
14.8 技巧點評
參考文獻

第15章 交巡警服務平台的設置與調度(CUMCM2011B)
15.1 問題的提出
15.2 問題的分析
15.3 基本假設
15.4 問題1模型的建立與求解
15.4.1 交巡警服務平台管轄范圍分配
15.4.2 交巡警的調度
15.4.3 最佳新增服務平台設置
15.5 問題2模型的建立和求解
15.5.1 全市服務平台的合理性分析問題的模型與求解
15.5.2 搜捕嫌疑犯實例的模型與求解
15.6 模型的評價與改進
15.6.1 模型優點
15.6.2 模型缺點
15.7 技巧點評
參考文獻

第16章 葡萄酒的評價(CUMCM2012A)
16.1 問題的提出
16.2 基本假設
16.3 問題①模型的建立和求解
16.3.1 問題①的分析
16.3.2 模型的建立和求解
16.4 問題②模型的建立和求解
16.4.1 問題②的基本假設和分析
16.4.2 模型的建立和求解
16.5 問題③模型的建立和求解
16.5.1 問題③的分析
16.5.2 模型的建立和求解
16.6 問題④模型的建立和求解
16.6.1 問題④的分析
16.6.2 模型的建立和求解
16.7 論文點評
參考文獻
附件數學建模參賽經驗
一、如何准備數學建模競賽
二、數學建模隊員應該如何學習MATLAB
三、如何在數學建模競賽中取得好成績
四、數學建模競賽中的項目管理和時間管理
五、一種非常實用的數學建模方法——目標建模法

Ⅳ 請高手幫忙編寫關於K—mediods演算法的MATLAB程序用於處理Iris數據集的聚類處理,得到迭代次數圖形和准確率

我把K-mediods的matlab代碼貼出來,你好好學習一下

function label = kmedoids( data,k,start_data )
% kmedoids k中心點演算法函數
% data 待聚類的數據集,每一行是一個樣本數據點
% k 聚類個數
% start_data 聚類初始中心值,每一行為一個中心點,有cluster_n行
% class_idx 聚類結果,每個樣本點標記的類別
% 初始化變數
n = length(data);
dist_temp1 = zeros(n,k);
dist_temp2 = zeros(n,k);
last = zeros(n,1);
a = 0;
b = 0;

if nargin==3
centroid = start_data;
else
centroid = data(randsample(n,k),:);
end
for a = 1:k
temp1 = ones(n,1)*centroid(a,:);
dist_temp1(:,a) = sum((data-temp1).^2,2);
end
[~,label] = min(dist_temp1,[],2);
while any(label~=last)
for a = 1:k
temp2 = ones(numel(data(label==a)),1);
temp3 = data(label==a);
for b = 1:n
temp4 = temp2*data(b,:);
temp5 = sum((temp3-temp4).^2,2);
dist_temp2(b,a) = sum(temp5,1);
end
end
[~,centry_indx] = min(dist_temp2,[],1);
last = label;
centroid = data(centry_indx,:);
for a = 1:k
temp1 = ones(n,1)*centroid(a,:);
dist_temp1(:,a) = sum((data-temp1).^2,2);
end
[~,label] = min(dist_temp1,[],2);
end

end

Ⅵ 請教Louvain演算法的Java程序(程序小白完全看不懂,希望大神詳解)

Louvain演算法主要針對文獻[1]的一種實現,它是一種基於模塊度的圖演算法模型,與普通的基於模塊度和模塊度增益不同的是,該演算法速度很快,而且對一些點多邊少的圖,進行聚類效果特別明顯,本文用的畫圖工具是Gephi,從畫圖的效果來說,提升是很明顯的。

文本沒有權威,僅是個人工作中的一點總結與思考,能力與時間有限,理解不免有些淺薄,僅做參考。也可能有理解偏差或錯誤,如有發現,希望不吝指教,多謝!

由於演算法中的公式太多,不方便用markdown編輯,所以就將編排好的文檔轉成圖片,如需完整的文檔請點擊這里下載。

Ⅶ 急求!!!matlab的K-均值聚類演算法程序,採用下面的數據進行聚類分析。

沒懂你是要如何聚類,如果是把(x1,x2)看成點集的話,直接
x1=[-0.5200
2.5849
0.9919
2.9443
-0.4240
1.7762
2.0581
1.5754
1.7971
0.4869
7.8736
8.1850
9.3666
8.4139
10.5374
9.1401
7.1372
8.5458]

x2=[1.8539
2.2481
1.9234
3.7382
3.6220
2.6264
2.0918
1.1924
1.5387
0.5940
7.6255
7.5291
9.7513
8.7532
8.0650
7.7072
8.0828
8.7662]

kmeans(X,4) %這里以分為4類為例,想分幾類就寫幾
輸出的結果就是每一行所對應的類編號了

熱點內容
c語言求迴文數 發布:2025-01-03 08:47:44 瀏覽:833
跑腳本什麼意思 發布:2025-01-03 08:29:57 瀏覽:654
sql的聯合查詢 發布:2025-01-03 08:28:21 瀏覽:688
矩陣的轉置編程 發布:2025-01-03 08:24:24 瀏覽:21
linux語言環境 發布:2025-01-03 08:24:21 瀏覽:451
c加密軟體 發布:2025-01-03 08:21:01 瀏覽:250
圖形界面linux 發布:2025-01-03 08:08:34 瀏覽:862
腳本網購 發布:2025-01-03 08:03:06 瀏覽:914
為什麼主題商店顯示伺服器在忙 發布:2025-01-03 07:48:43 瀏覽:120
sqlif函數的使用方法 發布:2025-01-03 07:41:09 瀏覽:714