Monthly Archive: June 2009

用LIBSVM做回归和预测的步骤 3

用LIBSVM做回归和预测的步骤

  文字版来自: http://blog.sina.com.cn/s/blog_4e2c70250100blje.html 摸索着做了几个实验,试着把过程写下来,请大家指点。 <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...