java语言调用weka

简单列举几个demo,详细代码见:
http://download.csdn.net/detail/kaikai_sk/9827913

package callWeka;

import java.io.File;

import weka.core.Instances;
import weka.core.converters.CSVSaver;
import weka.core.converters.ConverterUtils.DataSink;
import weka.core.converters.ConverterUtils.DataSource;

public class Arff2CSV
{
    public static void main(String[] args) throws Exception 
    {
        Instances data=new Instances(DataSource.read("data/weather.nominal.arff"));
        System.out.println("完成加载数据");
        DataSink.write("data/weather.csv", data);
        System.out.println("完成使用DataSink类保存数据");

        //明确指定转换器,保存为csv文件
        CSVSaver saver=new CSVSaver();
        saver.setInstances(data);
        saver.setFile(new File("data/weather2.csv"));
        saver.writeBatch();
        System.out.println("完成制定CSVsaver保存csv文件");

    }
}
package callWeka;

import java.nio.file.DirectoryStream.Filter;

import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.unsupervised.attribute.Remove;

public class OptionHandler
{
    public static void main(String[] args) throws Exception 
    {
        //加载数据文件
        Instances data=new Instances(DataSource.read("data/weather.nominal.arff"));
        System.out.println("数据集内容");
        System.out.println(data);

        //手工组装string数组
        System.out.println("\n\n手工组装string数组");
        String[] options=new String[2];
        options[0]="-R";
        options[1]="1";
        Remove rm=new Remove();
        //移除数据集的第一列
        rm.setOptions(options);
        //数据集过滤
        rm.setInputFormat(data);
        Instances inst1=weka.filters.Filter.useFilter(data, rm);
        System.out.println("数据集过滤后的内容");
        System.out.println(inst1);

        //使用weka.core.Utils类里面的splitOptions(String)方法
        System.out.println("使用Utils类里面的splitOptions(String)方法");
        String[] options2=weka.core.Utils.splitOptions("-R 1");
        Remove rm2=new Remove();
        rm2.setOptions(options2);
        rm2.setInputFormat(data);
        Instances inst2=weka.filters.Filter.useFilter(data, rm2);
        System.out.println("数据集过滤后的内容");
        System.out.println(inst2);

        //使用属性的set方法
        System.out.println("\n\n 使用属性的set方法");
        Remove rm3=new Remove();
        rm3.setAttributeIndices("1");
        rm3.setInputFormat(data);
        Instances inst3=weka.filters.Filter.useFilter(data, rm3);
        System.out.println("数据集过滤后的内容");
        System.out.println(inst3);
















    }
}
package callWeka;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;

public class testWeka 
{
    public static void main(String[] args) throws Exception 
    {
        DataSource source=new DataSource("/data/web_2_49_s1.csv");
        Instances data=source.getDataSet();
        if(data.classIndex()==-1)
        {
            data.setClassIndex(data.numAttributes()-1);
        }
    }
}
package callWeka;

import java.io.File;

import weka.core.Instances;
import weka.core.converters.ArffLoader;
import weka.core.converters.Loader;
import weka.core.converters.ConverterUtils.DataSource;

public class LoadArffFile 
{
    public static void main(String[] args) throws Exception 
    {
        System.out.println("使用DataSource类的read方法来加载arff文件");
        Instances data1=DataSource.read("data/weather.nominal.arff");
        System.out.println("数据集内容:");
        System.out.println(data1);

        System.out.println("使用直接制定加载器的方法来加载Arff文件");
        //创建ArffLoader实例
        ArffLoader arffLoader=new ArffLoader();
        arffLoader.setSource(new File("data/weather.nominal.arff"));
        Instances data2=arffLoader.getDataSet();
        System.out.println("数据集内容");
        System.out.println(data2);

    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值