Hey guys, So here comes the tenth blog of the Handwritten notes series which we started. We will be talking about **KMeans** in this blog. I have uploaded my handwritten notes below and tried to explain them in the shortest and best way possible.

The first blog of this series was **NumPy Handwritten Notes** and the second was **Pandas Handwritten Notes**. If you haven’t seen those yet, go check them out.

### Let’s go through the KMeans notes…

**KMeans is an unsupervised learning clustering algorithm that attempts to group similar data together in clusters.****It is widely used in:**- Clustering similar documents.
- Clustering customers based on features
- Market Segmentation
- Identifying similar physical groups
**Working of KMeans:****Step 1**– Choose k.**Step 2**– Then randomly assign k cluster centers.**Step 3**– Now assign each data point to a cluster center based on the least distance. In this way, the initial guess of clusters is performed.**Step 4**– We will now find the cluster centroids of these clusters and these centroids will be the new cluster centers.**Step 5**– Now we will update the clusters as we did in Step 3 and Step 4 and in this way, we will keep on updating the clusters till the clusters stop changing.- There is no easy way of choosing the best “k” value. One way which gives satisfactory results is the Elbow method.
- First of all, it computes the Sum of Squared Errors for some k values like 2,4,6,8, etc.

- SSE is defined as the
**square of the distance between each member of the cluster and cluster centroids**. - If you plot k against SSE, you will see the
**error decreases as k increases**. This is because**when the number of clusters increases, cluster size decreases, and hence the distortion is also less.** - The idea of the “k” method is to choose the “k” where
**SSE decreases abruptly**. - This produces an
**elbow effect**in the graph as you can see in the image above.

- Here we are first creating our own data using
**sklearn.datasets.make_blobs**and then we will fit KMeans on this data.

Do let me know if there’s any query regarding KMeans by contacting me on email or LinkedIn.

*So this is all for this blog folks, thanks for reading it and I hope you are taking something with you after reading this and till the next time ?…*

**READ MY PREVIOUS BLOG: ***DECISION TREES – LAST-MINUTE NOTES*

**Check out my other machine learning projects, deep learning projects, computer vision projects, NLP projects, Flask projects at machinelearningprojects.net**.