【发布时间】:2012-08-21 18:11:31
【问题描述】:
我搜索了很多,但我找不到任何示例代码,其中描述了如何使用 WEKA HierarchicalClusterer。使用以下 C# 代码会在“agg.buildClusterer(insts);”处给我一个 IllegalArgumentException。
weka.clusterers.HierarchicalClusterer agg = new weka.clusterers.HierarchicalClusterer();
agg.setNumClusters(NumCluster);
/*
Tag[] TAGS_LINK_TYPE = agg.getLinkType().getTags();
agg.setLinkType(new SelectedTag(1, TAGS_LINK_TYPE));
*/
agg.buildClusterer(insts);
for (int i = 0; i < insts.numInstances(); i++)
{
int clusterNumber = agg.clusterInstance(insts.instance(i));
}
StackTrace 说:
at java.util.PriorityQueue..ctor(Int32 initialCapacity, Comparator comparator)
at weka.clusterers.HierarchicalClusterer.doLinkClustering(Int32 , Vector[] , Node[] )
at weka.clusterers.HierarchicalClusterer.buildClusterer(Instances data)
但没有指定 Message 或 InnerException。 变量“insts”是一个Instances-object,它只保存具有等量数值属性的实例。
是否有人能够快速找到我的错误,或者请发布/链接一些示例代码? 另外,LinkType(注释代码)的设置是否正确?
谢谢, 比约恩
【问题讨论】:
-
您可能想查看其他应用程序。 Weka 对集群的支持很少,而且速度很慢。
-
@Anony-Mousse 有什么特别针对 C# 开发人员的建议吗?我认为这就是让我们希望 Weka 在这项任务上如此糟糕地工作的变量。
-
Weka 不是原生 C#,而是 Java。如果您已经使用 Java-C# 桥接器,不妨试试其他 Java 软件。
标签: machine-learning cluster-analysis weka hierarchical-clustering