K-means clustering is a powerful unsupervised machine learning algorithm. It is used to solve many complex machine learning problems.