gpt4 book ai didi

java - 使用 Weka 查找实例分配到的集群

转载 作者:行者123 更新时间:2023-12-01 04:38:31 25 4
gpt4 key购买 nike

我使用带有 AddCluster Filter 的 EM 集群器来查看训练后哪些实例被分配给不同的集群。下面是我正在使用的代码。我无法确定我是否正确应用了过滤器,但是一旦我有了新实例,我仍然不知道如何从中获取集群信息。我确信这只是一个简单的 getBlah() 调用,但我只是没有找到它。提前致谢。

public Cluster()
{
clusterer = new EM();
filter = new AddCluster();

try
{
clusterer.setMaxIterations(100);
clusterer.setNumClusters(20);
filter.setClusterer(clusterer);
}
catch (Exception e)
{
e.printStackTrace();
}
}

public void buildCluster(String fileName)
{
try
{
DataSource source = new DataSource(fileName);
inst = source.getDataSet();
filter.setInputFormat(inst);
inst = AddCluster.useFilter(inst, filter);
}
catch (Exception e)
{
e.printStackTrace();
}
}

最佳答案

我认为你应该使用“Dictionary”类。这是我的示例代码:

Enumeration clusteredInst = data_to_use.enumerateInstances();<br> 
Dictionary<Integer, ArrayList<Instance>> clusteredSamples = new ashtable<>();


while (clusteredInst.hasMoreElements()) {<br>
Instance ins = (Instance) clusteredInst.nextElement();<br>
int clusterNumb = em.clusterInstance(ins);<br>
ArrayList<Instance> cls = null;<br>
cls = clusteredSamples.get(clusterNumb);<br>
if (cls != null) {<br>
cls.add(ins);<br>
} else {<br>
cls = new ArrayList<>();<br>
cls.add(ins);<br>
//you add elements to dictionary using put method<br>
//put(key, value)<br>
clusteredSamples.put(clusterNumb, cls);<br>
}
}

您还可以通过调用它的 Key 从字典中检索数据。

关于java - 使用 Weka 查找实例分配到的集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com