資源簡介
KNN分類MatLAB源代碼(附介紹)
MatlAB源代碼+論文

代碼片段和文件信息
%KNN?classifiers?
%training?is?training?set?testing?is?test?set?
%D?is?the??distance?D=1?is?mandistance;?D=2?is?歐氏距離?D=3是?infinite?norm
%?K?is?the?number?of?selected?neighbors
function?label=KNN(trainingtestingDK)
[row?column]=size(training);
[row1?column1]=size(testing);
%計算測試集與訓(xùn)練集的距離
distance=[];
if?D==1
???for?i=1:row1
????????for?j=1:row
????????????temp=[training(j[1:(column-1)]);testing(i:)];
????????????d=mandist(temp);
????????????distance(ij)=d(12);
????????end
????end
end
if?D==2???
???for?i=1:row1
????????for?j=1:row
????????????temp=[training(j[1:(column-1)]);testing(i:)]‘;
????????????d=dist(temp);
????????????distance(ij)=d(12);
????????end
????end
end
if?D==3
????for?i=1:row1
????????for?j=1:row
????????????temp=[training(j[1:(column-1)]);testing(i:)];
????????????d=max(abs(temp(1:)-temp(2:)));
????????????distance(ij)=d;
????????end
????end
end
%?尋找k個近鄰
label=[];
for?i=1:row1
????[ab]=sort(distance(i:));
????neighbors=b(1:K)‘;
????neighbors_D=training(neighborscolumn);
????[xy]=sort(neighbors_D);
????temp=find(diff(x)~=0);????????
????nei_d=[x(1);x(temp+1)];
????Num_D=[];
????for?j=1:length(nei_d)
????????num=length(find(neighbors_D==nei_d(j)));
????????Num_D=[Num_Dnum];
????end
????[ab]=max(Num_D);
????label(i)=nei_d(b);
end
????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1375??2006-06-18?18:11??KNN.m
?????文件?????285249??2006-12-04?17:03??neighborhood?classifiers.pdf
-----------?---------??----------?-----??----
???????????????286842????????????????????3
評論
共有 條評論