A data scientist is working with a large dataset containing customer transaction histories. The goal is to identify groups of customers with similar purchasing behaviors without any predefined labels for customer types. The dataset is known to contain outliers and the resulting clusters are expected to be of arbitrary shapes and varying sizes. Which of the following unsupervised learning algorithms is most suitable for this task?
-
A
K-Means Clustering
-
B
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
-
C
Principal Component Analysis (PCA)
-
D
Agglomerative Hierarchical Clustering