相继平均法matlab代码_模式识别matlab编程:用k次平均法将20个样本分成2类
樣本序號
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
特征
x1
0
1
0
1
2
1
2
3
6
7
特征
x2
0
0
1
1
1
2
2
2
6
6
x
11
x
12
x
13
x14
x15
x
16
x
17
x
18
x
19
x
20
8
6
7
8
9
7
8
9
8
9
6
7
7
7
7
8
8
8
9
9
用
K
次平均算法分成
2
類,編程上機,并畫出分類圖。
MA
TLAB
程序代碼:
clear
x=[0?0;1?0;0?1;?1?1;2?1;1?2;2?2;3?2;6?6;7?6;8?6;6?7;7?7;8?7;9?7;7?8;8?8;9?8;8?9;?9?9];
z=zeros(2,2);
z1=zeros(2,2);
z=x(1:2,1:2);
while
1
count=zeros(2,1);
allsum=zeros(2,2);
for
i=1:20
%
對每一個樣本
i
,計算到
2
個聚類中心的距離
temp1=sqrt((z(1,1)-x(i,1)).^2+(z(1,2)-x(i,2)).^2);
temp2=sqrt((z(2,1)-x(i,1)).^2+(z(2,2)-x(i,2)).^2);
if
(temp1
%
按最小距離原則將樣本歸類
count(1)=count(1)+1;
allsum(1,1)=allsum(1,1)+x(i,1);
allsum(1,2)=allsum(1,2)+x(i,2);
else
count(2)=count(2)+1;
%
統計屬于第
2
類的樣本數量
allsum(2,1)=allsum(2,1)+x(i,1);
allsum(2,2)=allsum(2,2)+x(i,2);
end
end
z1(1,1)=allsum(1,1)/count(1);
%
計算各個聚類的新向量值
z1(1,2)=allsum(1,2)/count(1);
z1(2,1)=allsum(2,1)/count(2);
z1(2,2)=allsum(2,2)/count(2);
總結
以上是生活随笔為你收集整理的相继平均法matlab代码_模式识别matlab编程:用k次平均法将20个样本分成2类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剪映导出帧率选多少_剪映帧率怎么设置?剪
- 下一篇: 准确率 召回率_机器学习tips(四):