zoukankan      html  css  js  c++  java
  • Weka 入门2

       现在我们介绍使用Weka来对数据进行分类。对数据进行分类,我们必须先指定那一列作为预测类别。因为数据文件格式的问题,类别一般都是最后一列属性。我们可以使用setClassIndex来设置类别。然后我们要选择分类器,分类器有很多,我们暂时使用J48分类器。对数据进行训练可以使用buildClassifier,然后我们可以用classifyInstance来查看训练数据预测的类别值。当然预测的类别会用数值表示,比如0,1,2....代表预测的值属于第几个类别。例如类别的值为{sunny,rainy}那么0代表sunny,1代表rainy。

    package InstanceTest;
    import weka.core.Instances;
    import weka.classifiers.trees.J48;
    import weka.classifiers.trees.j48.*;
    import java.io.*;
    public class InstanceTest {

    /**
    * @param args
    */
    public Instances data;

    //设置预测类别 默认为最后一个
    public void SetClassIndex(Instances ins)
    {
    ins.setClassIndex(ins.numAttributes()-1);
    }

    public Instances GetInstance(String FileName)throws Exception
    {
    FileReader reader=new FileReader(FileName);
    data=new Instances(reader);
    return data;
    }
    public void classify()throws Exception
    {
    J48 classify=new J48();
    classify.buildClassifier(data);
    System.out.println(classify.classifyInstance(data.instance(0)));   

    }
    public static void main(String[] args) {
    try
    {
    InstanceTest test=new InstanceTest();
    Instances date=test.GetInstance("D://train.arff");
    test.SetClassIndex(date);
    test.classify();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }

    }

    从菜鸟走向大神,这是道路。
  • 相关阅读:
    UVa 11181 (条件概率) Probability|Given
    UVa 1636 (概率) Headshot
    UVa 1262 (第k字典序) Password
    HDU 4746 (莫比乌斯反演) Mophues
    HDU 1695 (莫比乌斯反演) GCD
    POJ 3090 (欧拉函数) Visible Lattice Points
    CodeForces Round #283 Div.2
    UVa 10820 (打表、欧拉函数) Send a Table
    UVa 1635 (唯一分解定理) Irrelevant Elements
    Java基础10 接口的继承与抽象类
  • 原文地址:https://www.cnblogs.com/GuoJiaSheng/p/3833040.html
Copyright © 2011-2022 走看看