很难弄清楚我在这件事上哪里出了问题。在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);
}
}从跨web的几个实现来看,这似乎是一种被广泛接受的方法,但是我在"apriori.buildAssociations“行上收到了一个错误,告诉我该方法对于Apriori类型是未定义的。此外,我为关联使用的导入语句仅用作包类型,并且在尝试将其扩展到:
import weka.associations.Apriori;这会引发“导入weka.associations.Apriori与同一文件中定义的类型冲突”的错误消息。我已经搜索了StackOverflow和其他资源,并意识到有很多类型的未定义的问题,但是还没有找到解决这个问题的办法。任何帮助/指示都将不胜感激。
发布于 2016-02-24 18:35:18
您的类也被命名为Apriori,因此您正在经历名称冲突。
您应该将自己类的名称更改为不同的名称(例如,AprioriTest)。在不太可能的情况下,您确实需要将类命名为Apriori,那么您必须使用它的全名来引用库的实现:
weka.associations.Apriori apriori = new weka.associations.Apriori();
apriori.buildAssociations(dapriori);https://stackoverflow.com/questions/35610155
复制相似问题