使用 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”上的文件夹“ 的错误导致无法部署,解决办法是进入项目属性页——调试——启动选项,勾选“卸载并重 ...
随机推荐
- VS插件-JSEnhancements
在Visaul Studio 2010中写js或css代码,缺少像写C#代码时的那种折叠功能,当代码比较多时,就很不方便. 今天发现,已经有VS2010扩展支持这个功能,它就是——JSEnhancem ...
- C#基础--属性
定义一个Book类: namespace ConsoleTest { public class Book { private string _bookIsbn; private string _boo ...
- linux/windows平台生成随机数的不同方法
linux平台,使用rand.Seed() //rand_linux.go package main import ( "math/rand" "time" ) ...
- C语言温度
#include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or a ...
- HTTPClient网络异常:java.lang.IllegalStateException: Content has been consumed
在对代码进行重构时候,出现了一个异常,代码的网络请求使用的是HTTPClient: 但是其实代码中没有添加什么,只是添加了两句log: 后来发现是因为将EntityUtils.toString()方法 ...
- Python学习笔记——基础篇【第六周】——hashlib模块
常用模块之hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import ...
- LINQ_to_SQL语法及实例大全
LINQ To SQL 语法及实例大全 2011/4/5 目录 LINQ to SQL语句(1)之Where. 2 Where操作... 2 1.简单形式:... 2 2.关系条件形式:... 2 3 ...
- ACboy needs your help hdu 分组背包问题
Description ACboy has N courses this term, and he plans to spend at most M days on study.Of course,t ...
- 使用NCoding归档进行存储数据时候报错
问题:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Demo1.UserInfo ...
- 关于手动关闭BootStrap模态框
在网上找手动关闭BootStrap模态框的解决方法,说是(需要引用bootstrap.js等): $("#myModal").modal('hide'); 但是我发现我的只能关闭 ...