title: Scipy clustering: which method to use in fcluster for simple grouping?
body: <p>There are myriad of optins in the <a href="http://docs.scipy.org/doc/scipy/reference/cluster.hierarchy.html#module-scipy.cluster.hierarchy" rel="nofollow">scipy clustering module</a>, and I'd like to be sure that I'm using them correctly. I have a symmetric distance matrix <code>DR</code> and I'd like to find all clusters such that any point in the cluster has a neighbor with a distance of no more than 1.2. </p>
  
  <pre><code>L = linkage(DR,method='single')
  F = fcluster(L, 1.2)
  </code></pre>
  
  <p>In <code>linkage</code>, I'm pretty sure <code>single</code> is what I want (the Nearest Point Algorithm). However for <code>fcluster</code>, I <em>think</em> I want the default, ‘inconsistent’, method:</p>
  
  <blockquote>
    <p>‘inconsistent’: If a cluster node and all its descendants have an inconsistent value less than or equal to t then all its leaf descendants belong to the same flat cluster. When no non-singleton cluster meets this criterion, every node is assigned to its own cluster. (Default) </p>
  </blockquote>
  
  <p>But maybe it's the ‘distance’ method:</p>
  
  <blockquote>
    <p>‘distance’: Forms flat clusters so that the original observations in each flat cluster have no greater a cophenetic distance than t.</p>
  </blockquote>
  
  <p>... I'm not sure. Which one to use? What does cophenetic distance distance mean in this context?</p>