我想在Java中使用weka做一些工作。我在java构建路径中添加了weka-src.jar和weka-dev-3.7.10 jar,并且我的代码在运行之前未显示任何错误。运行代码后,它给我以下错误
Error: Unable to initialize main class selection.ClustererExecution
Caused by: java.lang.NoClassDefFoundError: weka/filters/Filter
这是我的代码:
package selection;
import weka.clusterers.ClusterEvaluation;
import weka.clusterers.SimpleKMeans;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.*;
import weka.filters.unsupervised.attribute.Remove;
public class ClustererExecution {
public static void main(String[] args) {
try {
//Loading data
Instances data = DataSource.read("/Data_Cortex_Nuclear.arff");
System.out.println("The number of attributes is: " + data.numAttributes() + " while the number of instances is: " + data.numInstances());
data.setClassIndex(data.numAttributes()-1);
System.out.println("The class index is: " + data.classIndex());
//Create copy without class attribute
Remove rem = new Remove();
rem.setAttributeIndices("" + (data.classIndex() + 1));
rem.setInputFormat(data);
Instances dataClusterer = Filter.useFilter(data, rem);
//Build clusterer
SimpleKMeans clusterer = new SimpleKMeans();
clusterer.setMaxIterations(100);
clusterer.setNumClusters(8);
clusterer.buildClusterer(dataClusterer);
//Evaluate clusterer with original data
ClusterEvaluation eval = new ClusterEvaluation();
eval.setClusterer(clusterer);
eval.evaluateClusterer(data);
System.out.println(eval.clusterResultsToString());
}
catch(Exception e) {
e.printStackTrace();
}
}
}
有人知道如何解决该错误吗?谢谢!
如Zastai在下面的评论中所述,您已将weka jar添加到了构建路径,但是相关的weka jar也必须位于类路径中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句