KNN近邻分类器
百度网盘视频链接:视频链接:http://pan.baidu.com/s/1bp1qTX1
录制的视频是算法底层原理讲解,底层代码实现,方便大家真正掌握算法实质,开发出更加出色的算法。录制视频的初衷是:避免读者朋友利用大把时间学习已有常见算法,本系列视频旨在让读者朋友快速深入了解这些常见算法原理,有更多的时间去研究更加高大上算法(价值)。
具体链接在halcom.cn论坛,联系人QQ:3283892722
该论坛是一个学习交流平台,我会逐一的和大家分享学习。
欢迎大家录制视频,并提交给我,我来设置视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1
KNN近邻分类器,机器学习的敲门砖,最简单的代码如下:clc,clear,close all
% k of k-nearest neighbors
Knn = 4 ;
% 测试样本
testsamplesX = ';
% 训练样本
samplesX = ';
% 训练样本标签
samplesY = ';
L = length(samplesY); % 训练样本数量
Uc = unique(samplesY);% 类别
N = size(testsamplesX, 1);% 测试样本数量
result = zeros(N,1); % 初始化结果
for i=1:N % 分类每一个测试样本
testdata = testsamplesX(i,:);% 取出当前待分类的样本
for j=1:L
dist(j) = norm( testdata-samplesX(j,:) , 2 );
end
= sort(dist,'ascend');% 升序
indices = samplesY( index(1:Knn) );
nn = hist(indices, Uc);
= max(nn);
result(i) = Uc(best);
end
具体的流程如下:
【1】构建训练样本、训练样本标签、测试样本
【2】参数初始化Knn
【3】训练样本和测试样本归一化处理
【4】主循环
【5】取测试样本
【6】计算测试样本与所有训练样本的欧式距离
【7】依次选取Knn个最小距离值
【8】统计Knn个距离值对应的标签频数
【9】将频数最大的标签作为当前测试样本的分类标签
【10】输出最终结果
很棒的,感谢博主
页:
[1]