liboss

            夫为道者,譬如一人与万人战,挂铠出门,意或怯弱,或半路而退,或格斗而死,或得胜而还。沙门学道,应当坚持其心,精进勇锐,不畏前境,破灭众魔,而得道果!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
package kit.weka; 
 
import java.io.File;
import weka.classifiers.CheckClassifier;
import weka.classifiers.Classifier;
import weka.classifiers.Evaluation;
import weka.classifiers.evaluation.*;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.*; 
 
public class NaiveBayesTest 
{
    public static void main(String[] args) 
    {
       Instances ins = null;
       Classifier cfs = null; 
 
       try 
       {
           //读入训练测试样本
           File file = new File("d:\\Program Files\\Weka-3-7\\data\\contact-lenses.arff");
           ArffLoader loader = new ArffLoader();
           loader.setFile(file);
           ins = loader.getDataSet();
           ins.setClassIndex(ins.numAttributes()-1); 
 
           //初始化分类器
           cfs = (Classifier)Class.forName("weka.classifiers.bayes.NaiveBayes").newInstance(); 
 
           //使用训练样本进行分类
           cfs.buildClassifier(ins); 
 
           //使用测试样本测试分类器的学习效果
           Instance testInst;
           Evaluation testingEvaluation = new Evaluation(ins);
           int length = ins.numInstances();
           for(int i = 0; i < length ; i++)
           {
              testInst = ins.instance(i);
              testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs, testInst);
           } 
 
           //打印分类结果
           System.out.println("分类的正确率"+(1-testingEvaluation.errorRate())); 
 
       } 
       catch (Exception e) 
       {
           e.printStackTrace();
       }
    }
} 
posted on 2014-01-03 09:58  lam99v  阅读(637)  评论(0编辑  收藏  举报