function Q_all=knn(train,test,kkk)
% Usage: [Cmat,C_rate]=knn(Pr,Tr,Pt,Tt,kN)
% kNN- k-Nearest Neighbor Classifier
% train: training feature vector K x N (prototype), the classifier
% test: testing/validating feature vector Q x N
%[train]=normalize(train);
%[test]=normalize(test);
[K,N]=size(train);
Q=size(test,1);
d=zeros(K,Q);
train_v=train(:,1:N-1);
train_l=train(:,N);
test_v=test(:,1:N-1);
test_l=test(:,N);
clear train test
% calculate L2 norm distance
class=[];
for i=1:Q
for j=1:K
d(j,i)=sum((train_v(j,:)-test_v(i,:)).^2);
end
end
clear train_v test_v
for i=1:Q
[mm,index]=sort(d(:,i));
k=train_l(index(1:kkk));
if (sum(k)>=1.0)
cl=1;
else
cl=-1;
end
class=[class;cl];
end
QQ=0;QP=0;QN=0;
TP=0;TN=0;FP=0;FN=0;
for i=1:Q
if (test_l(i)==1.0)
if (class(i)==1.0)
TP=TP+1;
else
FN=FN+1;
end
elseif(test_l(i)==-1.0)
if (class(i)==-1.0)
TN=TN+1;
else
FP=FP+1;
end
end
end
QQ=(TP+TN)/(TP+TN+FP+FN);
QP=TP/(TP+FN);
QN=TN/(TN+FP);
p=0;n=0;
for i=1:K
if train_l(i)==1
p=p+1;
elseif lable_tr(i)==-1
n=n+1;
end
end
Q_all=[p,n,TP,FN,TN,FP,QP,QN,QQ];
knn.zip_ANN_KNN ANN SVM_SVM KNN 识别_knn svm ann_knn 分类器
版权申诉
118 浏览量
2022-09-20
19:36:52
上传
评论
收藏 725B ZIP 举报
Kinonoyomeo
- 粉丝: 74
- 资源: 1万+
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈