maven依赖包
<dependency> <groupId>nz.ac.waikato.cms.weka</groupId> <artifactId>weka-stable</artifactId> <version>3.6.6</version> </dependency>
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>22.0</version> </dependency>
public static void testBays(){ Instances ins = null; Classifier cfs = null; try { // 读入训练测试样本 String file_str= Resources.getResource("weka_data/contact-lenses.csv").getFile(); File file = new File(file_str); //ArffLoader loader = new ArffLoader(); CSVLoader loader = new CSVLoader(); 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())); System.out.println(Arrays.deepToString(testingEvaluation.confusionMatrix())); System.out.println(testingEvaluation.toSummaryString()); System.out.println(testingEvaluation.toClassDetailsString()); } catch (Exception e) { e.printStackTrace(); } }