In canopy clustering http://www.kamalnigam.com/papers/canopy-kdd00.pdf, if a sample falls in an overlap of 2 canopies, how do we choose its cluster?

  • 3
    $\begingroup$ Please provide some background and make the question self-contained. $\endgroup$
    – Kaveh
    Jul 3, 2013 at 18:10

1 Answer 1


As thoroughly exaplained in: http://net.pku.edu.cn/~course/cs402/2012/book/%5BMahout.in.Action%282011%29%5D.Sean.Owen.pdf

Canopies aren't normally used for clustering, but merely as a single-iteration pre-stage for k-means, for choosing the initial k centroids.

But, if you insist on using the canopies as clusters, you can ask CanopyDriver to also cluster the data, and it will use the closest canopy for each point:

      Canopy closest = clusterer.findClosestCanopy(vw.get(), clusters);
      writer.append(new IntWritable(closest.getId()),
          new WeightedVectorWritable(1, vw.get()));

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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