Clustering is an UnSupervised ML model that is used to group similar observations together into clusters based on some similarity metric like we use in KNN model.
It maintains the homogeneity inside the clusters and heterogeneity between the clusters.
Major Algorithms for Clustering are:
Partition Based Clustering
Hard Clustering (Non_Overlapping Clusters)
K-means (MiniBatch Variation is more popular)
Centroid based
NP-Hard problems
K-medoids
K-mode
Mean-Shift Clustering
Soft Clustering (Overlapping Clusters)
Fuzzy Clustering
C-meansclustering
Density Based Clustering
DBSCAN
OPTICS
Hierarchal Clustering (Connectivity based clustering)
Divisive (Top-Down)
Agglomerative (Bottom-Up)
Grid Based Clustering (Uses a multi-resolution grid data structure)
STING – explores statistical data stored in the grid cells
CLIQUE – defines a grid-and density-based approach for clustering in high-dimensional data space.
WaveCluster – clusters objects using a wavelet transform approach
Distribution Based
The Expectation-Maximization (EM) algorithm
K-Means Clustering is the most common and important clustering algorithm used in industry.
Here,
K is the number of clusters, and
Means is the Average of data points to form the specific cluster
image – towardsdatascience.com
MiniBatchKMeans is another variation of Standard K-Means, where we use only a Defined size of the Batch [i.e. Batch Size] for each iteration of K-Means clustering. This helps in faster convergence.
This reduces the train/fit time but slightly increases the Error or WSS i.e. Inertia.
Leave a Reply