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
    Commented 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 you have read our privacy policy.

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