Clustering analysis falls under the banner of both supervised learning and unsupervised learning. As a supervised learning technique, clustering is used to classify new data points into existing clusters through k-nearest neighbors (k-NN) and as an unsupervised learning technique, clustering is applied to identify discrete groups of data points through k-means clustering. Although there are other forms of clustering techniques, these two algorithms are generally the most popular in both machine learning and data mining.