类型不匹配:无法从J48转换为分类器

时间:2019-01-08 02:23:20

标签: java weka

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

enter image description here

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();

1 个答案:

答案 0 :(得分:1)

您已经创建了一个名为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()来解决名称冲突将引用正确的类。