Может ли кто-нибудь предложить алгоритм кластеризации, который может работать с матрицей расстояний в качестве входных данных? Или алгоритм, который может оценить «качество» кластеризации также на основе матрицы расстояний?
В данный момент я использую модификацию алгоритма Крускала (http://en.wikipedia.org/wiki/Kruskal%27s_algorithm), чтобы разделить данные на два кластера. Но есть проблема. Когда у данных нет отдельных кластеров, алгоритм по-прежнему будет создавать два кластера, один из которых содержит один элемент, а другой - все остальные. В этом случае я бы предпочел иметь один кластер, содержащий все элементы, а другой - пустой.
Существуют ли какие-либо алгоритмы, способные выполнять такой тип кластеризации?
Существуют ли какие-либо алгоритмы, которые могут оценить, насколько хорошо была выполнена кластеризация или даже лучше, сколько кластеров содержится в данных?
Алгоритмы должны работать только с матрицами расстояний (подобия) в качестве входных данных.