libsvm使用matlab训练为空,新人急:使用libsvm中的函数=svmpredict预测输出为空。
上次的帖子没有人回复,我顶了一下,结果变成“已答复”了。所以重新发一遍。
【问题来源】本论坛出版的《MATLAB神经网络30个案例分析》中的第12个案例 SVM神经网络的数据分类预测-葡萄酒种类识别
【程序代码】%使用了林教授最新版SVM工具箱,且已正确安装和编译。程序代码我自己未作什么改动。
close all;
clear;
clc;
format compact;
% 载入测试数据wine,其中包含的数据为classnumber = 3,wine:178*13的矩阵,wine_labes:178*1的列向量
load chapter12_wine.mat;
% 画出测试数据的box可视化图
figure;
boxplot(wine,'orientation','horizontal','labels',categories);
title('wine数据的box可视化图','FontSize',12);
xlabel('属性值','FontSize',12);
grid on;
% 画出测试数据的分维可视化图
figure
subplot(3,5,1);
hold on
for run = 1:178
plot(run,wine_labels(run),'*');
end
xlabel('样本','FontSize',10);
ylabel('类别标签','FontSize',10);
title('class','FontSize',10);
for run = 2:14
subplot(3,5,run);
hold on;
str = ['attrib ',num2str(run-1)];
for i = 1:178
plot(i,wine(i,run-1),'*');
end
xlabel('样本','FontSize',10);
ylabel('属性值','FontSize',10);
title(str,'FontSize',10);
end
% 选定训练集和测试集
% 将第一类的1-30,第二类的60-95,第三类的131-153做为训练集
train_wine = [wine(1:30,:);wine(60:95,:);wine(131:153,:)];
% 相应的训练集的标签也要分离出来
train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];
% 将第一类的31-59,第二类的96-130,第三类的154-178做为测试集
test_wine = [wine(31:59,:);wine(96:130,:);wine(154:178,:)];
% 相应的测试集的标签也要分离出来
test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)];
[mtrain,ntrain] = size(train_wine);
[mtest,ntest] = size(test_wine);
dataset = [train_wine;test_wine];
% mapminmax为MATLAB自带的归一化函数
[dataset_scale,ps] = mapminmax(dataset',0,1);
dataset_scale = dataset_scale';
train_wine = dataset_scale(1:mtrain,:);
test_wine = dataset_scale( (mtrain+1):(mtrain+mtest),: );
%SVM网络训练
model = svmtrain(train_wine_labels, train_wine, '-c 2 -g 1');
%SVM网络预测
%此句输入出现问题,输出为空。图可以正常输出,只是predict_label, accuracy输出为空。
[predict_label, accuracy] = svmpredict(test_wine_labels, test_wine, model);
% 测试集的实际分类和预测分类图% 通过图可以看出只有一个测试样本是被错分的figure;hold on;plot(test_wine_labels,'o');
plot(predict_label,'r*');xlabel('测试集样本','FontSize',12);
ylabel('类别标签','FontSize',12);legend('实际测试集分类','预测测试集分类');
title('测试集的实际分类和预测分类图','FontSize',12);grid on;
【运行出现的问题】
Usage: [predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')
[predicted_label] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')
Parameters:
model: SVM model structure from svmtrain.
libsvm_options:
-b probability_estimates: whether to predict probability estimates, 0 or 1 (default 0); one-class SVM not supported yet
-q : quiet mode (no outputs)
Returns:
predicted_label: SVM prediction output vector.
accuracy: a vector with accuracy, mean squared error, squared correlation coefficient.
prob_estimates: If selected, probability estimate vector.
>> predict_label
predict_label =
[]
>> accuracy
accuracy =
[]
我希望看到预测和精度的输出结果,但不知为什么输出为空。
libsvm使用matlab训练为空,新人急:使用libsvm中的函数=svmpredict预测输出为空。相关推荐
- mysql判断不等于空的脚本_Shell脚本中判断输入变量或者参数是否为空的方法
1.判断变量 复制代码代码如下: read -p "input a word :" word if [ ! -n "$word" ] ;then echo & ...
- LIBSVM在Matlab下的使用
支持向量机(SVM,Support Vector Machine)是一种基于统计学习理论的模式识别方法,在解决小样本.高维度及非线性的分类问题中应用非常广泛. LIBSVM是一个由台湾大学林智仁(Li ...
- LIBSVM在Matlab下的使用和LIBSVM的matlab软件下README全文翻译
1.简介 我们每次用matlab编写SVM模型做预测和分类时,就会需要用到这个工具包,当然现在新版本有matlab自带的工具APP,可以完成支持向量机(SVM),不需要写代码,因此就不需要安装工具包. ...
- LibSVM 在matlab中的使用
搞了一天,看了很多资料,终于搞好了matlab中调用大牛写好的svm库,将结果告诉大家避免以后走弯路. 1. 参考网站: libsvm库下载:http://www.csie.ntu.edu.tw/~c ...
- LIBSVM在MATLAB中的使用及SVM最优参数选取示例代码
1. 参考网站: LIBSVM 库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ https://www.csie.ntu.edu.tw/~cjlin/lib ...
- matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题
在科研中需要用到支持向量机(Support Vector Machines, SVM)来进行分类,而目前比较成熟的用于实现SVM的软件包则首推LibSVM.LibSVM目前的版本已经能直接在MATLA ...
- matlab的libsvm程序,matlab中安装Libsvm 步骤
源自:http://blog.sina.com.cn/s/blog_4fe347e60101h5uz.html 一.下载libsvm 在libsvm的网站上下载 libsvm-3.12.zip文件,解 ...
- 台湾大学林教授libsvm在matlab的安装
台湾大学林教授libsvm在matlab的安装 下载libsvm文件 将整个libsvm文件复制到matlab的toolbox中 在matlab中设置路径 运行与纠错(mex -setup) 参考: ...
- libsvm在matlab中使用的常见错误及libsvm的使用
以下是libsvm的使用及常见错误 1.Error using svmtrain (line 233) Y must be a vector or a character array. 首先,需要看你 ...
最新文章
- cent os mysql下载_Cent OS 6.4安装mysql
- 学习编程做笔记的软件_可以在图片上做笔记的软件
- 算法提高课-搜索-多源BFS-AcWing 173. 矩阵距离:bfs、多源bfs
- Flow Problem
- 安卓桌布显示的dip和px
- 使用混合多云每个人都应避免的3个陷阱(第3部分)
- 解决docker中运行scrapy使用chrome selenium报错InvalidSessionIdException: Message: invalid session id
- 技术小故事-Activity的Launch Mode引起的动画“疑案”
- 360浏览器清除缓存_放飞浏览器的反应速度
- ARP解决方法/工具+真假ARP防范区别方法+ARP终极解决方案
- 超像素分割算法(SLIC)
- 什么是万物互联(IoE)?与物联网(IoT)的区别是什么?
- 想要感受三星S8屏幕的震撼 先过APP适配这道坎
- 服务器显示器出现actions,微软已修复Win10中Action Center显示在屏幕左侧问题
- Excel 划分各分数段并统计各分数段的人数
- 【论文笔记】课堂学习行为测量系统的设计与实现
- 新浪服务器mysql_php新浪云链接mysql与storage
- 因子分析和主成分分析
- 使用麦克风和Arduino测量以dB为单位的声音/噪声水平
- java 实现 手机接收短信验证码功能