最近在工作中需要学习多标签分类的算法,发现了mulan这个开源软件很不错,这个软件是用java编写的,同时也是建立在Weka之上的。这个软件需要输入两个文件,一个是.arff文件,一个是.xml文件。

预备软件:matlab和Weka,;

.arrf文件的格式如下:

@relation MultiLabelExample@attribute feature1 numeric
@attribute feature2 numeric
@attribute feature3 numeric
@attribute label1 {0, 1}
@attribute label2 {0, 1}
@attribute label3 {0, 1}
@attribute label4 {0, 1}
@attribute label5 {0, 1}@data
2.3,5.6,1.4,0,1,1,0,0
2.0,1.3,2.6,0,1,0,0,1

.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>
<label name="label5"></label>
</labels>

生成这两种文件的方法如下:

(1)首先采用matlab中自带的函数csvwrite('filename.csv',fliename)生成.csv文件,其中filename.csv是你要生成的文

件名字,filename是在matlab中的矩阵名字,矩阵的每行代表一个样本;例如:

csvwrite('MultiLabelExample.csv',MultiLabelExample),

MultiLabelExample= [2.3,5.6,1.4,0,1,1,0,0;2.0,1.3,2.6,0,1,0,0,1],假设只有两个样本

(2)将生成的filename.csv用excel或者EditPlus打开将相应的属性名填写好,采用都好隔开(最好是采用程序修改,

如果数据的维数很高的时候,采用手动修改工作量很大);例如:

feature1 ,feature2,featuer3,label1,label2,label3,label4,label5(注意这些名字都可以根据自己需要进行修改)

2.3,5.6,1.4,0,1,1,0,0

2.0,1.3,2.6,0,1,0,0,1

(3)运行Weka程序,选择Simple SLI按钮,在出现的对话框最下面一行输入:

weka.core.converters.CSVLoader MultiLabelExample.csv > MultiLabelExample.arff,结果如下:

@relation MultiLabelExample@attribute feature1 numeric
@attribute feature2 numeric
@attribute feature3 numeric
@attribute label1 numeric
@attribute label2 numeric
@attribute label3 numeric
@attribute label4 numeric
@attribute label5 mumeric@data
2.3,5.6,1.4,0,1,1,0,0
2.0,1.3,2.6,0,1,0,0,1

手动修改label1-5 后边的“numeric”为{0,1},结果如下:(实际情况应该是自动生成下面的结果的,但是本人始终

没有实现,因此手动修改)

@relation MultiLabelExample@attribute feature1 numeric
@attribute feature2 numeric
@attribute feature3 numeric
@attribute label1 {0, 1}
@attribute label2 {0, 1}
@attribute label3 {0, 1}
@attribute label4 {0, 1}
@attribute label5 {0, 1}@data
2.3,5.6,1.4,0,1,1,0,0
2.0,1.3,2.6,0,1,0,0,1

这样.arff文件已经完成的了。

(4)对于.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>
<label name="label5"></label>
</labels>

这个文件中可以改变的有label1-label5这些名字(我尝试过),注意和.arff文件中的相应名字对应上,否者会出错

至此:mulan软件需要的两个输入文件就准备好了,如何进行实验将在下一章阐述。

—————本方法仅供参考,如果有不足之处请指正。

在多标签分类中,准备mulan开源软件所需要的.arff和.xml数据的方法相关推荐

  1. 多分类f1分数_如何计算多标签分类中的F1测度?

    我正在研究句子类别检测问题.其中每个句子可以属于多个类别,例如:"It has great sushi and even better service." True Label: ...

  2. 论文浅尝 | 多标签分类中的元学习

    论文笔记整理:叶群,浙江大学计算机学院,知识图谱.NLP方向. 会议:EMNLP 2019 链接:https://arxiv.org/abs/1909.04176 Abstract 这篇论文首次在多标 ...

  3. 通过 .NET Framework 中的 XPath 和 XSLT API 方便地操作 XML 数据

    本文假设您熟悉 Visual Basic .NET 下载本文的代码: XPathandXSLT.exe (166KB) 摘要 XPath 是一种正在兴起的通用查询语言.通过 XPath,可以在基于 X ...

  4. flutter加载本地html标签,Flutter中如何加载并预览本地的html文件的方法

    直接进入主题,大概步骤如下 在 assets 创建需要访问 html 文件,如下 这里创建一个files文件夹,专门来放这些静态 html 文件. 在 pubspec.yaml 中配置访问位置 ass ...

  5. pandas中如何选取某几列_pandas 选取行和列数据的方法

    本文介绍在 pandas 中如何读取数据行列的方法.数据由行和列组成,在数据库中,一般行被称作记录 (record),列被称作字段 (field).回顾一下我们对记录和字段的获取方式:一般情况下,字段 ...

  6. Spring中注入List,Set,Map,Properties的xml文件配置方法

    下面的例子展示了如何注入 List – <list/> Set – <set/> Map – <map/> Properties – <props/> ...

  7. 【论文翻译】异构信息网络挖掘的活动边缘中心多标签分类

    异构信息网络挖掘的活动边缘中心多标签分类 摘要 异构信息网络的多标签分类在社会网络分析中受到了新的关注.本文提出了一个以活动边缘为中心的多标签分类框架,用于分析具有三个独特特征的异构信息网络.首先,我 ...

  8. 将“softmax+交叉熵”推广到多标签分类问题

    ©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 一般来说,在处理常规的多分类问题时,我们会在模型的最后用一个全连接层输出每个类的分数,然后用 softma ...

  9. 多标签分类的学习感悟

    多标签学习 问题来源 定义 背景 分类算法 应用前景 最新进展 博主也是刚开始接触多标签分类相关的学习,如果有不正确的地方希望大家指正 1.问题来源 多标签学习概念的提出源于文档分类中遇到的多义性问题 ...

最新文章

  1. 情感分析:基于循环神经网络
  2. Missing separate debuginfos, use: debuginfo-install
  3. 洛谷 P1176 路径计数2
  4. 用Chrome开发者工具调试一切
  5. 停止复制代理后AWT缓存组的行为
  6. P1198 [JSOI2008]最大数
  7. 清华大学冯珺:基于强化学习的关系抽取和文本分类 | 实录·PhD Talk
  8. boost::statechart模块实现无效结果复制测试
  9. linux读conf文件格式,CONF 文件扩展名: 它是什么以及如何打开它?
  10. C++复习笔记--继承和派生
  11. 如何一键部署项目、代码自动更新
  12. kaggle (02) - 房价预测案例(进阶版)
  13. fiddler之请求过滤(Filters)
  14. 旷视天元开源图片对比工具 MegSpot,助力图像算法研发
  15. ubuntu18.04 安装RabbitVCS
  16. Manjaro Gnome Hidpi 缩放问题
  17. P1878 舞蹈课(二叉堆)
  18. 设计模式之组合模式-树形结构的处理
  19. MySQL事务之不可重复读问题
  20. 导航星历的钟差,TGD问题

热门文章

  1. Cocos2Dx之调度器-欧阳左至
  2. 仿茄子快传的一款文件传输应用
  3. Cty的Linux学习笔记(一)
  4. 泰迪云课堂《数据分析基础》ppt(上)
  5. Jetpack-Lifecycle
  6. WIN7下VisualSVN服务器无法启动的解决
  7. 人工智能知识全面讲解:自然语言处理概述
  8. N个人,按M进行分组
  9. 【python程序设计】基础知识
  10. 2018/03/29