weka数据挖掘拾遗(三)----再谈如果何生成arff

本文介绍如何使用Weka API将CSV格式的特征文件转换为ARFF格式,包括具体步骤及代码示例,并讨论了CSV与ARFF文件在Weka中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前一阵子写过一个arff的随笔,但是写完后发现有些啰嗦。其实如果使用weka自带的api,生成arff文件将变成一件很简单的事儿。

首先,可以先把特征文件生成csv格式的。csv格式就是每列数据都用逗号分隔的一种格式。(还有不清楚的googling一下就知道了)

一、首先看下特征文件怎么保存成csv格式。

1、首行为特征名,以逗号分隔。

2、除首行外的行都为数据行,每列数据都是首行对应的值。(可以是字符串,数字)

例:

二、通过weka的api把上面的csv转化成arff格式文件

  1、weka代码

 1     public static void genArffFile(String input , String output){
 2         try{
 3             File file = new File(input);
 4             CSVLoader csvLoader = new CSVLoader();
 5             csvLoader.setSource(file);
 6             Instances data = csvLoader.getDataSet();
 7             savaInstances(data, output);
 8         }catch(Exception e){
 9             e.printStackTrace();
10         }
11     }
View Code

 

 1     /**
 2      * @function 保存Arff文件
 3      * @param data arff格式的数据
 4      * @param outputPath 数据保存路径
 5      * @return
 6      */
 7     public static boolean savaInstances(Instances data , String outputPath)
 8     {
 9         try{
10             BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
11                     new FileOutputStream(outputPath), Charset.forName("utf-8")));
12 
13             bw.write(data.toString());
14             bw.close();
15         }catch(Exception e){
16             e.printStackTrace();
17             return false;
18         }
19         return true;
20     }
View Code

 

三、总结

  从上面的代码能看出,如果已经生成了csv格式的特征文件,那么生成arff文件也就是几行代码的事情。其实,如果生成了csv格式的特征文件,那么weka是直接可以读取的,之后使用 Instances data = csvLoader.getDataSet(); 这行代码其实就是把数据存到了Instances中,而Instances其实就是保存的arff格式的文件。如果没有其它必要,使用weka时,使用以csv格式的特征文件也是可以的,不必要非得转化成arff格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值