java - 如何解决错误:无法初始化主类选择。ClustererExecution
问题描述
我想在 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();
}
}
}
有谁知道如何解决这个错误?如果这有什么不同,我正在使用 eclipse。谢谢!
解决方案
正如 Zastai 在下面的评论中所说,您将 weka jar 添加到构建路径中,但相关的 weka jar 也需要在类路径中。
推荐阅读
- html - 如何从我的 Bootstrap 网格列中删除空白空间?
- reactjs - 为什么我无法读取 redux 中 mapstatetoprops 中未定义的属性
- javascript - 通过 T-SQL 查询或 C# 或 Javascript/AngularJs 1 从多个列和行中获取日期最高的记录
- ios - 将字典值作为空值传递给 alamofire 服务 ios swift
- javascript - 不在同一窗口中打开 href (javascript)
- delphi - myForm.OnPaint 调用 Delphi 10.2 中的每个 oneControl.onMouseMove 事件
- c# - C# 空路径名不合法 - Winform
- logging - O(log n) 是所有情况下的最佳运行时间吗?
- c# - 为什么我的交易在超过一定数量的插入时会失败?
- angular - Angular6:使用 Lodash 的记忆功能会出错