KNN的matlab简单实现代码
2011-03-26 21:38
459 查看
function target=KNN(in,out,test,k)
% in: training samples data,n*d matrix
% out: training samples' class label,n*1
% test: testing data
% target: class label given by knn
% k: the number of neighbors
ClassLabel=unique(out);
c=length(ClassLabel);
n=size(in,1);
% target=zeros(size(test,1),1);
dist=zeros(size(in,1),1);
for j=1:size(test,1)
cnt=zeros(c,1);
for i=1:n
dist(i)=norm(in(i,:)-test(j,:));
end
[d,index]=sort(dist);
for i=1:k
ind=find(ClassLabel==out(index(i)));
cnt(ind)=cnt(ind)+1;
end
[m,ind]=max(cnt);
target(j)=ClassLabel(ind);
end
% in: training samples data,n*d matrix
% out: training samples' class label,n*1
% test: testing data
% target: class label given by knn
% k: the number of neighbors
ClassLabel=unique(out);
c=length(ClassLabel);
n=size(in,1);
% target=zeros(size(test,1),1);
dist=zeros(size(in,1),1);
for j=1:size(test,1)
cnt=zeros(c,1);
for i=1:n
dist(i)=norm(in(i,:)-test(j,:));
end
[d,index]=sort(dist);
for i=1:k
ind=find(ClassLabel==out(index(i)));
cnt(ind)=cnt(ind)+1;
end
[m,ind]=max(cnt);
target(j)=ClassLabel(ind);
end
相关文章推荐
- KNN的matlab简单实现代码
- 【KNN近邻算法】实现识别简单数字验证码(算法原理+代码笔记)
- ANN神经网络代码在Matlab中的简单实现
- KNN算法matlab代码实现
- 最简单的区块链实现,不到50行代码!(一)
- 图像缩放插值算法以及matlab简单实现(最近邻法、双线性插值法、三次卷积法)
- 5行Python代码实现一个简单的在线英汉词典
- python 统计代码行数,注释行数的简单实现
- java学习之利用TCP实现的简单聊天示例代码
- JS Map 和 List 的简单实现代码
- JS实现简单的时分秒倒计时代码
- Spring MVC代码实例系列-09:Spring MVC配置Freemarker实现页面静态化的简单实例
- ios代码实现Autolayout(自动布局)的简单讲解
- 深度学习FPGA实现基础知识7(深度学习Matlab工具箱代码详解)
- jquery 无限级下拉菜单的简单实现代码
- C#实现简单的JSON序列化功能代码实例
- 《统计学习方法》+朴素贝叶斯算法+C++代码(简单)实现
- iOS开发之UI基础--纯代码自定义UItableviewcell实现一个简单的微博界面布局
- 线性回归问题简单实现matlab
- js简单倒计时实现代码