-
大小: 2KB文件類型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-01-06
- 語言: Matlab
- 標(biāo)簽: MATLAB??knn??matlab中knn??knn聚類??
資源簡介
直接使用KNN,將自己的數(shù)據(jù)集直接代入到KNN中,可以分類出自己想要的結(jié)果
代碼片段和文件信息
%150?個(gè)數(shù)據(jù)集,90個(gè)訓(xùn)練集??60個(gè)測(cè)試集
%1.計(jì)算歐氏距離(計(jì)算每一個(gè)測(cè)試樣本到訓(xùn)練樣本的距離)%
%2.進(jìn)行排序,尋找K個(gè)
%3.查詢前K個(gè)的類型,從而確定它的所屬類數(shù)
%4.判斷是否準(zhǔn)確
%5.循環(huán)進(jìn)行
k=2;
z=allsample;
x=testsample;
y=trainsample;
dis=size(length2length2);
length1=size(allsample1);
length2=size(testsample1);
length3=size(trainsample1);
for(n=1:length2)
????%1.計(jì)算歐氏距離
????for(i=1:length2)
????????for(j=1:length3)
????????????dis(ij)=(x(i1)-y(j1))^2+(x(i2)-y(j2))^2+(x(i3)-y(j3))^2+(x(i4)-y(j4))^2;
????????????dis(ij)=sqrt(dis(ij));
????????end
????end
????%?2.依次找出K個(gè)數(shù)據(jù)的下標(biāo)
????t=zeros(nk);
??????for(i=1:k)
????????min=100;??
????????for(j=1:length3)
????????????if(dis(nj) ????????????????min=dis(nj);
????????????end
????????end
?????????for(p=1:length3)
?????????????if(dis(np)==min)
?????????????????d
評(píng)論
共有 條評(píng)論