k-means is one of the simplest unsupervised learning algorithms that solve the well-known clustering problem. The procedure follows a simple and easy way to classify a given data set through a certain number of clusters (assume k clusters) fixed apriori. The main idea is to define k centers, one for each cluster. These centers should be placed in a cunning way because of different location causes the different result. So, the better choice is to place them as much as possible far away from each other.

**How the K-means algorithm works**

To process the learning data, the K-means algorithm in data mining starts with the first group of randomly selected centroids, which are used as the beginning points for every cluster, and then performs iterative (repetitive) calculations to optimize the positions of the centroids

**It halts creating and optimizing clusters when either:**

The centroids have stabilized — there is no change in their values because the clustering has been successful.

The defined number of iterations has been achieved.

**How to implement k-mean in machine Learning**

**First import all related libraries:**

```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
%matplotlib inline
```

**Load data set:**

After this Generate random data

```
X= -2 * np.random.rand(100,2)
X1 = 1 + 2 * np.random.rand(50,2)
X[50:100, :] = X1
plt.scatter(X[ : , 0], X[ :, 1], s = 50, c = 'b')
plt.show()
```

**After this fit it into the model:**

```
from sklearn.cluster import KMeans
Kmean = KMeans(n_clusters=2)
Kmean.fit(X)
```

**Finding Centers for each cluster:**

`Kmean.cluster_centers_`

**Output:**

array([[-1.00980872, -0.88487331], [ 1.9868449 , 1.99612843]])

**Display cluster with centers:**

```
plt.scatter(X[ : , 0], X[ : , 1], s =50, c='b')
plt.scatter(-0.94665068, -0.97138368, s=200, c='g', marker='s')
plt.scatter(2.01559419, 2.02597093, s=200, c='r', marker='s')
plt.show()
```

**Test the Result:**

Run this to test the result

**Kmean****.****labels_**

**Output:**

array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])

If anyone is a student and looking for

philosophy essaythen he or she can take help from me. Assignments are those challenging parts of life that do not go away until you are in college. You can take assignment help and get away from the stress.Thanks for sharing such a nice piece of information to us. This is very knowledgeable for me. I am an assignment expert and I am offering

online Assignment Helpto students of Australia and all over the world.