使用 mulan-1.5.0 如何构造.arff文件

1. 为什么要使用mulan

我用mulan来做多标签数据的分类,但是mulan的输入数据由两个文件控制,一个是data.arff文件,这个文件列出的所有的属性以及这些属性值的类型和他们对应的值。label.xml文件列出了所有属性中属于标签的那部分属性,根据这个文件可以确定哪些属性是特征,哪些属性是标签。一个简单的例子如下:

data.arff

@relation yeast

@attribute feature1 numeric
@attribute feature2 numeric
@attribute feature3 numeric
@attribute feature4 numeric
@attribute label1 {0,1}
@attribute label2 {0,1}
@attribute label3 {0,1}
@attribute label4 {0,1}

@data
0.0937,0.139771,0.062774,0.007698,0,1,1,0
-0.090407,0.021198,0.208712,0.102752,1,1,1,0
-0.085235,0.00954,-0.013228,0.094063,0,1,1,1

我们可以看到这个文件主要分为三部分,@relation指明了数据集名字,@attribute列出了所有的属性,@data列出了属性对应的数据。我们看到属性包含两个部分:(名字,值类型)。通过名字可以完全确定一个属性,通过值的类型可以知道如何对data中的数据进行处理。

label.xml

<?xml version="1.0" encoding="utf-8"?>
<labels xmlns="http://mulan.sourceforge.net/labels">
<label name="label1"></label>
<label name="label2"></label>
<label name="label3"></label>
<label name="label4"></label>
</labels>

xml文件中的label的name和data.arff文件中实际label的名字是对应的。这个文件的格式很简单。

2. 如何构造.arff文件

方法一:使用weka把.csv文件转换为.arff文件

  • 首先我们把自己的数据处理成.csv文件,第一行是属性的名字,一下各行是属性对应数值。

  • 然后打开weka

  • 选择Explorer

  • 使用open file...打开自己构造的csv文件

最后点击sava另存为.arff文件即可

  • 一些注意事项

使用这种方法,所有属性值的类型会被设置为numeric,如果label值的类型是0,1二值型的,则需要手动修改为{0, 1}。

方法二:直接调用weka的API来生成,参考如下:

http://www.cnblogs.com/nocml/p/3545373.html

http://blog.csdn.net/tryitboy/article/details/51182740

posted @ 2016-10-08 09:41  Black_Knight  阅读(668)  评论(0编辑  收藏  举报