## 2 Related Works  
There are two very important problems in ensemble clustering: (1) How to create an ensemble of valid and diverse basic clustering results; and (2) how to produce the best consensus clustering result from an available ensemble. Of course, although each of these two problems has a significant impact on the other one, but these two are widely known and studied as two completely independent problems. That is why only one of these two categories has been addressed in research papers and it has been less seen that both issues are considered together. The first problem, which is called ensemble generation, tries to generate a set of valid and diverse basic clustering results. This has been done through a variety of methods. For example, it can be generated by applying an unstable basic clustering algorithm on a given data set with a change in the parameters of the algorithm [9; 10; 11]. Also, it can be generated by applying different base clustering algorithms on a given data set [12; 13; 14]. Another way that we can create a set of valid and diverse base clustering results is to apply a basic clustering algorithm on various mappings from the given dataset [15; 16; 17; 18; 19; 20; 21; 22; 23]. In the next step, a set of valid and diverse base clustering results can be created by applying a base cluster algorithm on various subsets (which can be generated with-replacement or without-replacement) from the given data set [24]. Many solutions have been proposed in order to solve the second problem. The first solution is an approach based on the co-occurrence matrix, in which first we store the number of each pair of data with the same number of the clusters, which contain them simultaneously, in a matrix called the co-occurrence matrix. Then, the final clusters agreement is obtained by considering this matrix the similarity matrix and applying a clustering method (usually a hierarchical clustering method). This approach is known as the most traditional method [25; 26; 27; 28]. Another approach is a graph cutting-based approach. In this approach, first, the problem of finding a consensus clustering becomes a graph partitioning problem. Then, the final clusters are obtained using the partitioning or graph cutting algorithms [29; 30; 31; 32]. Four graph-based ensemble clustering algorithms are known as CSPA, HGPA, MCLA, and HBGF. Another approach is the voting approach [16; 17; 33; 34; 35]. For this purpose, first, a re-labeling must be done. Re-labeling is done in order to align the labels of various clusters to match. Other important approaches include [36; 37; 38; 39; 40; 41]: (1) an approach which considers primary clusters an interface space (or new data set) and partitions this new space using a basic clustering algorithm such as the expectation maximization algorithm [37], and (2) an approach which uses evolutionary algorithms to find the most consistent clustering as consensus clustering [36], the approach of using the kmods clustering algorithm to find an agreement clustering [40; 41] (note that kmods clustering algorithm is equivalent version of kmeans clustering algorithm for categorical data). Furthermore, an innovative clustering ensemble framework based on the idea of cluster weighting was proposed. Using a certainty criterion, the reliability of clusters was first computed. Then, the clusters with highest reliability values are chosen to make the final ensemble [42]. [PERSON] et al. have introduced an original fuzzy clustering ensemble framework in which effect of the diversity and quality of base clusters were studied [43]. In addition to [PERSON] et al. [44; 45], a new study claims that edited NMI (ENMI), which is derived from a subset of total primary spurious clusters, performs better than NMI for cluster evaluation [46]. Moreover, multiple clusters have been aggregated considering cluster uncertainty by using locally weighted evidence accumulation and locally weighted graph partitioning approaches, but the proposed uncertainty measure depends on the cluster size [47].