I. Introduction
Clustering is one of the most serious difficulties that can arise from unsupervised learning since Its goal is to determine the existence of a structure inside a collection of unlabelled data, as do all the other problems of this type. To simply stated, clustering may be described as “the act of grouping like-minded things into distinct clusters. Thus, A group of things that are “related” to one another but “unrelated” to the objects in other clusters is what we mean when we talk about a cluster. It is a critical approach of classifying diverse items in such a manner that homogeneous data is stored in the same cluster while heterogeneous data is stored in a separate cluster. Clustering has risen in popularity and relevance proportionately as a result of the ever-increasing volume of data and exponential improvement in computer processing rates. The significance of clustering may be seen in its vast range of applications in areas such as education, industry, agriculture, machine learning, pattern recognition, and economics. This approach has also found uses in newer technologies such as artificial intelligence and pattern recognition. Data clustering reveals sparse and dense areas within the dataset, hence revealing the dataset's general distribution patterns. Additionally, the resulting clusters are more efficient and effective at visualization than the original dataset [1].