资源简介
matlab knn算法 iris数据集
代码片段和文件信息
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 iris.csv
文件 1897 2011-04-14 23:52 KNN.m
----------- --------- ---------- ----- ----
4605 2
相关资源
- 傅里叶梅林FourierMellin实现图像配准
- 非线性方程组求解matlab程序
- 用matlab演示行波的程序
- AdaBoost在matlab下的简单实现
- 基于MATLAB的行人检测代码
- 阵列信号处理的理论和应用 MATLAB 程序
- 分步傅里叶法Matlab代码共享代码
- matlab基于knn算法的adaboost实现
- apriori 频繁项集与关联规则 算法的m
- 基于Matlab的H_inf鲁棒控制器的设计
- matlab人眼识别代码
- ATM matlab 程序
- LU分解法的matlab实现
- 遗传算法VRP的matlab程序
-
HEV matlab/simuli
nk仿真模型 - kappa系数的MATLAB程序
- 扩展有限元源码
- Matlab基于窗函数的滤波器设计
- 阻尼牛顿法求函数极小值
- 基于遗传算法的排课问题的matlab实现
- 麻省理工matlab公开课课后答案
- MATLAB基于DCT图像压缩
- 人工免疫matlab工具箱
- Matlab三次指数平滑算法
- matlab的qpsk通信仿真
-
低压svg的MATLAB simuli
nk 仿真 - 图像旋转变换(matlab实现)
- L-BFGS的MATLAB代码208770
- 地心坐标系转换为地理坐标系
- 小波边缘检测,matlab程序
评论
共有 条评论