问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用libsvm进行回归预测

发布网友 发布时间:2022-04-26 09:34

我来回答

1个回答

热心网友 时间:2022-04-12 11:33

<1> 下载Libsvm、Python和Gnuplot。我用的版本分别是:Libsvm(2.8.1),Python(2.4),Gnuplot(3.7.3)。注意:Gnuplot一定要用3.7.3版,3.7.1版的有bug.

<2> 修改训练和测试数据的格式(可以自己用perl编个小程序):
目标值 第一维特征编号:第一维特征值 第二维特征编号:第二维特征值 ...
...
例如:
2.3 1:5.6 2:3.2
表示训练用的特征有两维,第一维是5.6,第二维是3.2,目标值是2.3

注意:训练和测试数据的格式必须相同,都如上所示。测试数据中的目标值是为了计算误差用

<3> 分别使用Libsvm中的Windows版本的工具svmscale.exe进行训练和测试数据的归一化,svmtrain.exe进行模型训练,svmpredict.exe进行预测
(1)svmscale.exe的用法:svmscale.exe feature.txt feature.scaled
默认的归一化范围是[-1,1],可以用参数-l和-u分别调整上界和下届,feature.txt是输入特征文件名
输出的归一化特征名为feature.scaled
(2)svmtrtrain.exe训练模型
我习惯写个批处理小程序,处理起来比较方便。例如svm_train.bat中训练语句为:
svmtrain.exe -s 3 -p 0.0001 -t 2 -g 32 -c 0.53125 -n 0.99 feature.scaled
训练得到的模型为feature.scaled.model

具 体的参数含义可以参考帮助文档。这里-s是选择SVM的类型。对于回归来说,只能选3或者4,3表示epsilon-support vector regression, 4表示nu-support vector regression。-t是选择核函数,通常选用RBF核函数,原因在“A Practical Guide support vector classification”中已经简单介绍过了。-p尽量选个比较小的数字。需要仔细调整的重要参数是-c和-g。除非用 gridregression.py来搜索最优参数,否则只能自己慢慢试了。

用gridregression.py搜索最优参数的方法如下:
python.exe gridregression.py -svmtrain H:/SVM/libsvm-2.81/windows/svmtrain.exe -gnuplot C:/gp373w32/pgnuplot.exe -log2c -10,10,1 -log2g -10,10,1 -log2p -10,10,1 -v 10 -s 3 -t 2 H:/SVM/libsvm-2.81/windows/feature.scaled > gridregression_feature.parameter

注意:-svmtrain是给出svmtrain.exe所在路径,一定要是完整的全路径
-gnuplot是给出pgnuplot.exe所在路径。这里要用pgnuplot.exe这种命令行形式的,不要用wgnupl32.exe,这个是图形界面的。
-log2c是给出参数c的范围和步长
-log2g是给出参数g的范围和步长
-log2p是给出参数p的范围和步长
上面三个参数可以用默认范围和步长
-s选择SVM类型,也是只能选3或者4
-t是选择核函数
-v 10 将训练数据分成10份做交叉验证。默认为5
最后给出归一化后训练数据的全路径
搜索最优参数的过程写入文件gridregression_feature.parameter(注意别少了这个>符号啊)

根据搜索到的最优参数修改feature.scaled.model中的参数
(3)用svmpredict.exe进行预测
svmpredict.exe feature_test.scaled feature.scaled.model feature_test.predicted
其中feature_test.scaled是归一化后的测试特征文件名,feature.scaled.model是训练好的模型,SVM预测的值在feature_test.predicted中。
MATLAB SVM回归的工具包安装及相关问题

1. 将libsvm-master文件夹中的Windows和Matlab子文件夹路径添加到MATLAB的路径中,确保完整路径,避免仅添加Matlab文件夹导致问题。2. 在命令行窗口中,如果已安装C++编译环境,可以直接选择相应的环境。打开make.m文件,无需对3.25版本进行内部修改,直接运行。安装完成后,会生成4个.mexw64文件,安装过...

Matlab中libsvm回归怎么做时间序列的单步和多步预测

a(1)=0;for i=2:220 a(i)=0.6*a(i-1)+randn;endtrain_t = 1:200;train = a(train_t);train_t = train_t';train = train';test_t = 1:203;test=a(test_t);test_t = test_t';test = test';[bestmse,bestc,bestg] = SVMcgForRegress(train,train_t,-3,11,-7,1,...

如何利用python使用libsvm

用libsvm自带的脚本grid.py和easy.py,需要去官网下载绘图工具gnuplot,解压到c盘;进入c:\libsvm\tools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存;例子举例 常用接口 提高预测的准确率 ...

什么是支持向量机(SVM)、libsvm及其应用

libsvm作为SVM的开源C++库,简化了SVM的使用,提供快速准确的分类和回归分析。它适用于文本分类、生物信息学、图像分类和特征选择等多种任务,通过核函数处理非线性问题。libsvm的优势包括高效、可扩展和模型参数的灵活性,但可能面临数据不平衡、参数调整和特征选择等挑战。SVM的应用广泛,涉及文本分类、图像...

matlab里用Libsvm得到模型但是无法得到预测精度

options') [predicted_label] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')因此,你要么返回一个predicted_label,要么返回三个。所以程序改成:[predict_label,accuracy, decision_values]=svmpredict(heart_scale_label,heart_scale_inst,model)...

如何使用libsvm进行分类

其实使用libsvm进行分类很简单,只需要有属性矩阵和标签,然后就可以建立分类模型(model),然后利用得到的这个model进行分类预测了。那神马是属性矩阵?神马又是标签呢?我举一个直白的不能在直白的例子:说一个班级里面有两个男生(男生1、男生2),两个女生(女生1、女生2),其中 男生1 身高:176...

FM算法介绍

要使用PAI的FM,数据必须采用libsvm格式,包含特征列和目标列。输入数据示例如图所示。FM训练在参数设置中,可以选择回归或分类模式,使用以下PAI命令进行训练:PAI命令备注:具体命令细节请参阅相关文档。FM预测同样,预测阶段也有相应的PAI命令,具体操作请参照官方指南。PAI命令 值得注意的是,以PAI FM训练...

跪求支持向量回归机SVR源代码(最好是java的,matlab也可以),感激不尽...

最有名的SVM程序包是台湾国立大学的林智仁教授开发的libSVM,直接在Google里面输入寻找官网下载,是C++编写,但有matlab接口,在本地编译后就可以使用,很方便。

如何利用python使用libsvm

1.打开IDLE(pythonGUI),输入&gt;&gt;&gt;importsys&gt;&gt;&gt;sys.version 2.如果你的python是32位,将出现如下字符:(default,Apr102012,23:31:26)[MSCv.150032bit(Intel)]’这个时候LIBSVM的python接口设置将非常简单。在libsvm-3.16文件夹下的windows文件夹中找到动态链接库libsvm.dll,将其添加到系统目录,如`...

怎么在在libsvm 中的matab 路径下运行程序

-libsvm_options:训练的参数,在第3点详细介绍。2. 预测libpredict函数用于对测试集的数据进行测试,还能对未知样本进行预测。[predicted_label, accuracy, decision_values/prob_estimates] = libsvmpredict(testing_label_vector, testing_instance_matrix, model [, 'libsvm_options']);这个函数包括四个参数,其中...

如何用R做libsvm spss回归模型做预测 libsvm使用说明 libsvm回归 libsvm matlab 回归预测 回归预测算法 回归分析预测方法 回归预测模型
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是~直接行销(直接营销) 直接营销方式有哪些 现在基金定投沪深300合适么?麻烦推荐一只沪深300的指数基 在一支试管里放三只火柴,火柴头向下,用橡皮塞轻轻塞住 电脑主机总是黑屏,要重新开才可以,重开之后总是出现写着DSUB的小框框... 悍马路虎到底哪个才是越野之王? 黄山限流是什么意思? 以"我和祖国"为话题的作文300---400字左右 要自己写的 写一篇作文&lt;&lt;歌颂祖国,热爱祖国&gt;&gt;怎么写? 华硕X42JZ 笔记本运行游戏赤壁无法更新? 个人可以成为法人吗? 证明等腰梯形的对角线相等有哪些方法? weka3-6中使用libsvm出现错误:problem evaluating classifier: rand,求高手帮忙解决,小妹感激不尽。 一个人能成为法人吗 等腰梯形对角线与邻边关系? python 怎么安装gnuplot模块 能不能邮寄化妆品防晒霜到美国 如何导入matlab工具箱 如何将化妆品寄到国外? 等腰梯形对角线为什么是等腰三角形 法人能是个人吗 如何利用python使用libsvm 等腰梯形的对角线怎么计算 法人是否可以是个人 从中国邮寄化妆品到美国,请问建议用什么快递方便又便宜? libsvm提供的数据集下载? 法人可不可以是个人呢? 法人与个人的区别 求在MATLAB下编译好(可以直接使用)的libsvm工具箱 如何下载libsvm python 如何从中国寄化妆品到美国 怎么收费 有办法寄吗? 请问法人可以是某个人吗? 如何调用libsvm 的java 库函数 有人知道怎么把SVDD工具箱装到libsvm吗 自然人和法人有什么区别? 丽字的大写是不是澧? 法人个人债务会影响公司吗 最新版的libsvm是基于哪种算法的 寄到美国的包裹可以寄化妆品和衣服么? python下使用libsvm能处理数据格式为复数(complex)的数据吗 法人可以是个人吗 怎样将使用libsvm产生的结果可视化 R语言 怎么安装libsvm 法人个人欠款会不会连累公司 如何在Windows7上安装Libsvm Python 院里栽石榴树有什么讲究吗? 石榴种植时有哪些注意事项? 石榴树现在栽的成活率有多高? 有哪些注意事项? 投影机最基本的功能是啥 3年树龄的石榴树,华东地区最近移栽,要不要剪树头?有什么注意事项