用FormatDataLibsvm.xls将数据转成LIBSVM格式

原文:

本人比较out,从没写过博文,写下以下的东西一是听从师姐的教导,二是为了记载自己学习的点点,三更重要的是希望能给后来的学习者一点帮助,希望大家能少走点弯路;写得不好,还忘大家见谅!

使用svm之前的数据格式的转换相信是每个用svm的人都需要考虑的问题,一方面可以自己便代码实现,,另一方面也可以利用FormatDataLibsvm.xls来实现,本人现阶段用的是后者。网上关于FormatDataLibsvm.xls的使用说明是不少,但本人自己还是摸索了好久才终于找到门路,现将其过程总结如下:

首先:FormatDataLibsvm.xls的下载

其次,格式的转换

本人在使用中发现,使用FormatDataLibsvm.xls进行的数据转换应该包括两两种数据的转换,一种是data.xls格式->data.svm格式的转换;另一种的带有逗号、空格、顿号、分号等文本数据的转换,先归为data.txt格式->data.svm格式的转换;

一、.xls格式->svm格式的转换(网上基本上介绍的都是该类型)

1、运行FormatDataLibsvm.xls(注意这时会有一个关于“宏已禁宏”的安全警示,点击“选项”,选择“启用此内容”,确定即可);

2、 打开data.xls,(注:网上很多的介绍都是直接将数据粘贴到sheet1的topleft单元),要特别注意的是这时候的数据排列顺序应该是:

条件属性a 条件属性b…决策属性 75…2 42…1

3、"工具"–>"宏"–>执行下面有一个选项(FormatDatatoLibsvm)–>执行,要选中这个然后点击“运行”,这时候数据讲变成:

决策属性条件属性a条件属性b… 21:72:5… 11:42:2… 等数据转换完成后,将该文件保存为.txt文件。这时数据转换的问题就解决了。

二、.txt格式->svm格式的转换

首先说明的是,这里所提的.txt文本数据是指数据文件带有逗号、空格、顿号、分号等数据分离符号的数据文件。因为其用符号来分离,导致所有数据项都归类为一个属性,无法实现上面2步骤的格式输入,也就无法实现正确结果格式的输出了。

为了解决该问题,转换该过程与上面一过程的最大不同就在于:在打开该.txt文件的时候根据文本数据本身的数据特点将其所包含的逗号、分号、制表符等数据分离的符号去掉;具体的做法是:转换运行FormatDataLibsvm.xls,“文件”->“打开”->选择要打开的data,txt文件,接着在文本导入向导中根据data.txt文件本身的数据特点选择“原始数据类型(分隔符号)”;接着选择分隔符号的类型(目地是使得该数据分成独立的一列列数据,分离成功的话,在数据预览中将可以看到一列列分离独立的数据):选择“列数据格式”(常规)->完成;

这时候只要调整上面"一"过程的数据格式,重复其后面的步骤2、3操作即可。

希望对你有帮助!

人只要不失去方向,就不会失去自己

用FormatDataLibsvm.xls将数据转成LIBSVM格式

相关文章:

你感兴趣的文章:

标签云: