Java/WEKA:K群集错误:无法处理任何类属性
另外,我如何设置两个随机质心开始。我认为setSeed()方法可以做到这一点,但如何使用数据集将其发送到word?我的csv文件如下所示: 并将其加载为:Java/WEKA:K群集错误:无法处理任何类属性,java,weka,Java,Weka,另外,我如何设置两个随机质心开始。我认为setSeed()方法可以做到这一点,但如何使用数据集将其发送到word?我的csv文件如下所示: 并将其加载为: weka.core.WekaException: weka.clusterers.SimpleKMeans: Cannot handle any class attribute! at weka.core.Capabilities.test(Unknown Source) at weka.core.Capabilities.
weka.core.WekaException: weka.clusterers.SimpleKMeans: Cannot handle any class attribute!
at weka.core.Capabilities.test(Unknown Source)
at weka.core.Capabilities.test(Unknown Source)
at weka.core.Capabilities.testWithFail(Unknown Source)
at weka.clusterers.SimpleKMeans.buildClusterer(Unknown Source)
at hmm.HMM.run(HMM.java:62)
at hmm.HMM.main(HMM.java:22)
Exception in thread "main" java.lang.NullPointerException
at hmm.HMM.run(HMM.java:71)
at hmm.HMM.main(HMM.java:22)
以下是加载时有关属性的一些信息:
Instances instancesOne = loader.loadCsv("train", "class1");
回答,需要此代码来减少实例类(删除类属性):
dataset:
@relation class1
@attribute x numeric
@attribute y numeric
@data
-9.0278,3.1518
-9.5656,3.6383
-9.805,3.8284
etc...
我不相信K-Means集群需要class属性。如果已为实例设置了一个,请尝试删除它并重新运行代码。可能有助于建立聚类模型的方法
希望这有帮助 “你的代码中抛出的异常在哪里?”MatthewSpencer更新了一个问题,请注意!奇怪的是,我在你发布的链接中收到了与EM方法相同的错误。我如何删除这个类属性,它似乎是邪恶的根源!你是对的,我必须手动删除class属性。
dataset:
@relation class1
@attribute x numeric
@attribute y numeric
@data
-9.0278,3.1518
-9.5656,3.6383
-9.805,3.8284
etc...
// remove class attribute, make class-less
Instances dataClusterer = null;
weka.filters.unsupervised.attribute.Remove filter = new weka.filters.unsupervised.attribute.Remove();
filter.setAttributeIndices("" + (instancesOne.classIndex() + 1));
try {
filter.setInputFormat(instancesOne);
dataClusterer = Filter.useFilter(instancesOne, filter);
} catch (Exception e1) {
e1.printStackTrace();
return;
}