title: K means clustering on unevenly sized clusters
body: <p>I have to use k means clustering (I am using Scikit learn) on a dataset looks like this <a href="https://i.stack.imgur.com/tjOXX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tjOXX.png" alt="enter image description here" /></a></p>
  <p>But when I apply the K means it doesn't give me the centroids as expected. and classifies incorrectly.
  Also What would be the ideas if I want to know the points not correctly classify in scikit learn.
  Here is the code.</p>
  <pre><code>km = KMeans(n_clusters=3, init='k-means++', max_iter=300, n_init=10)
  km.fit(Train_data.values)
  plt.plot(km.cluster_centers_[:,0],km.cluster_centers_[:,1],'ro')
  plt.show()
  </code></pre>
  <p>Here Train_data is pandas frame and having 2 features and 3500 samples and the code gives following.</p>
  <p><a href="https://i.stack.imgur.com/LMFRB.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LMFRB.png" alt="enter image description here" /></a></p>
  <p>I might have happened because of bad choice of initial centroids but what could be the solution ?</p>