使用FormatDataLibsvm.xls进行的数据转换应该包括两两种数据的转换,一种是data.xls格式->data.svm格式的转换;另一种的带有逗号、空格、顿号、分号等文本数据的转换,先归为data.txt格式->data.svm格式的转换;
一、.xls格式->svm格式的转换(网上基本上介绍的都是该类型)
1、 运行FormatDataLibsvm.xls(注意这时会有一个关于“宏已禁宏”的安全警示,点击“选项”,选择“启用此内容”,确定即可);
2、打开data.xls,(注:网上很多的介绍都是直接将数据粘贴到sheet1的topleft单元),要特别注意的是这时候的数据排列顺序应该是:
条件属性a 条件属性b ... 决策属性
7 5 ... 2
4 2 ... 1
3、"工具"-->"宏"-->执行下面有一个选项(FormatDatatoLibsvm)-->执行,要选中这个然后点击“运行” ,这时候数据讲变成:
决策属性 条件属性a 条件属性b ...
2 1:7 2:5 ...
1 1:4 2:2 ...
等数据转换完成后,将该文件保存为.txt文件。这时数据转换的问题就解决了。
二、.txt格式->svm格式的转换
首先说明的是,这里所提的.txt文本数据是指数据文件带有逗号、空格、顿号、分号等数据分离符号的数据文件。因为其用符号来分离,导致所有数据项都归类为一个属性,无法实现上面2步骤的格式输入,也就无法实现正确结果格式的输出了。
为了解决该问题,转换该过程与上面一过程的最大不同就在于:在打开该.txt文件的时候根据文本数据本身的数据特点将其所包含的逗号、分号、制表符等数据分离的符号去掉;具体的做法是:转换运行FormatDataLibsvm.xls,“文件”->“打开”->选择要打开的data,txt文件,接着在文本导入向导中根据data.txt文件本身的数据特点选择“原始数据类型(分隔符号)”;接着选择分隔符号的类型(目地是使得该数据分成独立的一列列数据,分离成功的话,在数据预览中将可以看到一列列分离独立的数据) :选择“列数据格式”(常规)->完成;
这时候只要调整上面"一"过程的数据格式,重复其后面的步骤2、3操作即可。
转自:http://blog.sina.com.cn/s/blog_4d7c97a00101a10w.html