【问题标题】:Method undefined for type Java未定义 Java 类型的方法
【发布时间】:2016-06-07 05:09:58
【问题描述】:

很难弄清楚我在这个问题上哪里出错了。在java中使用WEKA构建一个系统来研究关联,并正在尝试实现Apriori算法。目前这是代码:

package model;

import weka.associations.*;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;

public class Apriori {

public static void main(String args[]) throws Exception {
    String dataset = "/Users/andrew/workspace/Movies/src/data/tagsfinal.arff";
    DataSource dsource = new DataSource(dataset);
    Instances dapriori = dsource.getDataSet();


    Apriori apriori = new Apriori();
     apriori.buildAssociations(dapriori);

    System.out.println(apriori);
  }
}

通过查看网络上的几个实现,这似乎是一种被广泛接受的方法,但是我在“apriori.buildAssociations”行收到一个错误,告诉我该方法对于 Apriori 类型是未定义的。此外,我用于关联的导入语句仅用作包类型,并且在尝试将其扩展为时:

import weka.associations.Apriori;

这会引发错误消息“导入 weka.associations.Apriori 与同一文件中定义的类型冲突”。我已经与其他资源一起搜索了 StackOverflow,并意识到那里有很多类型未定义的问题,但是还没有找到解决这个问题的方法。任何帮助/指针将不胜感激。

【问题讨论】:

    标签: java types undefined classification weka


    【解决方案1】:

    您的班级也被命名为 Apriori,因此您遇到了名称冲突。

    您应该将自己的班级名称更改为其他名称(例如AprioriTest)。在不太可能的情况下,您确实需要将您的类命名为 Apriori,那么您必须通过其全名来引用库的实现:

    weka.associations.Apriori apriori = new weka.associations.Apriori();
    apriori.buildAssociations(dapriori);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 2013-08-28
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      相关资源
      最近更新 更多