libSVM的数据格式转换

libSVM的数据格式转换:

数据有很多存储格式,txt格式,xls格式,data格式,csv格式等等,这些数据格式之间都可以互相转换,在此介绍一下*.xls、*.txt如何生成libsvm格式的数据。

生成libsvm数据有两种方法,在此介绍使用FormatDatalibsvm工具,因为这种方法直观简单,效率高,方便易行。其实只是利用了excel的宏。

一、.xls格式——>svm格式的转换

①    下载FormatDatalibsvm.xls  地址如下:

http://download.csdn.net/detail/smilehehe110/9702456

②准备好Excel数据集

如果是csv格式的可以先通过Excel转换成.xls格式,具体方法见下面。

打开FormatDatalibsvm.xls

注意上方会出现一个框框提醒你宏已经被禁用,一定要点击更改,启用宏

加载data

可以直接将数据复制到topleft单元格,注意复制的时候复制数据区域相关的属性,要复制属性名称,否则会崩溃。

转换

Excel界面点击

“工具”—>”宏”—>”宏”—>FormatDatatoLibsvm>执行

“视图”—>”宏”—>”查看宏”——>FormatDatatoLibsvm>执行

可以看到数据在进行转换和移动,稍等一下就可以看到数据变成了libsvm格式。

等数据转换完成后,将该文件保存为.txt文件。这时数据转换的问题就解决了。

csvxls转换

有时候一开始拿到的数据时csv格式的,想把它转换成Excel原始格式,可以按照以下方式进行:

②   打开Excel,新建一空白文档。

②   在界面中单击“数据”—>“自文本”。找到并选中csv文件“源文件.csv”,单击“导入”。

操作会弹出一个窗口,不用做任何操作,点击下一步。

③在下一个界面根据分隔符类型选择相应符号,如逗号、分号等,选择后点击下一步

③   接着点击下一步,如果需要更改数据格式可做调整。

④      点击完成,弹出一个窗口,选择数据的存放位置,完成操作,可以看到数据变成了最原始的xls格式。 

 

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

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

      为了解决该问题,转换该过程与上面过程的最大不同就在于:

在打开该.txt文件的时候根据文本数据本身的数据特点将其所包含的逗号、分号、制表符等数据分离的符号去掉;

具体的做法是:转换运行FormatDataLibsvm.xls文件”->“打开”->选择要打开的data.txt文件,接着在文本导入向导中根据data.txt文件本身的数据特点选择原始数据类型(分隔符号);接着选择分隔符号的类型(目的是使得该数据分成独立的一列列数据,分离成功的话,在数据预览中将可以看到一列列分离独立的数据) :选择列数据格式常规->完成;

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

你可能感兴趣的:(机器学习之支持向量机)