*Image source: datascienceplus.com*

K-means clustering is a machine learning clustering technique used to simplify large datasets into smaller and simple datasets. Distinct patterns are evaluated and similar data sets are grouped together. The variable K represents the number of groups in the data. This article evaluates the pros and cons of K-means clustering algorithm to help you weight the benefits of using this clustering technique.

## Pros:

**1. Simple: **It is easy to implement k-means and identify unknown groups of data from complex data sets. The results are presented in an easy and simple manner.

**2. Flexible: **K-means algorithm can easily adjust to the changes. If there are any problems, adjusting the cluster segment will allow changes to easily occur on the algorithm.

**3. Suitable in a large dataset:** K-means is suitable for a large number of datasets and it’s computed much faster than the smaller dataset. It can also produce higher clusters.

**4. Efficient:** The algorithm used is good at segmenting the large data set. Its efficiency depends on the shape of the clusters. K-means work well in hyper-spherical clusters.

**5. Time complexity:** K-means segmentation is linear in the number of data objects thus increasing execution time. It doesn’t take more time in classifying similar characteristics in data like hierarchical algorithms.

**6. Tight clusters: **Compared to hierarchical algorithms, k-means produce tighter clusters especially with globular clusters.

**7. Easy to interpret: **The results are easy to interpret. It generates cluster descriptions in a form minimized to ease understanding of the data.

**8. Computation cost:** Compared to using other clustering methods, a k-means clustering technique is fast and efficient in terms of its computational cost O(K*n*d).

**9. Accuracy:** K-means analysis improves clustering accuracy and ensures information about a particular problem domain is available. Modification of the k-means algorithm based on this information improves the accuracy of the clusters.

**10. Spherical clusters: **This mode of clustering works great when dealing with spherical clusters. It operates with an assumption of joint distributions of features since each cluster is spherical. All the clusters features or characters have equal variance and each is independent of each other.

## Cons:

**1. NoNo-optimal set of clusters:** K-means doesn’t allow development of an optimal set of clusters and for effective results, you should decide on the clusters before.

**2. Lacks consistency:** K-means clustering gives varying results on different runs of an algorithm. A random choice of cluster patterns yields different clustering results resulting in inconsistency.

**3. Uniform effect:** It produces cluster with uniform size even when the input data has different sizes.

**4. Order of values: **The way in which data is ordered in building the algorithm affects the final results of the data set.

**5. Sensitivity to scale: **Changing or rescaling the dataset either through normalization or standardization will completely change the final results.

**6. Crash computer: **When dealing with a large dataset, conducting a dendrogram technique will crash the computer due to a lot of computational load and Ram limits.

**7. Handle numerical data: **K-means algorithm can be performed in numerical data only.

**8. Operates in assumption: **K-means clustering technique assumes that we deal with spherical clusters and each cluster has equal numbers for observations. The spherical assumptions have to be satisfied. The algorithm can’t work with clusters of unusual size.

**9. Specify K-values: **For K-means clustering to be effective, you have to specify the number of clusters (K) at the beginning of the algorithm.

**10. Prediction issues: **It is difficult to predict the k-values or the number of clusters. It is also difficult to compare the quality of the produced clusters.

pretty cool