libsvm 学习笔记(三)--- svm-scale 使用方法介绍

原创 2015年02月16日 14:46:43


svm-scale 对数据进行缩放的规则:

式中,y 为缩放前的数据,y' 为缩放后的数据;lower 为参数中指定的数据下界,upper 为参数中指定的数据上界;min 为全部训练数据中的最小值,max 为全部训练数据中的最大值。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

windows 文件夹下有一个 svm-scale.exe 程序,可以用 svm-scale 命令来执行该程序。

先来看看 svm-scale 都有哪些参数,在 libsvm 的 windows 目录下输入命令svm-scale :




命令 svm-scale 要求至少输入一个文件名 data_filename,该文件中是要缩放的数据,看示例:

缩放 windows 文件夹下的 train1 文件中的数据:




执行这条命令,程序 svm-scale.exe 会将缩放的结果输出在控制台中:



我们使用命令 "> train1.scaled" 将结果输出在文件 train1.scaled中:



其他的可选参数:
lower --- upper:缩放后的数据范围(特征向量 x),默认 -1 到 1。

y_lower --- y_upper:缩放后的数据范围(类别标签 y),默认不对 y 进行缩放。
-s save_filename
将缩放的规则保存为文件save_filename。

-r restore_filename:按照restore_filename中的规则缩放数据。


我们使用命令 "-s train.range" 将缩放规则保存在文件train.range 中:




看看文件 train.range 中的内容:


第一行表示是对 x 进行的缩放;

第二行表示缩放的上下界分别是 1 和 -1;

第三行表示特征向量 x 的第一个分量 x1 在训练数据中的范围是 0~297.05,以此类推。


再看看文件 train1 和 train1.scaled 中的内容:



第一条数据中的 x 的第一个分量的缩放:


还可以自定义 lower 和 upper 的值后再对数据进行缩放:




--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

再看看如何使用 train.range 文件对测试文件 test1 进行相同标准的缩放:



查看 train.range、test1、test1.scaled 文件的内容,检测缩放是否正确:





svm-scale.exe 程序的源码是 libsvm 根目录下的 svm-scale.c 文件,可以通过研究该文件中的源码来进一步深入学习 libsvm 缩放数据的机制。


文章内容中如有不足和错误,恳请各位大神不吝赐教!

libsvm的使用svm-scale和svm-train与svm-predict

转自http://blog.csdn.net/flydreamGG/article/details/4468995 其实,这部分写也是多余,google一下“libsvm使用”,就会N多的资源,...
  • ecnu18918079120
  • ecnu18918079120
  • 2016-11-01 11:50:15
  • 5973

libsvm svm-scale的学习和使用

在libsvm中svm-train和svm-predict使用最多,它们分别用来训练和预测,在以前的文章中我们有说明在此就不再多写,本文主要介绍svm-scale工具。 svm-scale主要用...
  • wangleishushu
  • wangleishushu
  • 2017-08-19 16:07:23
  • 411

【机器学习实战07】SVM--LibSVM工具包的使用

LIBSVM是台湾大学林智仁(LinChih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代...
  • kevinelstri
  • kevinelstri
  • 2016-08-22 19:22:01
  • 2842

svmscale 解析

libsvm- svmscale  解析 对数据集进行缩放的目标在于:  1)防止一些特征值规模功小而另一些特性值范畴功大;  2)防止在训练时为了计算核函数而计算内积的时间引伏数值计算的难...
  • tang_jin2015
  • tang_jin2015
  • 2014-03-26 14:47:56
  • 1020

生成libSVM的数据格式及使用方法总结

首先介绍一下 libSVM的数据格式 Label 1:value 2:value …. Label:是类别的标识,比如上节train.model中提到的1 -1,你可以自己随意定,比如...
  • kobesdu
  • kobesdu
  • 2013-05-18 19:39:04
  • 46556

C++生成libsvm训练使用数据文件格式

编写一个C++程序来实现将原始的目标特征向量数据转化成libsvm可以使用的数据格式。...
  • shihz_fy
  • shihz_fy
  • 2015-03-14 22:06:15
  • 2570

LIBSVM学习(七)--参数解释

Libsvm 使用步骤: 1. 按照libsvm要求的数据格式,将要训练和预测的数据准备好;http://blog.csdn.net/u014772862/article/details/518289...
  • u014772862
  • u014772862
  • 2016-07-10 21:50:43
  • 6750

LIBSVM学习笔记(一)

LIBSVM学习笔记(一) 参考资料:http://www.matlabsky.com/thread-11925-1-1.html 一、LibSVM LIBSVM是台湾大学林智仁(Lin Chih-J...
  • liyuqian199695
  • liyuqian199695
  • 2017-02-19 20:37:27
  • 5420

LibSVM学习详细说明

代码文件主要针对Matlab进行说明,但个人仍觉得讲解的支持向量机内容非常棒,可以做为理解这一统计方法的辅助资料;       LibSVM是台湾林智仁(Chih-Jen Lin)教授2001年开发...
  • zy_zhengyang
  • zy_zhengyang
  • 2015-04-12 13:47:18
  • 56156
收藏助手
不良信息举报
您举报文章:libsvm 学习笔记(三)--- svm-scale 使用方法介绍
举报原因:
原因补充:

(最多只允许输入30个字)