Подтвердить что ты не робот

Weka простые K-средства кластеризации

У меня есть то, что кажется простой проблемой, но я не могу найти ответа. Я новичок в Weka, но мне кажется, что я немного поработал над этим (по крайней мере, прочитал первые две страницы результатов Google) и придумал сухую.

Я использую 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.

Как получить эти результаты, не вычисляя расстояние от каждого элемента до каждого центроида самостоятельно?

4b9b3361

Ответ 1

У меня была такая же проблема, и я понял это. Я размещаю метод здесь, если кому-то нужно знать:

На самом деле это довольно просто, вы должны использовать 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++;
}

Ответ 2

Ага, я думаю, я нашел то, что искал. Под визуализатором кластера нажмите "Сохранить". Это сохраняет весь набор данных как файл ARFF, почти идентичный файлу ввода, который я предоставил, но с двумя новыми атрибутами: первым атрибутом является индекс экземпляра, а последним атрибутом является назначение кластера. Теперь мне просто нужно разобрать дерьмо из этого!