在Java中使用weka:将实例转化为ARFF文件

来源:互联网 发布:淘宝网长款毛衣 编辑:程序博客网 时间:2024/05/29 13:37

转换器

使用ArffSaver类(weka.core.converters.ArffSaver)来保存一个weka.core.Instances对象到ARFF文件中。

Instances dataSet = ... ArffSaver saver = new ArffSaver(); saver.setInstances(dataSet); saver.setFile(new File("./data/test.arff")); saver.setDestination(new File("./data/test.arff"));   // **not** necessary in 3.5.4 and later saver.writeBatch();

备注:通过使用转换器这种方法可以很容易的将 ArffSaver和其他Saver比如CSVSaver进行转换,使用不同的格式来输出数据。

  •  Weka Examples 中有很多例子,在 wekaexamples.core.converters 包里面
    • book
    • stable-3.6
    • developer


Java I/O

也可以直接使用JAVA I/O类来保存 weka.core.Instances对象

import java.io.BufferedWriter; import java.io.FileWriter; ... Instances dataSet = ... BufferedWriter writer = new BufferedWriter(new FileWriter("./data/test.arff")); writer.write(dataSet.toString()); writer.flush(); writer.close();


备注:通过 weka.core.Instances的toString()方法不能很好的处理大型数据集,因为会将完整的字符串数据写入内存中。最好使用前面讲到的转换器,通过增量的方法来将数据写入磁盘。

0 0
原创粉丝点击