I'm using the hierarchical clustering to generate groups from unlabeled dataset (or observations). I’m using the matlab function Z_SAMPLES = linkage(id,'average','@distcustomfun'); with my custom function distcustomfun.

I’m interested in finding the observation the most representative of each cluster? Any idea how can I find this observation.

  • $\begingroup$ Any sane idea will do. You may define a representative observation as, for example, the medoid of a cluster. You should be aware, however, that you have used linkage method average which itself is not tied with an idea of medoid, centroid or other "representative" or "central" place inside the cluster. So, your representative observation will be not related to the optimization function done by the clustering. $\endgroup$ – ttnphns Feb 10 '16 at 10:12
  • $\begingroup$ @ttnphns I was thinking to calculate the distance between the observations in each cluster, and pike the observation that has minimum distance. What do you think? $\endgroup$ – Omar14 Feb 10 '16 at 10:20
  • $\begingroup$ You are probably thinking of the medoid. Search/Read about it on this site and the internet. $\endgroup$ – ttnphns Feb 10 '16 at 10:23

Hierarchical clustering will usually not compute a representative object? Because that costs time and is not needed for the algorithm. Even "centroid" linkage does not compute the position of the centroid.

Thus. don't look for such a function - it does not exist.

If you want a representative object. roll your own logic.

For example, the object with the least average or least squared average distance to all others of the same cluster, or the arithmetic mean (if you have coordinates) could be of interest.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.