使用宏命令FormatDataLibsvm.xls将数据转成LIBSVM格式
libsvm使用详细文档2

LIBSVM软件包简介简介LIBSVM是台湾大学林智仁(Chih-Jen Lin) 博士等开发设计的一个操作简单、易于使用、快速有效的通用SVM 软件包。
可以解决分类问题(包括C- SVC 、n - SVC )回归问题(包括e - SVR 、n - SVR )分布估计(one-class-SVM )等问题提供了四种常用的核函数供选择线性、多项式、径向基和S形函数可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。
LIBSVM 是一个开源的软件包,需要者都可以免费的从作者的个人主页.tw/~cjlin/ 处获得。
他不仅提供了LIBSVM 的C++ 语言的算法源代码,还提供了Python 、Java 、R 、MATLAB 、Perl 、Ruby 、LabVIEW以及C#.net 等各种语言的接口,可以方便的在Windows 或UNIX 平台下使用,也便于科研工作者根据自己的需要进行改进(譬如设计使用符合自己特定问题需要的核函数等)。
另外还提供了WINDOWS 平台下的可视化操作工具SVM-toy ,并且在进行模型参数选择时可以绘制出交叉验证精度的等高线图。
SVM进行函数估计是有监督学习,进行概率密度估计是非监督学习自从版本2.8以后libsvm采用SMO算法安装环境下载文件下载Libsvm2.88、Python2.4(默认安装在D:)和Gnuplot配置文件的路径Python2.4文件路径如下:Gnuplot路径设置Gnuplot不是安装文件,直接放在tmp目录即可另一个工具就是gnuplot.exe,下载不是安装文件:安装完上面的软件还不能运行,还要修改easy.py,grid.py的设置.,以写字板的格式打开easy.py:如下:将他们对应的代码" gnuplot_exe = r"c:\tmp\gnuplot\bin\pgnuplot.exe""都改为你的pgnuplot.exe 所在的路径,比如我的文件在当前目录的上一级目录,就是和tools文件夹在同一级目录,那么我的设置应该为" gnuplot_exe = r"..\gnuplot\bin\pgnuplot.exe"".本人使用的上边一种方法(测试通过),事实上也符合下面的方式,为了保险起见。
支持向量机 libsvm python三分类问题实例

2:EXCEL下的数据处理
Libsvm所需的数据格式应该是 <lable_value> <index1>:<value1> <index2>:<value2>.....。 (lable_value,index,value变量的值全部为数值型,lable_value表示样本的类 型,在二分类其中,其值一般取-1和1或者0和1,当然取其他值也是可以的,只要能 区分就行。index可以理解为遥感影像中的波段序列或者特征序列。value可以理解 为对应的像元值或者特征值)。 也就是类似于 1 1:0.302000 2:0.67200 2 1:0.568000 2:0.668000 3 1:0.568000 2:0.668000 这样的,如果你的数据不是这样,请下载FormatDataLibsvmaa.xlsm这个自带宏 命令的表格来转换,其中标签向量根据分类的类别自己定义
注意,正确率为零是因为在TESTD文件中所有数据标签为均4,而train数据的三个标 签为1,2,3,肯定都是对不上的(在SVM-PREDICT中你需要分类的数据必须给出 任意一个标签数据)。
在C:\libsvm-3.21\windows下调用SVM-TRAIN,输入优化后的参数,ibsvm-3.21\windows下调用SVM-PREDICT,按照用法输入,可以得出
输出的最后结果储存在OUT222这个文件中。
4)最重要的是GRID.py 设置好各项参数进行参数寻优(预设值就是RBF核函数) 具体数值区间我是采用的默认值 根据README里面的用法,同时调用GNUPLOT和SVMTRAIN两个地址,可以得 出.out和.png两个结果 最后可以得出一个最好的G C两个参数的数值
matlab中使用libsvm的使用方法

前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C 的程序,应该不能。
没想到今天又有人问道,难道matlab真的能运行libsvm。
我到官方网站看了下,原来,真的提供了matlab的使用接口。
接口下载在:.tw/~cjlin/libsvm/index.html#matlab具体使用方法zip文件里有readme说明,我也按照说明尝试的试用了一下,方法介绍如下。
使用的接口版本:MATLABA simple MATLAB interfaceLIBSVM authors at National Taiwan University.2.89 .tw/~cjlin/libsvm/matlab/libsvm-mat-2.89-3.zip使用的运行环境为:matlab 7.0,VC++ 6.0,XP系统。
按照说明使用方法如下:1. 下载下来的借口包里有svm的一些源文件,没有可执行的exe文件,所以,必须先将svmtrain等源文件编译为matlab可以使用的dll等文件。
于是先选择编译器,如下:(也可以先尝试使用我们在windows平台下编译好的文件,放在同一文件夹中直接使用:/bbs/viewthread.php?tid=538&page=1&fromuid=3#pid1154)>> mex -setupPlease choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n? ySelect a compiler:[1] Digital Visual Fortran version 6.0 in C:\Program Files\Microsoft Visual Studio[2] Lcc C version 2.4 in D:\MATLAB7\sys\lcc[3] Microsoft Visual C/C++ version 6.0 in D:\Program Files\Microsoft Visual Studio[0] NoneCompiler: 3Please verify your choices:Compiler: Microsoft Visual C/C++ 6.0Location: D:\Program Files\Microsoft Visual StudioAre these correct?([y]/n): yTry to update options file: C:\Documents and Settings\jink2005.AISEMINA-D6623E\Application Data\MathWorks\MATLAB\R14\mexopts.batFrom template: D:\MATLAB7\BIN\WIN32\mexopts\msvc60opts.batDone . . .我选择使用VC 6.0,其他可能不行。
VBA与数据格式转换的实用技巧

VBA与数据格式转换的实用技巧在数据处理和分析的过程中,经常会遇到需要对数据进行格式转换的情况。
这些转换涵盖了从文本到日期、数字到文本以及各种其他格式之间的转换。
为了提高工作效率和准确性,我们可以利用VBA编程语言来实现各种数据格式转换的实用技巧。
本文将介绍几种常用的VBA技巧,帮助您在数据处理中更好地应对格式转换的需求。
一、从文本到日期的转换在数据处理中,很常见的一种情况是将文本格式的日期转换为日期格式。
VBA提供了DateValue函数来实现这一转换。
例如,假设我们有一个保存了日期数据的字符串,如"2022/01/01",我们可以通过以下代码在VBA中将其转换为日期格式:```VBADim strDate As StringDim convertedDate As DatestrDate = "2022/01/01"convertedDate = DateValue(strDate)```通过以上代码,我们可以将文本格式的日期转换为VBA中的日期类型,以便于后续的数据分析和处理。
二、从数字到文本的转换有时,我们需要将数字转换为文本格式,例如在数据报告中需要将数值型数据以文本的形式呈现。
VBA中的CStr函数可以帮助我们实现这一转换。
以下是一个例子:```VBADim num As DoubleDim textNum As Stringnum = 12345.67textNum = CStr(num)```通过上述代码,我们可以将数字类型的变量转换为文本类型的变量,方便我们在报告中使用。
三、整数和小数位数的控制在数据分析中,有时候需要固定数字的整数位数和小数位数,以满足特定的要求。
VBA的Format函数可以帮助我们实现这一目标。
下面是一个示例,展示如何使用Format函数来设置整数和小数位数:```VBADim value As DoubleDim formattedValue As Stringvalue = 1234.56789formattedValue = Format(value, "0,000.00")```通过以上代码,我们可以将数字格式化为带有千分位分隔符的两位小数形式。
SVM模式识别与回归软件包(LibSVM)详解

SVM模式识别与回归软件包——LibSVMLIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。
该软件包可在.tw/~cjlin/免费获得。
该软件可以解决C- SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基于一对一算法的多类模式识别问题。
SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。
目前,LIBSVM拥有Java、Matlab、C#、Ruby、Python、R、Perl、Common LISP、LabView等数十种语言版本。
最常使用的是Matlab、Java 和命令行的版本。
就要做有关SVM的报告了!由于SVM里面的有关二次优化的不是那么容易计算得到的,最起码凭借我现在的理论知识和编程能力是不能达到!幸好,现在又不少的SVM工具,他可以帮助你得到支持向量(SV),甚至可以帮助你得到预测结果,归一化数据等等。
其中SVM-light,LibSVM是比较常用的!SVM-light我们实验室有这方面的代码,而我自己就学习了下怎么使用LIBSVM(来自台湾大学林智仁)。
实验步骤如下:1:首先安装LIBSVM,这个不用多说,直接去他的官网上看:.tw/~cjlin/libsvm/index.html2:处理数据,把数据制作成LIBSVM的格式,其每行格式为:label index1:value1 index2:value2 ...其中我用了复旦的分类语料库,当然我先做了分词,去停用词,归一化等处理了3:使用svm-train.exe训练,得到****.model文件。
excel表中非空单元格批量转换成文本的vba代码

标题:使用VBA代码批量将Excel表中非空单元格转换成文本格式一、概述在日常工作中,我们经常需要处理Excel表格中的数据,而有时候我们需要将表格中的非空单元格转换成文本格式。
传统的方法是逐个手动操作,非常耗时且容易出错。
而使用VBA代码可以快速、高效地实现这一功能,大大提高工作效率。
二、VBA代码实现步骤1. 打开Excel表格打开需要处理的Excel表格,确保要处理的数据位于指定的工作簿和工作表中。
2. 打开VBA编辑器按下“ALT”+“F11”快捷键,或者在“开发工具”选项卡中点击“Visual Basic”按钮,打开VBA编辑器。
3. 添加新模块在VBA编辑器中,右键点击任意模块,选择“插入”-“模块”,添加一个新的模块。
4. 编写VBA代码在新模块中编写以下VBA代码:```VBASub ConvertToText()Dim rng As RangeSet rng = SelectionFor Each cell In rngIf Not IsEmpty(cell) Thencell.Value = CStr(cell.Value)End IfNext cellEnd Sub```5. 运行VBA代码将光标放置在编写好的VBA代码块内,点击“运行”按钮或按下“F5”键,即可运行VBA代码。
6. 查看效果在Excel表格中选择需要转换成文本格式的区域,然后运行VBA代码。
可以看到选定的区域中的非空单元格已经被转换成文本格式,操作完成。
三、注意事项1. 确保正确选择需要处理的数据区域,避免误操作导致数据混乱。
2. 在编写VBA代码时,务必仔细核对代码的逻辑和语法,避免出现错误。
3. 在运行VBA代码之前,最好先备份一下原始数据,以防万一发生意外。
四、总结通过以上步骤,我们可以使用VBA代码快速实现将Excel表中的非空单元格批量转换成文本格式,大大节省了处理数据的时间和精力。
VBA代码可以根据实际需求进行灵活修改,满足不同数据处理的需求。
LIBSVM使用方法

LIBSVM1 LIBSVM简介LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows 系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件还有一个特点,就是对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数就可以解决很多问题;并且提供了交互检验(Cross -SVM回归等问题,包括基于一对一算法的多类模式识别问题。
SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。
ν-SVM回归和ε-SVM分类、νValidation)的功能。
该软件包可以在.tw/~cjlin/免费获得。
该软件可以解决C-SVM分类、-SVM回归等问题,包括基于一对一算法的多类模式识别问题。
SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。
2 LIBSVM使用方法LibSVM是以源代码和可执行文件两种方式给出的。
如果是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译;如果是Unix类系统,必须自己编译,软件包中提供了编译格式文件,我们在SGI工作站(操作系统IRIX6.5)上,使用免费编译器GNU C++3.3编译通过。
2.1 LIBSVM 使用的一般步骤:1) 按照LIBSVM软件包所要求的格式准备数据集;2) 对数据进行简单的缩放操作;3) 考虑选用RBF 核函数;4) 采用交叉验证选择最佳参数C与g;5) 采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型;6) 利用获取的模型进行测试与预测。
LIBSVM使用方法

LIBSVM使用方法1libsvm简介2libsvm使用方法libsvm就是以源代码和可执行文件两种方式得出的。
如果就是windows系列操作系统,可以轻易采用软件包提供更多的程序,也可以展开修正编程;如果就是unix类系统,必须自己编程,软件包中提供更多了编程格式文件,我们在sgi工作站(操作系统irix6.5)上,采用免费编译器gnuc++3.3编程通过。
2.1libsvm使用的一般步骤:1)2)3)4)5)6)按照libsvm软件包所建议的格式准备工作数据集;对数据展开直观的翻转操作方式;考量采用rbf核函数;使用交叉检验挑选最佳参数c与g;使用最佳参数c与g对整个训练集展开训练以获取积极支持向量机模型;利用以获取的模型展开测试与预测。
2.2libsvm使用的数据格式该软件采用的训练数据和检验数据文件格式如下:::...其中就是训练数据集的目标值,对于分类,它就是标识某类的整数(积极支持多个类);对于重回,就是任一实数。
就是以1已经开始的整数,可以就是不已连续的;为实数,也就是我们常说道的自变量。
检验数据文件中的label只用作排序准确度或误差,如果它就是未明的,只需用一个数核对这一栏,也可以空着不填上。
在程序包中,还包括存有一个训练数据实例:heart_scale,便利参照数据文件格式以及练采用软件。
可以撰写大程序,将自己常用的数据格式转换成这种格式。
2.3svmtrain和svmpredict的用法svmtrain(训练建模)的用法:svmtrain[options]training_set_file[model_file]options:需用的选项即为则表示的涵义如下-ssvm类型:svm设置类型(默认0)0--c-svc1--v-svc2–一类svm3--e-svr4--v-svr-t核函数类型:核函数设置类型(默认2)0–线性:u'v1–多项式:(r*u'v+coef0)^degree2–rbf函数:exp(-r|u-v|^2)3–sigmoid:tanh(r*u'v+coef0)-ddegree:核函数中的degree设置(预设3)-gr(gama):核函数中的?函数设置(默认1/k)-rcoef0:核函数中的coef0设置(预设0)-ccost:设置c-svc,?-svr和?-svr的参数(默认1)-nnu:设置?-svc,一类svm和?-svr的参数(预设0.5)-pe:设置?-svr中损失函数?的值(默认0.1)-mcachesize:设置cache内存大小,以mb为单位(预设40)-eε:设置允许的终止判据(默认0.001)-hshrinking:与否采用启发式,0或1(预设1)-wiweight:设置第几类的参数c为weight?c(c-svc中的c)(默认1)-vn:n-fold可视化检验模式其中-g选项中的k是指输入数据中的属性数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用宏命令FormatDataLibsvm.xls将数据转成LIBSVM格式
(2009-03-23 23:52:23)
转载
标签:libsvm formatdata libsvm.xls 宏
下载
数据
格式
excel
txt
教育分类:科研-支持向量机(SVM)预测
毕业设计做的是svm,虽然不是很新的东西,但是能把它弄懂也是好的。
要加一点技术含量无非就是用一些搜素算法(遗传、蚁群。
)加入svm去寻找最优的参数,对于本科生来说还能做一下前期的数据处理,当然是用一些统计方法咯,什么数据挖掘乱七八糟的网上套,没办法,中国的学术永远是这样,不会进步,看看神经网络在中国学术界盛行的时间之长就知道学术水平了,不想多说,只是想把我这次svm的经历写一下,确实学到了很多东西。
因为也是通过网上的论坛还有其他帖子看懂的,可是觉得他们还写的不够详细,或者我自己太笨,所以想详细点从头到尾说一下,还有不明白的尽管问。
可以交流。
当然做svm首先就要把数据的格式处理好,这么多在excel里的数据用人工的方法输到txt里是不可能的,所以有两个办法:
1,自己编一个小程序(C足够了)说说简单,编起来还是很麻烦的,虽然我专业和cs 密切相关,但是真的不会。
我们惰性很强,有现成的第二个方法干嘛还吃力不讨好?
2,使用人家已经做好的一个类似于软件一样的FormatDataLibsvm.xls(里面包含一个宏命令),没有他你要苦一阵子。
BTY,这个软件不好找,网上看了很多帖子,都是不能下载的,在别人博客上跪求几天也没人给,最后还是在一个隐晦的小网站下载下来了。
哎,中国人就这样,自己有的东西就是不想共享出来,搞个p的学术啊。
真是无语,要的联系我。
其实这个软件就是一个excel工作薄,没什么奇特,打开它就会跳出来一个对话框,选“启用宏”就行了,其他不用管它,把你要的数据拷上去就好了,但是注意下格式,网上帖子也很多,照他们说的办吧。
1,先运行FormatDataLibsvm.xls然后将数据粘贴到sheet1的topleft单元。
2,再"工具"-->"宏"-->执行下面有一个选项(FormatDatatoLibsvm)-->执行,要选中这个然后运行就可以了,这时数据转换的问题就解决了,可是现在生成的数据是.xls格式,它还是不能做为libsvm的训练文件啊!还需要怎么转换呢?
3,可以copy到一个记事本中即可。
但是注意在用libsvm的时候要在命令行输入.txt 后缀。
注意,宏安全性应当设置为中或者低。
输入数据的格式是
条件属性a 条件属性b ... 决策属性
7 5 (2)
4 2 (1)
输出数据格式是
决策属性条件属性a 条件属性b ...
2 1:7 2:5 ...
1 1:4 2:
2 ...
P.S. 在第2步时,执行下面还有另一个选项(FormatDatafromLibsvm)这个可以把libsvm 数据的格式重新转回来,转到你第1步时刚拷贝到excel里的数据形式。
《科研-支持向量机(SVM)预测》中的相关文章:
使用宏命令FormatDataLibsvm.xls将数据转成LIBSVM格式
LIBSVM做回归预测--终于弄通(原创)
终于搞定svm回归
LIBSVM回归详细操作步骤(附图)
关于LIBSVM版本问题。