K-Mean Cluster - Working with Machine learning Unsupervised Algorithm

K-means clustering is one of the simplest and popular unsupervised machine learning algorithms.


Here unsupervised mean, its interference with datasets without referring to known, or labeled outcomes.


First, we need to created random clusters and these are points to the centroid. After this find the distance from each centroid until we will not get the correct result. It works with using repeating some numbers of iterations.


Steps to do it


First, import all related libraries like skit-learn and use some random data to illustrate a K-means clustering simple explanation.


Import libraries


import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from sklearn.cluster import Kmean

%matplotlib inline


Generate random data


Then after this, we will generate random data.

-------------------------------------------------------------

center_1 = np.array([1,1])

center_2 = np.array([2,8])

center_3 = np.array([10,8])


X = 2+2.5 *np.random.rand(200,2) + center_1

X1 = 2+2 *np.random.rand(200,2) + center_2

X2 = 1+2 *np.random.rand(200,2) + center_3

data = np.concatenate((X, X1, X3), axis = 0)

plt.scatter(X[:,0], X[:,1], s=7, c='b', label = 'Cluster 1')

plt.scatter(X1[:,0], X1[:,1], s=7, c='r')

plt.scatter(X2[:,0], X2[:,1], s=7, c='k')

plt.show()


---------------------------------------------------------------

It draws like this:

K-Mean Cluster - Working with Machine learning Unsupervised Algorithm

Then after this fit into the Kmean Algorithms:

----------------------------------------------


from sklearn.cluster import

KMeansKmean = KMeans(n_clusters=2)

Kmean.fit(data)


----------------------------------------------


Find the centroid of each cluster


---------------------------------------------

Kmean.cluster_centers_

---------------------------------------------

Outputs look like that:

array([[ 4.25116126, 4.23343225],

[ 4.89833143, 10.92433901],

[ 2.029634 , 2.10565485]])


Use these center points to draw on clusters as below code:


-------------------------------------------------------

plt.scatter(X[:,0], X[:,1], s=7, c='b', label = 'Cluster 1')

plt.scatter(X1[:,0], X1[:,1], s=7, c='r')

plt.scatter(X2[:,0], X2[:,1], s=7, c='k')

color = ['red','green','yellow']

plt.scatter(2.029634, 2.10565485, s=200, c=color[0], marker='*', label='centroid 1')

plt.legend()

plt.show()



---------------------------------------------------------


I hope this blog is more helpful in creating clusters and finding centers of each cluster and then plot each clusters with the centroids.

Thanks for reading this blog if you need any type of help related to the python machine learning then contact here or comments below so that we can solve our issue and give and reply.

Contact Us

Tel: (+91) 0120  4118730  

Time :   10 : 00  AM -  08 : 00 PM IST 

Registered address: G-69, Sector 63, 

 Noida - 201301, India

We Provide Services Across The different countries

USA    Australia   Canada   UK    UAE    Singapore   New Zealand    Malasia   India   Ireland   Germany

CodersArts is a Product by Sofstack Technology Solutions Pvt. Ltd.

  • CodersArts | Linkedin
  • Instagram