使用 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
使用 mulan-1.5.0 如何构造.arff文件的更多相关文章
- C#:IText构造PDF文件
IText构造PDF文件 1.1 生成Document Document是我们要生成的PDF文件所有元素的容器,因此要生成一个PDF文档,必须首先定义一个Document对象. Document有三种 ...
- Weka里如何将arff文件或csv文件批量导入MySQL数据库(六)
这里不多说,直接上干货! 前提博客是 Weka中数据挖掘与机器学习系列之数据格式ARFF和CSV文件格式之间的转换(四) 1.将arff文件批量导入MySQL数据库 我在这里,arff文件以Weka安 ...
- Retrofit 2.0 轻松实现多文件/图片上传/Json字符串/表单
如果嫌麻烦直接可以用我封装好的库:Novate: https://github.com/Tamicer/Novate 通过对Retrofit2.0的前两篇的基础入门和案例实践,掌握了怎么样使用Retr ...
- 生成arff文件,csv转为arff
一.什么是arff格式文件 1.arff是Attribute-Relation File Format缩写,从英文字面也能大概看出什么意思.它是weka数据挖掘开源程序使用的一种文件模式.由于weka ...
- VC6.0生成的exe文件图标
以下是我网上收到的方法 我都试过 成功不了 具体说下我遇到的问题 VC6.0生成的exe文件图标是用Icon下几个图标中value值最小的,顺序为IDR_MAINFRAME.IDR_ICONTETYP ...
- weka 通过普通文本转化成arff文件
这个问题来源于我要用weka这个数据挖掘工具,测试时发现我们新建txt文件,输入内容,然后直接改后缀. 这样生成的arff文件不能打开. 究其原因是编码的问题,正确处理方法如下: 新建文本,然后用no ...
- VC++ 6.0中添加库文件和头文件
附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Include files. 对于特定项目的头文件包含,在& ...
- servlet3.0获取参数与文件上传代码示例
转: servlet3.0获取参数与文件上传代码示例 2018年08月26日 20:25:35 苏凯勇往直前 阅读数:98 package com.igeek.servlet; import ...
- hololens DEP2220: 无法删除目标计算机“127.0.0.1”上的文件夹
Hololens开发调试的过程中,可能会出现 “DEP2220: 无法删除目标计算机“127.0.0.1”上的文件夹“ 的错误导致无法部署,解决办法是进入项目属性页——调试——启动选项,勾选“卸载并重 ...
随机推荐
- C#深复制与浅复制
C#深复制与浅复制 C#中对于数据的复制机制虽然简单但是容易让人误解.C#数据类型大体分为值类型(value type)与引用类型(reference type).对于值类型数据,复制的时候直接将数据 ...
- java 异常的捕获及处理
在没有异常处理的程序中如果要回避异常,需要使用大量的判断语句,配合所想到的错误状况来捕捉程序中可能发生的错误.但是这样势必会导致程序运行效率降低.java异常处理机制具有易于使用,可自定义异常类,处理 ...
- springmvc框架下ajax请求传参数中文乱码解决
springmvc框架下jsp界面通过ajax请求后台数据,传递中文参数到后台显示乱码 解决方法:js代码 运用encodeURI处理两次 /* *掩码处理 */ function maskWord( ...
- 键盘快速启动工具Launchy的简单使用技巧
打开电脑面对林林总总的图标,找到对应的程序,快速启动显得尤为重要.这样有利于提高我们的效率. 好了,直接上图: 就是这款小巧的工具,界面如上. 接下来介绍这款工具的使用技巧. 1.安装成功后:打开工具 ...
- Chrome 开发者工具的使用
Console 那里是可以调节上下文的,不同的文档上下文互相隔离,默认是top,也就是当前打开的页面.这个功能在页面包含 iframe 或者开发插件的时候才用得到. 早期版本的 Resource 已经 ...
- 真的了解JS么?
1.setTimeout setTimeout(function(){ }),1000) setTimeout(function(num){ alert(num) //弹123 },1000,1 ...
- kuangbin专题一 简单搜索
弱菜做了好久23333333........ 传送门: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=105278#overview A ...
- span标记
span标记为内联元素,本身布局有宽高所以要给他个属性 display:block; 转成快元素.
- Masonry 添加约束要注意顺序
对一个视图添加约束,其依赖的约束必须先已经存在,不能依赖该代码后的约束,否则造成不可预料的结果,如下代码能达到预期效果 - (void)makeConstraints { __weak typeof( ...
- how to check if you have TURNIN successfully?
For example, if I want to check if I have turnin my proj1 of cs130a successfully, I just use this co ...