The correct answer is D. 1, 2 and 4.
K-means clustering is an iterative algorithm that aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean, serving as a prototype of the cluster.
K-means clustering is a simple and widely used algorithm, but it has some limitations. One limitation is that it is sensitive to outliers. Outliers are data points that are very different from the other data points in the dataset. K-means clustering can be easily misled by outliers and assign them to the wrong cluster.
Another limitation of K-means clustering is that it is not robust to different densities. Data points with different densities can be difficult to cluster together. K-means clustering can sometimes assign data points with different densities to the same cluster, even though they are not really similar.
Finally, K-means clustering is not well-suited for data points with non-convex shapes. Non-convex shapes are shapes that do not have a single interior point. K-means clustering can sometimes assign data points with non-convex shapes to the wrong cluster.
In conclusion, K-means clustering is a simple and widely used algorithm, but it has some limitations. It is sensitive to outliers, it is not robust to different densities, and it is not well-suited for data points with non-convex shapes.