k=[1,3,5,10,15,20,30,40,50,60,70,80,90,100];
i=1;
p=[];
label=[];
correct=[];
false0=[];
false1=[];
testnumber=[];
testnumber=[2000,3000,5000,8000,10000];
for x=1:5
%maliciousdata=0;
testnum=testnumber(x); %用来测试的数据量
% while(i<testnum)
% if test.labels(i,:)==1
% maliciousdata=maliciousdata+1;
% end
% i=i+1;
% end
for i=1:14
correct(i)=0;
false0(i)=0;
false1(i)=0;
end
for j=1:14
i=1;
while (i<=testnum)
if dist_benign(ceil(k(j)/2),i) < dist_malicious(ceil(k(j)/2),i)
label(i,:)=0;
else
label(i,:)=1;
end
%判断结果与原值的差的绝对值
p(i,:)=abs(label(i,:)-test.labels(i,:));
if p(i,:)==0 %判断结果与原值相同
correct(j)=correct(j)+1;
else
if test.labels(i,:)==0 && label(i,:)==1
%原值为良性,判断成恶性
false0(j)=false0(j)+1;
else
%原值为恶性,判断成良性
false1(j)=false1(j)+1;
end
end
i=i+1;
end
plot(k(j),correct(j)/testnum,'*r');
hold on;
if j>1
if x==1
plot([k(j-1),k(j)],[correct(j-1)/testnum,correct(j)/testnum],'Color','g');
hold on;
end
if x==2
plot([k(j-1),k(j)],[correct(j-1)/testnum,correct(j)/testnum],'Color','c');
hold on;
end
if x==3
plot([k(j-1),k(j)],[correct(j-1)/testnum,correct(j)/testnum],'Color','b');
hold on;
end
if x==4
plot([k(j-1),k(j)],[correct(j-1)/testnum,correct(j)/testnum],'Color','m');
hold on;
end
if x==5
plot([k(j-1),k(j)],[correct(j-1)/testnum,correct(j)/testnum],'Color','r');
hold on;
end
end
% xlswrite(['k_',num2str(k(j)),'.xlsx'],test.labels,'sheet1','1A');
% xlswrite(['k_',num2str(k(j)),'.xlsx'],label,'sheet1','1B');
% xlswrite(['k_',num2str(k(j)),'.xlsx'],p,'sheet1','1C');
%
% xlswrite(['k_',num2str(testnum-1),'.xlsx'],k(j),'sheet2',[num2str(j),'A']);
% xlswrite(['k_',num2str(testnum-1),'.xlsx'],correct(j)/testnum,'sheet2',[num2str(j),'B']);
% xlswrite(['k_',num2str(testnum-1),'.xlsx'],false0(j)/testnum,'sheet2',[num2str(j),'C']);
% xlswrite(['k_',num2str(testnum-1),'.xlsx'],false1(j)/testnum,'sheet2',[num2str(j),'D']);
end
end
legend('1000','2000','3000','4000','5000');
ylabel('正确率');
xlabel('k值');
title('正确率随K值的变化情况');
axis([0,100,0.7,1.0]);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于matlab实现的KNN算法机器学习项目源码+数据集+项目说明+代码注释.zip 【项目介绍】 基于KNN算法的机器学习 因为数据为MATLAB的数据格式,所以该算法基于MATLAB开发,比较小众 数据存储在url.mat中 xlsx文件为运行时导出文件,存储的都是调试时产生的数据 .m文件为算法具体实现 untitled3是绘制ROC曲线的函数 因为数据相对较大,无法上传,请访问下方网站中的URLdata获取 http://www.sysnet.ucsd.edu/projects/url/
资源推荐
资源详情
资源评论
收起资源包目录
基于matlab实现的KNN算法机器学习项目源码+数据集+项目说明+代码注释.zip (14个子文件)
项目说明.md 409B
code
alldistance.m 661B
图
折线1.fig 55KB
折线2.fig 31KB
折线.fig 56KB
点状.fig 2.26MB
ͼ
ROC.fig 88KB
zhexian.m 402B
distance.m 114B
calculate.m 3KB
untitled.m 2KB
benignData.m 397B
ROC.m 1KB
maliciousData.m 400B
共 14 条
- 1
Make程序设计
- 粉丝: 5623
- 资源: 3567
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 词向量-中文文本相似度计算-采用text2vec词向量工具进行计算对比.zip
- 521293804316625base(1).apk
- ARP IP地址分类及特殊IP
- 【MySQL补丁】vcredist-x64xz MySQL必备插件
- 基于SG3525芯片PWM控制推挽隔离DCDC电源模块AD09设计硬件(原理图+PCB)工程文件.zip
- Word_20240428_092324.docx
- cloudcc_v1.1.10-release_sign.apk
- 基于javaweb(jsp)实现的图书购物网站,基于JSP(MVC模式)和MySQL的网上图书购物系统
- fhdishfifdsf
- javassm源码上传图片功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页