<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中。 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lyflower/archive/2008/08/04/2764822.aspx

用LIBSVM做回归和预测相关推荐

  1. 用LIBSVM做回归和预测的步骤

    http://liouwei20051000285.blog.163.com/blog/static/2523674201002610519709/

  2. python模型预测_【超级干货!】教你用Python做回归模型预测房价

    原标题:[超级干货!]教你用Python做回归模型预测房价 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智 ...

  3. Logistic回归做分类或预测(实战代码)

    1.Logistic回归为什么可以用于分类? 谈这个问题之前,先谈下:一般来说,我们如何用一个模型做分类? 一般的,在机器学习中,使用一个模型做分类的前提,是根据数据(包含样本和标签)训练出一个模型, ...

  4. 基于京东手机销售数据用回归决策树预测价格

    今天给大家推荐一个数据分析与挖掘的实战项目案例"基于京东手机销售数据用回归决策树预测价格".该项目先基于京东手机销售数据做出一系列分析后,利用回归决策树仅根据手机外部特征进行价格预 ...

  5. python回归分析预测模型_在Python中如何使用Keras模型对分类、回归进行预测

    姓名:代良全 学号:13020199007 转载自:https://www.jianshu.com/p/83ba11abdffc [嵌牛导读]: 在Python中如何使用Keras模型对分类.回归进行 ...

  6. 主成分回归之后预测_回归分析|笔记整理(B)——主成分回归(下),偏最小二乘回归...

    大家好! 上一节我们给主成分回归开了一个头,这一节我们会继续介绍它的有关内容,并且同时会介绍另一种新的回归方法:偏最小二乘回归.这一节的理论性也比较强,主要关注了相关回归的理论上的性质与相关证明. 提 ...

  7. 回归综合案例——利用回归模型预测鲍鱼年龄

    回归综合案例--利用回归模型预测鲍鱼年龄 1 数据集探索性分析 首先将鲍鱼数据集abalone_dataset.csv读取为pandas的DataFrame格式. import pandas as p ...

  8. 机器学习之MATLAB代码--SSA-CNN-BiLSTM做电池容量预测(十)

    机器学习之MATLAB代码--SSA-CNN-BiLSTM做电池容量预测(十) 代码 数据 结果 代码 代码按照如下顺序: 1. clc close all clear alldata=xlsread ...

  9. python回归算法预测数据_数据回归分类预测的基本算法及python实现

    数据回归分类预测的基本算法及python实现 关于数据的回归和分类以及分析预测.讨论分析几种比较基础的算法,也可以算作是比较简单的机器学习算法. 一.KNN算法 邻近算法,可以用来做回归分析也可以用来 ...

最新文章

  1. win7无法连接打印机拒绝访问_win7系统连接XP网络打印机无法连接到打印机拒绝访问的解决方法...
  2. 查看Linux上程序或进程用到的库
  3. HTML/CSS 练习
  4. ajax+time+out,关于ajax的timeout问题
  5. 金庸小说人物知识图谱构建——构建共现矩阵
  6. 白话空间统计二十四:地理加权回归(一)
  7. UML统一建模语言 Rational Rose 使用
  8. html.ex.day02
  9. 光电信息科学与工程学c语言吗,2019光电信息科学与工程专业怎么样、学什么、前景好吗...
  10. 鸿鹄系统和鸿蒙系统区别,荣耀智慧屏正式发布 鸿蒙系统+鸿鹄818芯片 售价3799元起...
  11. Java小白 学习笔记(三)——面向对象
  12. 一台微型计算机的好坏 主要取决于,计算机一级MSOffice应用选择题
  13. 团队管理之亮剑精神(转)
  14. 我是如何在B站自学Java的?
  15. 产生式规则实现动物、手机识别系统
  16. android颜体_颜体楷书结构的四大特征与特点
  17. ios客户端学习-UIButton
  18. 突变点检测:Pettitt突变点检测(python)
  19. Cobar Client的使用
  20. c语言设置字体时调用对话框,三、Windows通用对话框—改变字体

热门文章

  1. Vue.js 列表渲染
  2. 实例教程:1小时学会Python
  3. 概率统计:第三章 多维随机变量及其分布
  4. 图像处理(七)导向滤波磨皮
  5. Python中如何写控制台进度条的整理
  6. C++,那些可爱的小陷阱(三)
  7. 如何设计一门语言(二)——什么是坑(b)
  8. Stanford UFLDL教程 线性解码器
  9. Machine Learning week 5 quiz: Neural Networks: Learning
  10. centos 7配置firewall防火墙的地址伪装和端口转发实例