У меня есть простой двухмерный набор данных, который я хочу сгруппировать агломеративным способом (не зная оптимального количества кластеров для использования). Единственный способ успешно сгруппировать данные - это присвоить функции значение maxclust.
Для простоты предположим, что это мой набор данных:
X=[ 1,1;
1,2;
2,2;
2,1;
5,4;
5,5;
6,5;
6,4 ];
Естественно, я хотел бы, чтобы эти данные сформировали 2 кластера. Я понимаю, что если бы я знал это, я мог бы просто сказать:
T = clusterdata(X,'maxclust',2);
и чтобы найти, какие точки попадают в каждый кластер, я мог бы сказать:
cluster_1 = X(T==1, :);
и
cluster_2 = X(T==2, :);
, но не зная, что 2 кластера были бы оптимальными для этого набора данных, как кластеризовать эти данные?
Спасибо