如何在 Java 中访问 Weka 生成的朴素贝叶斯树?
How can I access Weka produced Naive Bayes trees in Java?
根据我对朴素贝叶斯分类器的理解,会根据“证据”(训练集)为每个标签(或可能性)生成一棵树。使用这些树可以为未来的例子做出预测,例如实例是否可以归类为“异常”或“正常”。
weka 库中有没有办法让我直观地输出每个标签树?或者访问 Java 中的这些树?
谢谢
朴素贝叶斯不生成树,因此可能值得研究使用生成树的分类器,例如 J48。树分类器可以在 WEKA GUI 客户端的 weka/classifiers/trees/ 目录下找到。
朴素贝叶斯分类器的一个例子是:
而 J48 等基于树的分类器的示例是:
可以在 WEKA GUI 和使用 Java 中访问此树。如果使用 WEKA GUI,可以通过右键单击分类结果并按 Visualize tree *:
来可视化树
在 Java 中,可以通过打印分类器对象本身将树打印到控制台中:
//Get File
reader = new BufferedReader(new FileReader(path + "/ArffFile.arff"));
//Get the data
Instances data = new Instances(reader);
reader.close();
//Setting class attribute
data.setClassIndex(data.numAttributes() - 1);
//Make tree
J48 tree = new J48();
String[] options = new String[1];
tree.buildClassifier(data);
//Print tree
System.out.println(tree);
*请注意,默认情况下它也会打印到分类器输出中window。
根据我对朴素贝叶斯分类器的理解,会根据“证据”(训练集)为每个标签(或可能性)生成一棵树。使用这些树可以为未来的例子做出预测,例如实例是否可以归类为“异常”或“正常”。
weka 库中有没有办法让我直观地输出每个标签树?或者访问 Java 中的这些树?
谢谢
朴素贝叶斯不生成树,因此可能值得研究使用生成树的分类器,例如 J48。树分类器可以在 WEKA GUI 客户端的 weka/classifiers/trees/ 目录下找到。
朴素贝叶斯分类器的一个例子是:
而 J48 等基于树的分类器的示例是:
可以在 WEKA GUI 和使用 Java 中访问此树。如果使用 WEKA GUI,可以通过右键单击分类结果并按 Visualize tree *:
来可视化树在 Java 中,可以通过打印分类器对象本身将树打印到控制台中:
//Get File
reader = new BufferedReader(new FileReader(path + "/ArffFile.arff"));
//Get the data
Instances data = new Instances(reader);
reader.close();
//Setting class attribute
data.setClassIndex(data.numAttributes() - 1);
//Make tree
J48 tree = new J48();
String[] options = new String[1];
tree.buildClassifier(data);
//Print tree
System.out.println(tree);
*请注意,默认情况下它也会打印到分类器输出中window。