-
大小: 5KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-01-09
- 語言: Matlab
- 標(biāo)簽: matlab??kmeans??kmeans改進(jìn)??
資源簡介
用matlab仿真實現(xiàn)的K-MEANS改進(jìn)聚類,可以運(yùn)行
代碼片段和文件信息
function?[?resXresYrecord]?=?FunK_mean(?xyk?)
%?功能:
%?????實現(xiàn)k-mean聚類算法
%?輸入:
%?????二維數(shù)據(jù),分別用xy兩個一維向量代表兩個維度,xy只是元素集合,從x中隨機(jī)選取一個元素,y中隨機(jī)選取一個元素可以構(gòu)成一個坐標(biāo)點(diǎn)
%?????k?是分成的類別的數(shù)量
%?輸出:
%?????k行的兩個矩陣
%?????對應(yīng)同樣的第n行,存放著第n類的所有元素
%?????record:?記錄著當(dāng)前分類中每一類的坐標(biāo)個數(shù)下標(biāo)從1開始
????j?=?1;
????%?下面是預(yù)分配一些空間
????%?seedX?和?seedY?中存放著所有種子先初始化中心點(diǎn),
????%(seedX,seedY)是當(dāng)前中心點(diǎn),(oldseedX,oldseedY)是上一輪迭代的中心點(diǎn),
????%?記錄二者是為了比較兩次迭代間中心點(diǎn)是否有變化,如果無變化則停止迭代,確定分類輸出計算結(jié)果
????seedX?=?zeros(1k);
????seedY?=?zeros(1k);
????oldSeedX?=?zeros(1k);
????oldSeedY?=?zeros(1k);
????resX?=?zeros(klength(x));
????resY?=?zeros(klength(x));
????%?用來記錄resX中每一行有效元素的個數(shù)
????record?=?zeros(1k);?
????for?i?=?1:k?%?產(chǎn)生k個隨機(jī)種子?注意:?隨機(jī)種子是來自元素集合,此處的種子是隨機(jī)選擇的中心點(diǎn)
????????seedX(i)?=?x(round(rand()*length(resX)));%round是四舍五入函數(shù),rand是隨機(jī)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3252??2018-01-24?10:16??1.1聚類分區(qū)域\FunK_mean.m
?????文件???????2929??2018-01-24?10:24??1.1聚類分區(qū)域\FunK_meanPolyD.m
?????文件????????173??2018-01-17?14:41??1.1聚類分區(qū)域\ini_fea.m
?????文件???????1375??2018-01-27?09:37??1.1聚類分區(qū)域\main.m
?????文件????????404??2018-01-24?10:37??1.1聚類分區(qū)域\plot_obstacle.m
?????目錄??????????0??2018-05-17?10:44??1.1聚類分區(qū)域
-----------?---------??----------?-----??----
?????????????????8133????????????????????6
評論
共有 條評論