这里给出加州住房的例子,大家转载时请尊重版权,本例已列入新书《支持向量机的工程应用》,李应红,尉询楷编著,新书已正式开编,希望大家多提意见,

获得统计参数

for ii=1:100

cal_housing_data;

start=cputime;

%!svmtrain -s 0 -t 2 -g num2str(sigma) training.dat model.dat

dos(['svmtrain -s 3 -c 500 cal_housing_train.dat model.dat'])

train_time(ii)=cputime-start

params = libsvm2mat('model.dat');

No_sv(ii)=params.total_sv

dos(['svm-predict cal_housing_train.dat model.dat validation.txt'])

load validation.txt;

train_accuracy(ii)=sqrt(validation(end-1))

start1=cputime;

dos(['svm-predict cal_housing_test.dat model.dat validation1.txt'])

load validation1.txt

test_time(ii)=cputime-start1

test_accuracy(ii)=sqrt(validation1(end-1))

clear validation validation1 start start1;

end

av_train_time=mean(train_time);

dev_train_time=std(train_time);

av_test_time=mean(test_time);

dev_test_time=std(test_time);

av_train_accuracy=mean(train_accuracy);

dev_train_accuracy=std(train_accuracy);

av_test_accuracy=mean(test_accuracy);

dev_test_accuracy=std(test_accuracy);

av_No_sv=mean(No_sv);

save test1.mat;

%%%%%%%%%%%%%%%%%%%%

子程序

function params = libsvm2mat(fname)

%LIBSVM2MAT LibSVM to MATLAB conversion

% usage:

% params = libsvm2mat(model_file_name)

% or if you have a data file you would like to load

% params = libsvm2mat(data_file_name)

fid = fopen(fname,'r');

if (fid == -1), error(sprintf('%s not found!',fname')); end

while 1,

tline = fgetl(fid);

if ~ischar(tline), break, end

I = [findstr(tline,' ') length(tline)+1];

switch tline(1(1)-1),

case 'total_sv',

params.total_sv = sscanf(tline(I(1):end),'%f');

otherwise, % assume this to be a data file, double check if its true:

if isempty(str2num(tline(1(1)-1))),

disp([tline(1(1)-1) ' ignored!']);

else

k = 0;

while 1,

k = k + 1;

if ~ischar(tline), break, end

tline(find(tline == ':')) = ' ';

values = sscanf(tline, '%f')';

% params.y(k,1) = values(1);

%params.X(k, values(2:2:end)) = values(3:2:end);

tline = fgetl(fid);

end

end

end

end

fclose(fid);

%%%%%%%%%%%%%%%%%%%%%%%%%%

数据格式的生成

function cal_housing_data

%

%This file is used to load boston original data and generate random

%validation and test data.

% Created by skyhawk,2004.7.24

%

% function califonia_data

% %

%This file is used to load boston original data and generate random

%validation and test data.

% Created by skyhawk,2004.7.24

%

load cal_housing.data;

who

dataset=cal_housing;

rand_sequence=randperm(size(dataset,1));

temp_dataset=dataset;

dataset=temp_dataset(rand_sequence, ;

%预处理

for i=1:size(dataset,2)

if max(dataset(:,i))~=min(dataset(:,i))

dataset(:,i)= (dataset(:,i)-min(dataset(:,i)))/(max(dataset(:,i))-min(dataset(:,i)));

% dataset(:,i)=(dataset(:,i)-mean(dataset(:,i)))/(std(dataset(:,i)));

else

dataset(:,i)=0;

end

end

P1=dataset(1:8000,1:size(dataset,2)-1);

T1=dataset(1:8000,size(dataset,2));

%Obtain Random Validation Matrix

X=dataset(8001:size(dataset,1),1:size(dataset,2)-1);

Y=dataset(8001:size(dataset,1),size(dataset,2));

fid1 = fopen('cal_housing_train.dat','w');

for i=1:size(P1,1)

fprintf(fid1,'%2.8f ',T1(i,1));

for j=1:size(P1,2)

fprintf(fid1,' %d:%2.8f',j, P1(i,j)); % for SVM

end

fprintf(fid1,'\n');

end

fclose(fid1);

fid1 = fopen('cal_housing_test.dat','w');

for i=1:size(X,1)

fprintf(fid1,'%2.8f ',Y(i,1));

for j=1:size(X,2)

fprintf(fid1,' %d:%2.8f',j, X(i,j)); % for SVM

end

fprintf(fid1,'\n');

end

fclose(fid1);

%%%%%%%%%%

加州的数据网上查的到,大家可以验证

matlab中怎么使用svm,关于如何在Matlab中如何使用libsvm相关推荐

  1. html中写自增数字,WPS word中数字怎么自增 如何在word中设置数字的千位分隔符

    选中某行,列或者某一部分,选择菜单栏的"行和列"->"填充"选项,选择序列选项. 在弹出的窗口中设置你需要的选项. WPS文字怎样自动增加数字 如何在WP ...

  2. 画出序列的图形matlab,江恩时间序列怎么画,如何在matlab上绘制基于时间序列的图形...

    Q1:如何在matlab上绘制基于时间序列的图形 ..flag.. Q2:怎样用spss软件画出时间序列图 第一步:定义时间.步骤:数据-定义日期.有许多种日期模式,依实际情况定. 第二步:创建模型. ...

  3. shell中竖线的作用_如何在 Linux 中安装、配置和使用 Fish Shell?

    每个 Linux 管理员都可能听到过 shell 这个词.你知道什么是 shell 吗? 你知道 shell 在 Linux 中的作用是什么吗? Linux 中有多少个 shell 可用? -- Ma ...

  4. html中看到php代码_如何在HTML中嵌入PHP代码

    如何在HTML中嵌入PHP代码 对于一个有经验的 PHP Web 开发者,在HTML中嵌入PHP代码是一件非常容易的事情.但是对于刚开始接触 PHP 编程语言的新手这就是一个问题.下面是小编为大家带来 ...

  5. 在dw中如何调试html代码,如何在 Dreamweaver 中优化和调试代码 - Dreamweaver 用户指南...

    了解如何在 Dreamweaver 中清除代码.检查浏览器兼容性.验证 XML 文档并使页面符合 XHTML 规范. 清理代码 您可以自动删除空标签,合并嵌套 font 标签,以及通过其它方法改善杂乱 ...

  6. ai中如何插入签名_如何在PDF中插入一个或多个空白页?

    在编辑或修改PDF文档时,一般都需要新增空白页后再添加文本或图片等内容,那么如何在PDF中插入一个或多个空白页呢? 首先打开极速PDF编辑器,或打开需要编辑的PDF文档后,点击右上角"文档& ...

  7. eval在python中是什么意思_如何在Python中使用eval ?

    Python中的 eval是什么? 在Python中,我们有许多内置方法,这些方法对于使Python成为所有人的便捷语言至关重要,而eval是其中一种.eval函数的语法如下: eval(expres ...

  8. python中while语句是_如何在Python中使用while语句[适合初学者]

    while语句是重复循环的语句,那么如何用Python编写,下面Gxl网就带领大家来学习一下Python中使用while语句.[推荐阅读:Python视频教程] 一:什么是while语句?Python ...

  9. thinkphp中如何使用PHP函数,如何在ThinkPHP中使用函数进行回调

    如何在ThinkPHP中使用函数进行回调 发布时间:2020-12-23 15:11:45 来源:亿速云 阅读:85 作者:Leah 本篇文章为大家展示了如何在ThinkPHP中使用函数进行回调,内容 ...

最新文章

  1. CentOS 6.2下log4cplus的使用
  2. eclipse创建springboot项目_创建一个 Spring Boot 项目,你会几种方法?
  3. jquery中动态效果
  4. OpenCV图像增强(一)——多尺度视网膜增强
  5. nginx动静分离配置_nginx动静分离实战
  6. 1.Jenkins 在windows下的安装与配置
  7. CTF——PHP审计——变量覆盖
  8. 全面预测我国量子通信市场规模及发展趋势
  9. H5页面随机数字键盘支付页面
  10. 2014全国计算机二级ms office,2014计算机二级MS Office真题及答案
  11. python中如何比较两个列表_python中如何比较两个列表
  12. 英语国家的学生学语法么?_纪念国家语法日
  13. maven的java web项目启动找不到Spring ContextLoaderListener的解决办法
  14. (50)Vue Router插件介绍
  15. java之的读取文件大全
  16. Atitit 概念:数据、信息、知识 目录 1. 艾提拉提出的 信息金字塔 数据 信息 知识 智慧 1 1.1. 洞见级别金字塔 数据 信息 知识 2 1.2. 数据 信息 知识韦恩图 3 1
  17. 酒店客房管理系统安排 Java项目 毕业设计项目不用愁
  18. 如何改写(paraphrase)英文句子?
  19. 去除WordPress网站链接中“category”的四种方法
  20. 拼车小程序的市场应用与外包开发的建议

热门文章

  1. 中国内联热水器市场现状研究分析与发展前景预测报告
  2. android sqlite union,SQLite Unions 子句
  3. JS键盘监听事件:onkeydown、onkeypress、onkeyup
  4. 【语音识别】Kaldi相关工具包及示例数据介绍
  5. Luogu P1376 机器工厂
  6. 如何分析UI设计作品
  7. CAP2RSK.exe
  8. mongodb的基本crud操作
  9. ID选择器和类选择器的合理使用
  10. 感谢老婆的悉心照料!:)