cluster-analysis - Weka 简单的 K 均值聚类分配

标签 cluster-analysis data-mining weka k-means

我有一个感觉像一个简单的问题,但我似乎无法找到答案。我对 Weka 还很陌生,但我觉得我已经对此做了一些研究(至少通读了谷歌搜索结果的前几页)并得出了结论。

我正在使用 Weka 使用 Simple K-Means 运行聚类。在结果列表中,我可以毫无问题地可视化我的输出(“可视化集群分配”),并且从我对 K-Means 算法和 Weka 的输出的理解中可以清楚地看出,我的每个实例都最终成为了不同的集群(以一个特定的质心为中心,如果你愿意的话)。

我可以从文本输出中看到一些集群组成。然而,Weka 没有为我提供从实例编号到集群编号的明确“映射”。我想要类似的东西:

instance 1 --> cluster 0
instance 2 --> cluster 0
instance 3 --> cluster 2
instance 4 --> cluster 1
... etc.

如何在不自行计算每个项目到每个质心的距离的情况下获得这些结果?

最佳答案

我有同样的问题并想通了。如果有人需要知道,我将在此处发布该方法:

其实很简单,你必须使用Weka的java api。

SimpleKMeans kmeans = new SimpleKMeans();

kmeans.setSeed(10);

// This is the important parameter to set
kmeans.setPreserveInstancesOrder(true);
kmeans.setNumClusters(numberOfClusters);
kmeans.buildClusterer(instances);

// This array returns the cluster number (starting with 0) for each instance
// The array has as many elements as the number of instances
int[] assignments = kmeans.getAssignments();

int i=0;
for(int clusterNum : assignments) {
    System.out.printf("Instance %d -> Cluster %d", i, clusterNum);
    i++;
}

关于cluster-analysis - Weka 简单的 K 均值聚类分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685961/

相关文章:

data-mining - 从数据挖掘开始

python - 从 python 输出创建 ARFF 文件

statistics - 使用 PCA 降维后对数据进行聚类

python - 如何在 scipy 创建的树状图中获得与颜色簇相对应的平面聚类

c# - 如何计算聚类熵?工作示例或软件代码

machine-learning - WEKA ROC CURVE - 色彩诠释

machine-learning - 使用预定义折叠在 Weka 中进行交叉验证

python - 设置 SQLite 数据库进行聚类分析

python - 多元时间序列的 LSTM 输入形状?

python - 如何对 Word2Vec 进行聚类