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


    前一阵子写过一个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格式。

  • 相关阅读:
    http://code.google.com/p/restassured/wiki/Usage#Usage
    TestNG如何修改运行结果(通过使用监听器和报表器,可以很轻松的生成自己的TestNG报表)
    MongoDB笔记
    分布式搜索elasticsearch配置文件详解
    分布式搜索ElasticSearch几个概念解析
    android rom制作
    正确配置Linux系统ulimit值的方法
    分布式搜索ElasticSearch单机与服务器环境搭建
    Mongodb亿级数据量的性能测试
    Too many open files问题分析
  • 原文地址:https://www.cnblogs.com/nocml/p/4524918.html
Copyright © 2020-2023  润新知