资源简介
matlab 朴素贝叶斯算法 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);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1897 2011-04-14 23:52 KNN.m
文件 2708 2010-03-22 14:39 iris.csv
----------- --------- ---------- ----- ----
4605 2
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论