matlab中plot矢量长度,关于plot函数矢量长度弹错的问题
%% 清空环境变量
clear all
clc
%% 导入数据
load BreastTissue_data.mat
% 随机产生训练集和测试集
n = randperm(size(matrix,1));
% 训练集——80个样本
train_matrix = matrix(n(1:80),:);
train_label = label(n(1:80),:);
% 测试集——26个样本
test_matrix = matrix(n(81:end),:);
test_label = label(n(81:end),:);
%% 数据归一化
[Train_matrix,PS] = mapminmax(train_matrix');
Train_matrix = Train_matrix';
Test_matrix = mapminmax('apply',test_matrix',PS);
Test_matrix = Test_matrix';
%% SVM创建/训练(RBF核函数)
% 寻找最佳c/g参数——交叉验证方法
[c,g] = meshgrid(-10:0.2:10,-10:0.2:10);
[m,n] = size(c);
cg = zeros(m,n);
eps = 10^(-4);
v = 5;
bestc = 1;
bestg = 0.1;
bestacc = 0;
for i = 1:m
for j = 1:n
cmd = ['-v ',num2str(v),' -t 2',' -c ',num2str(2^c(i,j)),' -g ',num2str(2^g(i,j))];
cg(i,j) = svmtrain(train_label,Train_matrix,cmd);
if cg(i,j) > bestacc
bestacc = cg(i,j);
bestc = 2^c(i,j);
bestg = 2^g(i,j);
end
if abs( cg(i,j)-bestacc )<=eps && bestc > 2^c(i,j)
bestacc = cg(i,j);
bestc = 2^c(i,j);
bestg = 2^g(i,j);
end
end
end
cmd = [' -t 2',' -c ',num2str(bestc),' -g ',num2str(bestg)];
% 创建/训练SVM模型
model = svmtrain(train_label,Train_matrix,cmd);
%% SVM仿真测试
[predict_label_1,accuracy_1] = svmpredict(train_label,Train_matrix,model);
[predict_label_2,accuracy_2] = svmpredict(test_label,Test_matrix,model);
result_1 = [train_label predict_label_1];
result_2 = [test_label predict_label_2];
%% 绘图
figure
plot(1:length(test_label),test_label,'r-*')
hold on
plot(1:length(test_label),predict_label_2,'b:o')
grid on
legend('真实类别','预测类别')
xlabel('测试集样本编号')
ylabel('测试集样本类别')
string = {'测试集SVM预测结果对比(RBF核函数)';
['accuracy = ' num2str(accuracy_2(1)) '%']};
title(string)
matlab中plot矢量长度,关于plot函数矢量长度弹错的问题相关推荐
- matlab得到计算机时间,Matlab中处理日期与时间的函数
Matlab用三种格式来表示日期与时间 (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示 ...
- 将函数当做参数 matlab,Matlab中如何将(自定义)函数作为参数传递给另一个函数...
假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...
- matlab中饼图绘制程序,MATLAB中绘制二维饼图的函数是(? ? ) (1.5分)
MATLAB中绘制二维饼图的函数是(? ? ) (1.5分) 答:pie 计算机的内存储器比外存储器读写速度 ______ 答:快 新民主主义革命时期,提出了反帝反封建这个任务就等于真正懂得了什么叫反 ...
- MatLab中的多项式拟合(lsqcurvefit函数的非线性曲线拟合)
MatLab中的多项式拟合(lsqcurvefit函数的非线性曲线拟合) lsqcurvefit函数 函数原型 x=lsqcurvefit(fun, x0, xdata, ydata) == 其中的参 ...
- MatLab中rand randi randn 三个函数的解析
MatLab中rand randi randn 三个函数的解析 1.rand 概括:生成(0,1)之间的均匀分布的伪随机数 示例1: >>rand %什么参数也没有,生成一个(0,1)的数 ...
- Matlab中一维和二维滤波函数及其典型用法【随时更新】
Matlab中一维和二维滤波函数及其典型用法[随时更新] 一维滤波函数 均值滤波器movmean 中值滤波器movmedian 二维滤波函数 用fspecial预定义各种二维滤波器 主要用于自查,如果 ...
- matlab对数收益直方图,科学网—MATLAB中绘制数据直方图的新函数histogram2 - 王福昌的博文...
MATLAB中有命令hist3() 可以绘制直方图,竖坐标是频数,这与一些教科书中用纵轴表示频率的做法不一致,有些时候不便于使用.当然,使用者可以自己编写定制能够在纵轴绘出频率的直方图.在MATLAB ...
- MATLAB中画折线图:plot函数的简单用法
20年4月24日更新 关于MATLAB里柱状图的画法,以及如何在图例legend和轴标签xlabel里加入latex公式,请参考 https://blog.csdn.net/u014261408/ar ...
- Matlab中filter.m和filtfilt.m函数C语言实现
一.一些基础知识 filter.m函数是依据z变换的一些知识进行的滤波方法. filtfilt.m则还有另一个名字是零相位滤波,顾名思义,通过filtfilt函数滤波后的信号,幅值会发生变化,但相位不 ...
- matlab中BS公式解析,在Matlab中以与R的bs()函数相同的方式计算B样条基
我在Matlab中寻找(一个理想的内置)函数,它以与R中相同的方式计算B样条基矩阵,例如对于具有20个等间距3度结的样条基础,我会在R中做 require(splines) B = bs(x = se ...
最新文章
- 【组队学习】【32期】统计学习方法习题实战
- 未来耳机可能将成为最强大的健康监护仪
- 数据库-优化-案例-max()函数优化
- Flink的基于ValueState的状态机
- Maven详解及实例
- wordpress安装到虚拟服务器,将WordPress安装在虚拟主机二级目录的方法
- 中文乱码之springboot框架中两工程之间参数传递乱码
- ubuntu and freesurfer 安装手册
- 【转】总结oninput、onchange与onpropertychange事件的用法和区别
- Android数据库hibernate框架
- OwnCloud 搭建
- STLink MID Keli Debug下载程序时候出现cannot access target shutting down debug session的解决
- x86汇编_间接寻址-间接操作数_笔记_11
- 一篇彻底搞懂-->shell脚本
- LeeCode 1467 dfs + 组合数
- Python爬虫,爬取2020年软科中国大学排名并进行数据清洗与可视化输出
- VUE获取节日(中国节+国际节)
- MNI模板和Talairach模板的区别
- 计算机基础----冯诺依曼体系结构
- 哈佛管理论丛-谁背上了猴子(转)
热门文章
- Visual Haze Removal by a Unified GenerativeAdversarial Network(基于生成式对抗网络的图像去雾IEEE2019)
- 成长三部曲(一):成长的底层逻辑
- 传奇人物赫伯特·西蒙的原则
- 微信打开页面,提示到浏览器上打开
- 从头开始学51单片机之4:C51程序设计基础
- Linux中Kill进程的N种方法
- iphone手机视频和照片永久删除还能恢复吗?
- International Classification for Standards 国际标准分类号
- css线性渐变linear-gradient 参数讲解以及示例
- 安装主机及服务器系统