Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same cluster are more similar to each other than to those in other clusters.
There are many methods in cluster analysis.
In this video, I explained agglomerative hierarchical clustering and implemented it with Python.