【问题标题】:Type mismatch: cannot convert from J48 to Classifier类型不匹配:无法从 J48 转换为分类器
【发布时间】:2019-06-02 17:05:44
【问题描述】:

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

【问题讨论】:

  • 欢迎来到stackoverflow。最佳做法是将错误消息的内容作为文本发布。不鼓励将文本作为图像发布。

标签: java weka


【解决方案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() 将引用正确的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-16
    • 2016-03-13
    • 2014-02-12
    • 2014-04-16
    • 2017-12-31
    • 1970-01-01
    • 2015-11-18
    • 2014-04-07
    相关资源
    最近更新 更多