我是Weka的新来者。我想使用Weka自我训练模型。创建项目时,我已经导入了weka.jar。但是我想知道如何解决这个问题?
预先感谢您的帮助。



import java.io.File;

import weka.classifiers.Classifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffLoader;

public class J48 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Classifier m_classifier = new J48();

最佳答案

您已经创建了一个名为J48的新类,该类不会继承任何基类或实现任何接口,因此错误消息是正确的:


  无法从J48转换为分类器


您可能想实例化Weka的J48分类器。您可以使用其完全限定名称来做到这一点:

Classifier m_classifier = new weka.classifiers.trees.J48();


(另请参见:Java: import statement vs fully qualified name?

但是您通常应该避免这些名称冲突,并将您的类重命名为其他名称,例如:

public class J48Demo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Classifier m_classifier = new J48();


您已经导入了正确的程序包,因此通过重命名类new J48()解决名称冲突将引用正确的类。

10-07 15:28