libsvm 学习笔记(三)--- svm-scale 使用方法介绍
来源:互联网 发布:软件界面设计教程 编辑:程序博客网 时间:2024/06/05 05:23
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 使用方法介绍
- libsvm svm-scale的学习和使用
- libsvm学习记录(三)svm参数寻优
- SVM学习笔记(2 )libsvm--svmtrain\svmpredict函数说明
- libsvm-svm-scale.c 源码分析
- LibSVM scale-svm file in matlab
- SVM分类器-libsvm(三)
- 机器学习:SVM学习笔记(三)
- 学习SVM(libsvm)的点滴
- SVM学习笔记(三)---核函数
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- 开源SVM库libSVM介绍
- C++ STL 算法:区间的比较
- Python脚本语法错误之:IndentationError: unindent does not match any outer indentation level
- C#设计模式(十一)模板方法模式
- 经典算法问题的java实现<一>
- 对oracle大小写敏感的查询处理方式
- libsvm 学习笔记(三)--- svm-scale 使用方法介绍
- 用文件实现类似于数据库一样的功能(老古董,怀念用)
- JAVA设计模式温故篇-工厂模式
- leetcode 日经贴,python code -Longest Valid Parentheses
- 参数db_recovery_file_dest,log_archive_dest,log_archive_dest_n
- 经典算法问题的java实现<二>
- 朴素贝叶斯分类及程序简述笔记
- IE中tr之间有空白行,而在Firefox中没有空白
- maven中央仓库大集合