资源简介
对鸢尾花数据进行分类,使用KNN算法,可直接在matlab上运行。

代码片段和文件信息
load ‘iris.csv‘;
Value1 = mean(iris(:1:4));%前4列求均值
Value2 = std(iris(:1:4));%前4列求标准差
Data = zeros(1505);
for i = 1:4
Data(:i) = (iris(:i) - Value1(i)) / Value2(i);%前4列归一化处理
end
Data(:5) = iris(:5);
training_set = [Data(1:ceil(50*2/3):); Data(51:50 + ceil(50*2/3):); Data(101:100 + ceil(50*2/3):)];%取每类的前2/3作为训练集
test_set = [Data(ceil(50*2/3) + 1:50:); Data(51 + ceil(50*2/3):100:); Data(101 + ceil(50*2/3):150:)];%取每类的后1/3作为测试集
class = test_set(:5);%记录类标
test_set(:5) = 0;
k = 5;
dist_class = zeros(size(training_set1)2);%存放测试欧几里德距离
for i = 1:size(test_set1)
for j = 1:size(training_set1)
dist_class(j1) = norm(test_set(i1:4) - training_set(j1:4));
dist_class(j2) = training_set(j5);
end
[BIX] = sort(dist_class1);%对距离排列
mindc = B(1:k:)%取k个最近的临近点
for ii = 1:k
if (IX(ii1) ~= ii)
mindc(ii2) = dist_class(IX(ii1)2);
else
mindc(ii2) = dist_class(ii2);
end
end
class1_num = size(find(mindc(:2) == 1)1);%最近点中,第1类的个数
class2_num = size(find(mindc(:2) == 2)1);
class3_num = size(find(mindc(:2) == 3)1);
if (max([class1_numclass2_numclass3_num]) == class1_num)
test_set(i5) = 1;
fprintf(‘#%d test example: class is 1\n‘i);
elseif (max([class1_numclass2_numclass3_num]) == class2_num)
test_set(i5) = 2;
fprintf(‘#%d test example: class is 2\n‘i);
else
test_set(i5) = 3;
fprintf(‘#%d test example: class is 3\n‘i);
end
end
accurateNum = 0;
for i = 1:size(class1)
if (test_set(i5) == class(i))
accurateNum = accurateNum + 1;
end
end
accuracy = accurateNum / size(class1);
fprintf(‘KNN算法:%f\n‘accuracy);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2708 2010-03-22 14:39 knn\iris.csv
文件 1897 2011-04-14 23:52 knn\KNN.m
目录 0 2012-06-02 21:14 knn
----------- --------- ---------- ----- ----
4605 3
相关资源
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 《MATLAB 智能算法超级学习手册》-程序
- 读取txt文件内容matlab代码实现
- 算术编码解码matlab源代码
- OFDM系统MATLAB仿真代码
- 图像小波变换MatLab源代码
- 细胞图像分割matlab代码
- 基于MP的时频分析MATLAB代码
- 工程优化问题的Matlab实现代码
- WCDMA matlab代码
- 数字图像处理radon matlab变换算法代码
- 数字信号处理 理论算法与实现 胡广书
- 激光谐振腔课程设计(matlab)exe及源
- 基于harris算法的角点检测matlab原代码
- 北邮Matlab实验报告和代码
- 图像降噪Matlab代码
- matlab人脸识别和特征提取
- 圣诞树(matlab代码)
- 心音信号处理分析(附matlab代码)
- Pattern Recognition and Machine Learning(高清
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- 多目标跟踪 论文+代码
- 欧拉放大论文及matlab代码
- 蚁群算法论文+源代码
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- matlab读取SP3文件
- 手把手教你学DSP--基于TMS320C55x光盘 含
评论
共有 条评论