数据挖掘(一)

import java.io.File;
import weka.classifiers.Classifier;
import weka.classifiers.Evaluation;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.ArffLoader;

public class Test
{
    public void main(String[] agrs)
   {
        try
        {
          /*
           * 读入训练序列、测试样本
             * 这里将训练序列和测试样本作为同一个样本
             */
           File file = new file("D://Program Files//Weka-3-6//data//contatct-lenses.arff");
           ArffLoader loader = new ArffLoader();
           loader.setFile(file);
           Instances ins = loader.getDateSet();                  
             
           //使用样本之前,一定要首先设置instances的classIndex,否则在使用时会抛出异常
             ins.setClassIndex(ins.numAttributes()-1);

           /*
            *初始化分类器
              *具体使用哪一种特定的分类器可以进行选择,将特定分类器的名称放到forName函数
              *这样就构建了一个简单的分类器
              */

            Classifier cfs = (Classifier)Class.foreName("weka.classifiers.bayes.NavieBayes").newInstance();
              
            /*
             *使用训练样本训练分类器
               */
cfs.buildClassifier(ins); /* *使用测试样本测试分类器的学习效果
*这里使用的训练样本和测试样本是同一个,实际中需要读入一个特定的测试样本
*/ Instance testIns; /* * Evaluation: Class for evaluating machine learning models * 即它是用于检测分类模型的类 */ Evaluation testingEvaluation = new Evaluation(ins); int length = ins.numInstances();
for (int i =0; i < length; i++) {
testInst
= ins.instance(i); //通过这个方法来用每个测试样本测试分类器的效果 testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs, testInst); } /* * 打印分类结果 * 在这里我们打印了分类器的正确率 * 其它的一些信息我们可以通过Evaluation对象的其它方法得到 */ System.out.println( "分类器的正确率:" + (1- testingEvaluation.errorRate())); }catch(Exception e) { e.printStackTrace(); } } }

链接:http://blog.csdn.net/anqiang1984/article/details/4040571

数据挖掘的一般过程

1.读入训练、测试样本

2.初始化分类器

3.使用训练样本训练分类器

4.使用测试样本测试分类器的学习效果

5.打印分类结果

原文地址:https://www.cnblogs.com/buptlyn/p/3620397.html