## 2 Clustering and Classification Framework  
### Clustering Concept  
Clustering means grouping data on the basis of information found in the data, in order to describe a process or the relations created inside of them. The idea is that the information within a group should be similar to one another and distinct from, or unrelated to, information from other groups. The more distinct or better the clustering, the more homogeneity or resemblance there is within a group, and the larger the contrast across groups.  
There are many types of clustering: hierarchical, partitioned, exclusive, overlapping, or fuzzy. The definition of a partitioned clustering is the division of a data collection into distinct, non-overlapping clusters where each data set is contained inside a single subset. A hierarchical clustering, or collection of hierarchical clusters arranged as a tree, is what we obtain when a cluster includes two sub-clusters. With the exception of the leaf nodes, every node in a tree is the union of its branches. The definition of partitioned clustering is the division of a data collection into distinct, non-overlapping clusters, where each data set is contained inside a single subset. A hierarchical clustering, or collection of hierarchical clusters arranged as a tree, is what we obtain when a cluster includes two sub-clusters. With the exception of the leaf nodes, every node in a tree is the union of its branches. The definition of partitioned clustering is the division of a data collection into distinct, non-overlapping clusters, where each data set is contained inside a single subset. A hierarchical clustering, or collection of hierarchical clusters arranged as a tree, is what we obtain when a cluster includes two sub-clusters. With the exception of the leaf nodes, every node in a tree is the union of its children. The hierarchical approaches can be further divided into agglomerative and divisive algorithms, corresponding to bottom-up and top-down strategies, to build a hierarchical clustering tree. The most frequently used agglomerative algorithms use data points that have been combined to create a clustering tree that ends, comprising just one cluster: the entire data set. The clustering tree can be used to interpret the data structure and estimate the number of clusters [6; 7].  
A data collection is divided into numerous clusters by partitioned clustering algorithms, usually through attempts to minimize some criterion or error function. Usually predetermined, the cluster count can also be included in the error function [8]. The partitioned algorithm can be repeated for a set of alternative cluster sizes if the number of clusters is unknown where the number of samples in the data set is. The advantage of partitive methods over hierarchical ones is that they are independent of previously identified clusters. Similarly, partitive methods rely on clusters as implicit assumptions. Each object is assigned to a single cluster via exclusive clustering. An overlapping or non-exclusive clustering is used, in the largest context, to reflect the fact that an object may simultaneously belong to multiple groups.  
Fuzzy clustering [9; 10] is a generalization of crisp clustering, where each data sample belongs to exactly one cluster. In this case, each sample is a member of each cluster to a different membership degree. The probabilities must also add up to 1 in probabilistic (crisp) clustering, which calculates the likelihood that each point belongs to each cluster. Moreover, clustering can be based on a variety of models [11].