Available online at www.sciencedirect.com

Information Fusion 9 (2008) 223–233 www.elsevier.com/locate/inffus

k-ANMI: A mutual information based clustering algorithm for categorical data Zengyou He *, Xiaofei Xu, Shengchun Deng Department of Computer Science and Engineering, Harbin Institute of Technology, 92 West Dazhi Street, P.O. Box 315, 150001, PR China Received 25 November 2005; received in revised form 25 May 2006; accepted 31 May 2006 Available online 10 July 2006

Abstract Clustering categorical data is an integral part of data mining and has attracted much attention recently. In this paper, we present kANMI, a new efficient algorithm for clustering categorical data. The k-ANMI algorithm works in a way that is similar to the popular kmeans algorithm, and the goodness of clustering in each step is evaluated using a mutual information based criterion (namely, average normalized mutual information – ANMI) borrowed from cluster ensemble. This algorithm is easy to implement, requiring multiple hash tables as the only major data structure. Experimental results on real datasets show that k-ANMI algorithm is competitive with those state-of-the-art categorical data clustering algorithms with respect to clustering accuracy.  2006 Elsevier B.V. All rights reserved. Keywords: Clustering; Categorical data; Mutual information; Cluster ensemble; Data mining

1. Introduction Clustering is an important data mining technique that groups together similar data objects. Recently, much attention has been put on clustering categorical data [1–21, 26–31], where data objects are made up of non-numerical attributes. Fast and accurate clustering of categorical data has many potential applications in customer relationship management, e-commerce intelligence, etc. In [21], the categorical data clustering problem is defined as an optimization problem using a mutual information sharing based object function (namely, average normalized mutual information –ANMI) from the viewpoint of cluster ensemble [22–24]. However, those algorithms in [21] have been developed from intuitive heuristics rather than from the vantage point of a direct optimization, which can not guarantee to find a reasonable solution.

*

Corresponding author. Tel.: +86 451 86414906x8001. E-mail address: [email protected] (Z. He).

1566-2535/$ - see front matter  2006 Elsevier B.V. All rights reserved. doi:10.1016/j.inffus.2006.05.006

The k-means algorithm is one of the most popular clustering techniques to find the structure in unlabeled data sets, which is based on a simple iterative scheme for finding a locally minimal solution. The k-means algorithm is well known for its efficiency in clustering large data sets. This paper proposes k-ANMI algorithm, a new k-means like clustering algorithm for categorical data that directly optimizes the mutual information sharing based object function. The k-ANMI algorithm takes the number of desired clusters (supposed to be k) as input and iteratively changes the class label of each data object to improve the value of object function. That is, the current label of each object is changed to each of the other k  1 possible labels and the ANMI objective is re-evaluated. If the ANMI increases, the object’s label is changed to the best new value and the algorithm proceeds to the next object. When all objects have been checked for possible improvements, one cycle test is completed. If at least one object’s label was changed in a cycle, we initiate a new cycle. The algorithm terminates when a full cycle does not change any labels, thereby indicating that a local optimum is reached.

224

Z. He et al. / Information Fusion 9 (2008) 223–233

The basic idea of k-ANMI is very simple, which has also been exploited in the literature of cluster ensemble [22] and implemented in a straightforward manner. However, such straightforward implementation can be extremely slow due to its exponential time complexity. As reported in [22], the average running time of such straightforward implementation is about one hour per run on a 1 GHz PC, even on a smaller dataset with 400 objects and eight attributes when k = 10. Hence, it is a great research challenge to implement the kANMI algorithm in an efficient way such that it is scalable to large datasets. The goal of this paper is to present a simple and efficient implementation of k-ANMI algorithm. To that end, we employ multiple hash tables to improve its efficiency. More precisely, in a general clustering problem with r attributes and k clusters, we need only (k + 1)r hash tables as our major data structure. Through the use of these hash tables, ANMI value could be derived without accessing the original dataset. Thus, the computation is very efficient. We also provide the analysis on time complexity and space complexity of k-ANMI algorithm. The analysis shows that the computational complexity k-ANMI algorithm is linear to both the number of objects and the number of attributes, thus it is capable of handing large categorical datasets. Experimental results on both real and synthetic datasets provide further evidence on the superiority of k-ANMI algorithm. The remainder of this paper is organized as follows. Section 2 presents a critical review on related work. Section 3 introduces basic concepts and formulates the problem. In Section 4, we present the k-ANMI algorithm and provide complexity analysis. Experimental studies and conclusions are given in Sections 5 and 6, respectively. 2. Related work Many algorithms have been proposed in recent years for clustering categorical data [1–21,26–31]. In [1], an association rule based clustering method is proposed for clustering customer transactions in a market database. Algorithms for clustering categorical database based on non-linear dynamical systems are studied in [2,3]. The k-modes algorithm [4,5] extends the k-means paradigm to categorical domain by using a simple matching dissimilarity measure for categorical objects, modes instead of means for clusters, and a frequency-based method to update modes. Based on k-modes algorithm, Ref. [6] proposes an adapted mixture model for categorical data, which gives a probabilistic interpretation of the criterion optimized by the k-modes algorithm. A fuzzy k-modes algorithm is presented in [7] and the tabu search technique is applied in [8] to improve fuzzy k-modes algorithm. An iterative initialpoints refinement algorithm for k-modes clustering is presented in [9]. The work in [19] can be considered as an extension of k-modes algorithm to transactional data. Based on a novel formalization of a cluster for categorical data, a fast summarization based algorithm, CACTUS,

is presented in [10]. ROCK algorithm [11] is an adaptation of agglomerative hierarchical clustering algorithm based a novel ‘‘link’’ based distance measure. Squeezer is a threshold based one-pass categorical data clustering algorithm [16], which is also suitable for clustering categorical data streams. Based on the notion of large item, an allocation and refinement strategy based algorithm is presented to clustering transactions [12]. Following the large item method in [12], a new measurement, called the small-large ratio is proposed and utilized to perform the clustering [13]. In [14], the authors consider the item taxonomy in performing cluster analysis. Xu and Sung [15] propose an algorithm based on ‘‘caucus’’, which are fine-partitioned demographic groups that is based the purchase features of customers. COOLCAT [17] is an entropy-based algorithm for categorical clustering. CLOPE [18] is an iterative clustering algorithm that is based on the concept of height-to-width ratio of cluster histogram. Based on the notion of generalized conditional entropy, a genetic algorithm is utilized for discovering the categorical clusters in [20]. LIMBO introduced in [27] is a scalable hierarchical categorical clustering algorithm that builds on the Information Bottleneck framework. Li et al. [28] shows that the entropy-based criterion in categorical data clustering can be derived in the formal framework of probabilistic clustering models and develops an iterative Monte-Carlo procedure to search for the partitions minimizing the criterion. He et al. [21] formally define the categorical clustering problem as an optimization problem from the viewpoint of cluster ensemble, and apply cluster ensemble approach for clustering categorical data. Simultaneously, Gionis et al. [30] use disagreement measure based cluster ensemble method to solve the problem of categorical clustering. Chen and Chuang [26] develop CORE algorithm by employing the concept of correlated-force ensemble. He et al. [29] propose TCSOM algorithm for clustering binary data by extending traditional self-organizing map (SOM). Chang and Ding [31] present a method for visualizing clustered categorical data such that users’ subjective factors can be reflected by adjusting clustering parameters, and therefore to increase the clustering result’s reliability. Categorical data clustering could be considered as a special case of symbolic data clustering [32–36], in which categorical values are taken by the attributes of symbolic objects. However, most of the techniques used in the literature in clustering symbolic data are based on the hierarchical methodology, which are not efficient in clustering large data sets. 3. Introductory concepts and problem formulation 3.1. Notations Let A1, . . . , Ar be a set of categorical attributes with domains D1, . . . , Dr respectively. Let the dataset D = {X1, X2, . . . , Xn} be a set of objects described by r categori-

Z. He et al. / Information Fusion 9 (2008) 223–233

cal attributes A1, . . . , Ar. The value set Vi of Ai is a set of values of Ai that are present in D. For each v 2 Vi, the frequency f(v), denoted as fv, is number of objects O 2 D with O. Ai = v. Suppose the number of distinct attribute values of Ai is pi, we define the histogram of Ai as the set of pairs: hi ¼ fðv1 ; f1 Þ; ðv2 ; f2 Þ; . . . ; ðvpi ; fpi Þg and the size of hi is pi. The histograms of dataset D is defined as H = {h1, h2, . . . , hr}. Let X, Y be two categorical objects described by r categorical attributes. The dissimilarity measure or distance between X and Y can be defined by the total mismatches of the corresponding attribute values of the two objects. The smaller the number of mismatches is, the more similar the two objects. Formally, d 1 ðX ; Y Þ ¼

r X

dðxj ; y j Þ

ð1Þ

j¼1

where ( dðxj ; y j Þ ¼

0

ðxj ¼ y j Þ

1

ðxj 6¼ y j Þ

ð2Þ

Given dataset D = {X1, X2, . . . , Xn} and an object Y, the dissimilarity measure between D and Y can be defined by the average of the sum of distances between Xi and Y. Pn j¼1 d 1 ðX j ; Y Þ ð3Þ d 2 ðD; Y Þ ¼ n If we take the histograms H = {h1, h2, . . . , hr} as the compact representation of dataset D, formula (3) can be redefined as (4). Pr j¼1 /ðhj ; y j Þ ð4Þ d 3 ðH ; Y Þ ¼ n where /ðhj ; y j Þ ¼

pj X

partition of the original dataset, aiming for consolidation of results from a portfolio of individual clustering results. Clustering aims at discovering groups and identifying interesting patterns in a dataset. We call a particular clustering algorithm with a specific view of the data a clusterer. Each clusterer outputs a clustering or labeling, comprising the group labels for some or all objects. Given a dataset D = {X1, X2, . . . , Xn}, a partitioning of these n objects into k clusters can be represented as a set of k sets of objects {Cl|l = 1, . . . , k} or as a label vector k 2 Nn. A clusterer U is a function that delivers a label vector given a set of objects. Fig. 1 (adapted from [24]) shows the basic setup of the cluster ensemble: A set of r labelings k(1,2,. . .,r) is combined into a single labeling k (the consensus labeling) using a consensus function C. As shown in [21], categorical data clustering problem can be considered as the cluster ensemble problem. That is, for a categorical dataset, if we consider attribute values as cluster labels, each attribute with its attribute values provide a ‘‘best clustering’’ on the dataset without considering other attributes. Hence, categorical data clustering problem can be considered as cluster ensemble problem, in which the attribute values of each attribute define the outputs of different clustering algorithms. More precisely, for a given dataset D = {X1, X2, . . . , Xn} with r categorical attributes A1, . . . , Ar, let Vi be the set of attribute values of Ai that are present in D. According to the CE framework described in Fig. 1, if we define each clusterer U(i) as a function that transforms values in Vi into distinct natural numbers, we can get the optimal partitioning k(i) determined by each attribute Ai as k(i) = {U(i)(Xj . Ai)jXj . Ai 2 Vi, Xj 2 D}. Then, we can combine the set of r labelings k(1,2,. . .,r) into a single labeling k using a consensus function C to get the solution of the original categorical data clustering problem. 3.3. Object function

fl  dðvl ; y j Þ

ð5Þ

l¼1

From the viewpoint of implementation efficiency, formula (4) can be presented in form of formula (6). Pr j¼1 wðhj ; y j Þ ð6Þ d 4 ðH ; Y Þ ¼ n where wðhj ; y j Þ ¼ n 

225

pj X

Continue Section 3.2, intuitively, a good combined clustering should share as much information as possible with the given r labelings. Strehl and Ghosh [22–24] use mutual

λ fl  ð1  dðvl ; y j ÞÞ

ð7Þ

l¼1

If histogram is realized in form of hash table, formula (6) can be computed more efficiently since only the frequencies of matched attribute value pairs are required. 3.2. A unified view in the cluster ensemble framework Cluster ensemble (CE) is the method to combine several runs of different clustering algorithms to get a common

λ

λ

λ Fig. 1. The cluster ensemble. A consensus function C combines clusterings k(q) from a variety of sources.

226

Z. He et al. / Information Fusion 9 (2008) 223–233

information in information theory to measure the shared information, which can be directly applied in this literature. More precisely, as shown in [23,24], given r groupings with the qth grouping k(q) having k(q) clusters, a consensus function C is defined as a function Nn·r ! Nn mapping a set of clusterings to an integrated clustering: C : fkðqÞ jq 2 f1; 2; . . . ; rgg ! k

ð8Þ (q)

The set of groupings is denoted as K = {k jq 2 {1, 2, . . . , r}}. The optimal combined clustering should share the most information with the original clusterings. In information theory, mutual information is a symmetric measure to quantify the statistical information shared between two distributions. Let A and B be the random variables described by the cluster labeling k(a) and k(b), with k(a) and k(b) groups respectively. Let I(A, B) denote the mutual information between A and B, and H(A) denote the entropy of A. As Strehl has shown in [24], IðA; BÞ 6 H ðAÞþH ðBÞ holds. Hence, the [0, 1]-normalized mutual infor2 mation (NMI) [24] used is 2IðA; BÞ NMIðA; BÞ ¼ H ðAÞ þ H ðBÞ

ð9Þ

Obviously, NMI(A, A) = 1. Eq. (9) has to be estimated by the sampled quantities provided by the clusterings [24]. As shown in [24], if we let n(h) be the number of objects in cluster Ch according to k(a), and let ng be the number of objects in cluster Cg according to k(b). Let ngðhÞ be the number of objects in cluster Ch according to k(a) as well as in cluster Cg according to k(b). The [0, 1]-normalized mutual information criteria /(NMI) is computed as follows [23,24]: ! k ðaÞ X k ðbÞ ngðhÞ n 2X ðNMIÞ ðaÞ ðbÞ ðhÞ / ðk ; k Þ ¼ n logkðaÞ kðbÞ ðhÞ ð10Þ n ng n h¼1 g¼1 g Therefore, the average normalized mutual information (ANMI) between a set of r labelings, K, and a labeling ~k is defined as follows [24]: r 1X kÞ ¼ /ðNMIÞ ð~ k; kðqÞ Þ ð11Þ /ðANMIÞ ðK; ~ r q¼1 According to [23,24], the optimal combined clustering k(k-opt) should be defined as the one that has the maximal average mutual information with all individual partitioning k(q) given that the number of consensus clusters desired is k. Hence, k(k-opt) is defined as r X /ðNMIÞ ð~ k; kðqÞ Þ ð12Þ kðk-optÞ ¼ arg max ~ k

q¼1

where ~ k goes through all possible k-partitions. Taking ANMI as the object function in our k-ANMI algorithm, we have to compute the value of /(NMI). More precisely, we should be able to efficiently get the accurate value of each parameter in Eq. (10). In the next section, we will describe our data structure and k-ANMI algorithm in detail.

4. The k-ANMI algorithm 4.1. Overview The k-ANMI algorithm takes the number of desired clusters (supposed to be k) as input and iteratively changes the class label of each data object to improve the value of object function. That is, for each object, the current label is changed to each of the other k  1 possible labels and the ANMI objective is re-evaluated. If the ANMI increases, the object’s label is changed to the best new value and the algorithm proceeds to the next object. When all objects have been checked for possible improvements, a sweep is completed. If at least one label was changed in a sweep, we initiate a new sweep. The algorithm terminates when a full sweep does not change any labels, thereby indicating that a local optimum is reached. 4.2. Data structure Taking the dataset D = {X1, X2, . . . , Xn} with r categorical attributes A1, . . . , Ar and the number of desired clusters k as input, we need (k + 1)r hash tables as our basic data structure. Actually, each hash table is the materialization of a histogram. The concept and structure of histogram have been discussed in Section 3.1. In the remaining parts of the paper, we will use histogram and hash table interchangeably. As discussed in Section 3.2, each attribute Ai determines an optimal partitioning k(i) without considering other attributes. Storing k(i) in its original format is costly with respect to both space and computation. Therefore, we only keep the histogram of Ai on D, denoted as AHi, as the compact representation of k(i). Since we have r attributes, r histograms are constructed. Suppose that the partition of these n objects into k clusters is represented as a set of k sets of objects {Cl|l = 1, . . . , k} or as a label vector ~k 2 N n . For each Cl, we construct a histogram for each attribute separately. We denote the histogram of Ai on Cl as CAHl,i. Hence, we need r histograms for each Cl and rk histograms for ~ k. Overall, we need (k + 1)r histograms totally. Example 1. For example, Table 1 shows a categorical table with 10 objects, each object is described by two categorical attributes. If only ‘‘Attribute 1’’ is considered, we can get the optimal partitioning {(1, 2, 5, 7, 10), (3, 4, 6, 8, 9)} with two clusters. Similarly, ‘‘Attribute 2’’ gives an optimal partitioning {(1, 4, 9), (2, 3, 10), (5, 6, 7, 8)} with three clusters. Suppose that we are testing a candidate partition ~k ¼ fð1; 2; 3; 4; 5Þ; ð6; 7; 8; 9; 10Þg when k = 2. In this case, we need (2 + 1) · 2 = 6 histograms, which are described in a vivid form in Fig. 2. Among these six histograms in Fig. 2 AH1, and AH2 are histograms of ‘‘Attribute 1’’ and ‘‘Attribute 2’’ with respect to the original dataset. The histograms of ‘‘Attribute 1’’ and ‘‘Attribute 2’’ with respect

Z. He et al. / Information Fusion 9 (2008) 223–233 Table 1 Sample categorical data set Object number

Attribute 1

Attribute 2

1 2 3 4 5 6 7 8 9 10

M M F F M F M F F M

A B B A C C C C A B

AH 1

AH 2

CA H 1, 1

CA H 1, 2

CA H 2, 1

(M ,2)

(M ,5 )

(A ,3 )

(M ,3 )

(A ,2 )

(F, 5)

(B ,3 )

(F, 2)

(B , 2)

(C ,4 )

(F, 3)

(C ,1 )

CA H 2, 2

(A ,1 ) (B ,1 ) (C ,3 )

Fig. 2. The six histograms in Example 1.

to cluster Cl in ~ k are CAHl,1 and CAHl,2, where l = 1 and 2. It is not difficult to get the frequency values in each histogram by counting corresponding attribute values. 4.3. Computation of ANMI In this section, we show how to use those histograms introduced in Section 4.2 to compute the ANMI value. To compute the ANMI between a set of r labelings, K, ~ we only need to compute /ðNMIÞ ð~k; kðiÞ Þ and a labeling k, (i) for each k 2 K. Therefore, we will focus on the computation of /ðNMIÞ ð~ k; kðiÞ Þ. To be consistent with the description in Section 3.3, we use /(NMI)(k(a), k(b)) instead of /ðNMIÞ ð~ k; kðiÞ Þ for illustration by setting kðaÞ ¼ ~ k and k(b) = k(i). P ðaÞ P ðbÞ ðNMIÞ ðaÞ ðbÞ ðk ; k Þ ¼ 2n kh¼1 kg¼1 ngðhÞ Recalling /   that ðhÞ

logkðaÞ kðbÞ

ng n nðhÞ ng

, where n(h) is the number of objects in clus-

ter Ch according to k(a), ng is the number of objects in cluster Cg according to k(b), ngðhÞ is the number of objects in cluster Ch according to k(a) as well as in cluster Cg according to k(b), k(a) is the number of clusters in k(a) and k(b) is the number of clusters in k(b). To compute the value of /(NMI)(k(a), k(b)), we must know six values, which are n, k(a), k(b), n(h), ng and ngðhÞ . (1) The value of n is the number of objects in a given dataset, which is a constant value in a clustering problem. (2) Since kðaÞ ¼ ~ k, we have k(a) = k. (b) (3) Since k is a partition derived from attribute Ab, hence k(b) is equal to the size of AHb, where AHb is

227

the histogram of Ab on D. Note that the value of k(b) can be directly derived from the corresponding histogram. (4) The value of n(h) is equal to the sum of frequencies of attribute values in any histogram CAHh,i, where 1 6 i 6 r. (5) Suppose the cluster Cg in k(b) is determined by attribute value v, then ng is equal to the frequency value of v in histogram AHb. (6) As in (5), suppose the cluster Cg in k(b) is determined by attribute value v, then ngðhÞ is equal to the frequency value of v in histogram CAHh,b if v has an entry in CAHh,b. Otherwise, nðhÞ g ¼ 0. From (1)–(6), we know that the ANMI value can be computed through the use of histograms without accessing the original dataset. Thus, the computation is very effective. Example 2. Continuing Example 1, suppose that we are trying to compute /(NMI)(k(a), k(b)), where kðaÞ ¼ ~ k ¼ fð1; 2; 3; 4; 5Þ; ð6; 7; 8; 9; 10Þg and k(b) = {(1, 2, 5, 7, 10), (3, 4, 6, 8, 9)}. In this case, we have n = 10, k(a) = k = 2, k(b) = 2. Furthermore, suppose that Ch = (1, 2, 3, 4, 5) and Cg = (1, 2, 5, 7, 10). We have n(h) = 3 + 2 = 5 (according to CAH1,1) or n(h) = 2 + 2 + 1 = 5 (according to CAH1,2), ng = 5 (the ðhÞ frequency value of ‘‘M’’ in histogram AH1,) and ng ¼ 3 (the frequency value of ‘‘M’’ in histogram CAH1,1). 4.4. The algorithm Fig. 3 shows the k-ANMI algorithm. The collection of objects is stored in a file on the disk and we read each object t in sequence. In the initialization phase of the k-ANMI algorithm, we firstly select the first k objects from the dataset to construct initial histograms for each cluster. Each consequent object is put into the closest cluster according to formula (6). The cluster label of each object is stored. At the same time, the histogram of partition derived from each attribute is also constructed and updated. In iteration phase, we read each object t (in the same order as in initialization phase), move t to an existing cluster (possibly stay where it is) to maximize ANMI. After each move, the cluster identifier is updated. If no object is moved in one pass of all objects, iteration phase terminates; otherwise, a new pass begins. Essentially, at each step we locally optimize the criterion ANMI. The key step is to find the destination cluster for moving an object according to the value of ANMI. How to efficiently compute the ANMI value using histograms has been discussed in Section 4.3. 4.5. Time and space complexities 4.5.1. Worst-case analysis The time and space complexities of the k-ANMI algorithm depend on the size of dataset (n), the number

228

Z. He et al. / Information Fusion 9 (2008) 223–233

Algorithm k-ANMI Input: D // the categorical database k // the number of desired clusters Output: clusterings of D /* Phase 1-Initialization */ 01 Begin foreach object t in D 02 03 counter++ 04 update histograms for each attribute if counter<=k then 05 06 put t into cluster Ci where i = counter else 07 08 put t into cluster Ci to which t has the smallest distance 09 write /* Phase 2-Iteration */ Repeat 10 11 not_moved =true while not end of the database do 12 13 read next object < t, Ci > 14 moving t to an existing cluster Cj to maximize ANMI if Ci != Cj then 15 16 write 17 not_moved =false Until not_moved 18 End 19 Fig. 3. The k-ANMI algorithm.

of attributes (r), the number of the histograms, the size of every histogram, the number of clusters (k) and the iteration times (I). To simplify the analysis, we will assume that every attribute has the same number of distinct attributes values, p. Then, in the worst case, in the initialization phase, the time complexity is O(nkrp). In the iteration phase, the computation of ANMI requires O(rp2k) and hence this phase has time complexity O(Ink2rp2). Totally, the algorithm has time complexity O(Ink2rp2) in worst case. The algorithm only needs to store (k + 1)r histograms and the original dataset in main memory, so the space complexity of this algorithm is O(rkp + nr). 4.5.2. Practical analysis As pointed out in [10], categorical attributes usually have small domains. An important implication of the compactness of categorical domains is that the parameter p could be expected to be very small. Furthermore, the use of hashing technique in histograms also reduces the impact of p. So, in practice, the time complexity of k-ANMI can be expected to be O(Ink2rp).

The above analysis shows that the time complexity of kANMI is linear to the size of dataset, the number of attributes and the iteration times, which makes this algorithm deserve good scalability. 4.6. Enhancement for real applications The data sets in real-life applications are usually complex. They have not only categorical data but also numeric data. Sometimes, they are incomplete. The proposed method could not be applied if no pre-processing techniques have been applied to such data before performing clustering process. There are many pre-processing techniques and tools available in the literature. In this section, we discuss the techniques for handling data with these characteristics in k-ANMI. 4.6.1. Handling numeric data To process numeric data, we apply the widely used binning technique [37] to discretize numeric data, or use some well-designed numeric clustering algorithms to transform numeric data into categorical class labels.

Z. He et al. / Information Fusion 9 (2008) 223–233

4.6.2. Handling missing values To handle incomplete data, we provide two choices. Firstly, missing values in an incomplete object will not be considered when updating histograms. And secondly, missing values are treated as special categorical attribute values. In our current implementation, we use the second. 5. Experimental results A performance study has been conducted to evaluate our method. In this section, we describe those experiments and the results. We ran our algorithm on real-life datasets obtained from the UCI Machine Learning Repository [25] to test its clustering performance against other algorithms. Furthermore, one larger synthetic dataset is used to demonstrate the scalability of our algorithm. 5.1. Real-life datasets and evaluation method We experimented with three real-life datasets: the Congressional Votes dataset, the Mushroom dataset and the Wisconsin Breast Cancer dataset, which were obtained from the UCI Repository [25]. Now we will give a brief introduction about these datasets. • Congressional Votes data: It is the United States Congressional Voting Records in 1984. Each record represents one Congressman’s votes on 16 issues. All attributes are Boolean with Yes (denoted as y) and No (denoted as n) values. A classification label of Republican or Democrat is provided with each record. The dataset contains 435 records with 168 Republicans and 267 Democrats. • Mushroom data: It has 22 attributes and 8124 records. Each record represents physical characteristics of a single mushroom. A classification label of poisonous or edible is provided with each record. The numbers of edible and poisonous mushrooms in the dataset are 4208 and 3916, respectively. • Wisconsin Breast Cancer data1: It has 699 instances with nine attributes. Each record is labeled as benign (458% or 65.5%) or malignant (241% or 34.5%). In this paper, all attributes are considered to be categorical. Validating clustering results is a non-trivial task. In the presence of true labels, as in the case of the data sets we used, the clustering accuracy for measuring the clustering results was computed as follows. Given the final number Pk ai i¼1 of clusters, k, clustering accuracy was defined as , n where n is the number of objects in the dataset and ai is the number of objects with the class label that dominates 1 We use a dataset that is slightly different from its original format in UCI Machine Learning Repository, which has 683 instances with 444 benign records and 239 malignant records. It is public available at: http:// research.cmis.csiro.au/rohanb/outliers/breast-cancer/brcancerall.dat.

229

cluster i. Consequently, the clustering error is defined as Pk ai 1  ni¼1 . The intuition behind clustering error defined above is that clusterings with ‘‘pure’’ clusters, i.e., clusters in which all objects have the same class label, are preferable. That is, if a partition has clustering error equal to 0 it means that it contains only pure clusters. These kinds of clusters are also interesting from a practical perspective. Hence, we can conclude that smaller clustering error means better clustering results in real world applications. It should be noted that some well-known clustering validity indices are available in the literature and recently extended to symbolic data [34]. Hence, we also evaluated our results using these clustering validity indices in our experiments. As expected, it was observed that these validity indices coincide with above defined clustering error. In other words, the results of performance comparisons using clustering error and other validity indices are very similar. Therefore, those experimental results with other validity indices are omitted in this paper. 5.2. Experiment design We studied the clusterings found by five algorithms, our k-ANMI algorithm, Squeezer algorithm introduced in [16], GAClust algorithm proposed in [20], standard k-modes algorithm [4,5] and ccdByEnsemble algorithm in [21]. Until now, there is no well-recognized standard methodology for categorical data clustering experiments. However, we observed that most clustering algorithms require the number of clusters as an input parameter, so in our experiments, we cluster each dataset into different number of clusters, varying from 2 to 9. For each fixed number of clusters, the clustering errors of different algorithms were compared. In all the experiments, except for the number of clusters, all the parameters required by the ccdByEnsemble algorithm are set to be default as in [21]. The Squeezer algorithm requires a similarity threshold as input parameter, so we set this parameter to a proper value to get the desired number of clusters. In GAClust algorithm, we set the population size to be 50, and set other parameters to be their default values.2 In k-modes clustering algorithm, initial k modes are constructed by selecting the first k objects from the data set. Moreover, since the clustering results of k-ANMI algorithm, ccdByEnsemble algorithm, k-modes algorithm and Squeezer algorithm are fixed for a particular dataset when the parameters are fixed, only one run is used in these algorithms. The GAClust algorithm is a genetic algorithm, so its outputs will differ in different runs. However, we observed in the experiments that the clustering error is very 2

The source codes for GAClust are public available at: http:// www.cs.umb.edu/~dana/GAClust/index.html. The readers may refer to this site for details about other parameters.

Z. He et al. / Information Fusion 9 (2008) 223–233

Clustering Error

230 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0

Squeezer

2

3

GAClust

4

ccdByEnsemble

k-modes

5 6 Number of clusters

k-ANMI

7

8

9

Fig. 4. Clustering error vs. different number of clusters (votes dataset).

stable, so the clustering error of this algorithm is reported with its first run. In summary, we use one run to get the clustering errors of all algorithms. 5.3. Clustering results on congressional voting (votes) data Fig. 4 shows the results of different clustering algorithms on votes dataset. From Fig. 4, we can summarize the relative performance of these algorithms as Table 2. In Table 2, the numbers in column labeled by k (k = 1, 2, 3, 4 or 5) are the times that an algorithm has rank k among these algorithms. For instance, in the eight experiments, k-ANMI algorithm performed third best in two cases, that is, it is ranked 3 for two times. Compared to other algorithms, k-ANMI algorithm performed best in most cases and never performed the worst. And the average clustering error of k-ANMI algorithm is significantly smaller than that of other algorithms. Thus, the clustering performance of k-ANMI on votes dataset is superior to all other four algorithms.

5.4. Clustering results on mushroom data The experimental results on mushroom dataset are described in Fig. 5 and the relative performance is summarized in Table 3. As shown in Fig. 5 and Table 3, our algorithm beats all the other algorithms in average clustering error. Furthermore, although the k-ANMI algorithm did not always perform best on this dataset, it performed best in five cases and never performed worst. That is, k-ANMI algorithm performed best in majority of the cases. Moreover, the results of k-ANMI algorithm are significantly better than that of ccdByEnsemble algorithm in most cases. It demonstrates that the direct optimization strategy utilized in k-ANMI is more desirable than the intuitive heuristics in ccdByEnsemble algorithm. 5.5. Clustering results on Wisconsin Breast Cancer (cancer) data The experimental results on cancer dataset are described in Fig. 6 and the summarization on relative performance of

Table 2 Relative performance of different clustering algorithms (votes dataset)

Table 3 Relative performance of different clustering algorithms (mushroom dataset)

Ranking

1

2

3

4

5

Average clustering error

Ranking

1

2

3

4

5

Average clustering error

Squeezer GAClust ccdByEnsemble k-modes k-ANMI

0 1 1 2 5

0 0 3 4 1

2 2 0 1 2

1 2 4 1 0

5 3 0 0 0

0.163 0.136 0.115 0.097 0.092

Squeezer GAClust ccdByEnsemble k-modes k-ANMI

1 0 2 0 5

1 1 1 5 1

4 1 0 0 2

0 2 3 3 0

2 4 2 0 0

0.206 0.393 0.315 0.206 0.165

Clustering Error

0.6 Squeezer

0.5

GAClust

ccdByEnsemble

k-modes

k-ANMI

0.4 0.3 0.2 0.1 0 2

3

4

5 6 Number of clusters

7

8

Fig. 5. Clustering error vs. different number of clusters (mushroom dataset).

9

Z. He et al. / Information Fusion 9 (2008) 223–233

231

Clustering Error

0.25 0.2 Squeezer

GAClust

ccdByEnsemble

k-modes

k-ANMI

0.15 0.1 0.05 0 2

3

4

5 6 Number of clusters

7

8

9

Ranking

1

2

3

4

5

Average clustering error

Squeezer GAClust ccdByEnsemble k-modes k-ANMI

0 0 1 1 6

0 0 4 3 1

3 1 1 2 1

3 2 2 2 0

2 5 0 0 0

0.091 0.117 0.071 0.070 0.039

five algorithms is given in Table 4. From Fig. 6 and Table 4, some important observations are summarized as follows: (1) Our algorithm beats all the other algorithms with respect to average clustering error. (2) The k-ANMI algorithm almost performed the best in all cases (except for the cases when the number of clusters is 4 and 5); furthermore, in almost every case, k-ANMI algorithm achieves better output than that of ccdByEnsemble algorithm, which verify the effectiveness of the direct optimization strategy in kANMI. In particular, when the number of clusters is set to 2 (the true number of clusters for cancer dataset), our k-ANMI algorithm is able to get clustering output whose clustering error is significantly smaller than that of other algorithms.

5.6. Scalable tests The purpose of this experiment was to test the scalability of k-ANMI algorithm when handling very large datasets. A synthesized categorical dataset created with the software developed by Cristofor [20] is used. The data size (i.e., number of objects), the number of attributes and the number of classes are the major parameters in the synthesized categorical data generation, which were set to be 100,000, 10 and 10 separately. Moreover, we set the random generator seed to 5. We will refer to this synthesized dataset with name of DS1. We tested two types of scalability of the k-ANMI algorithm on large dataset. The first one is the scalability against the number of objects for a given number of clusters and the second is the scalability against the number of clusters for a given number of objects. Our k-ANMI algorithm was implemented in Java. All experiments were

200 150 100 50 0 1

2

3

4

5

6

7

8

9

10

Number of Objects in 10,000 Fig. 7. Scalability of k-ANMI to the number of objects when mining two clusters from DS1 dataset.

Run time in seconds

Table 4 Relative performance of different clustering algorithms (cancer dataset)

Run time in seconds

Fig. 6. Clustering error vs. different number of clusters (cancer dataset).

2500 2000 1500 1000 500 0 2

3

4

5

6

7

8

9

10

11

Number of Clusters Fig. 8. Scalability of k-ANMI to the number of clusters when clustering 100,000 objects of DS1 dataset.

conducted on a Pentium4-2.4G machine with 512 M of RAM and running Windows 2000. Fig. 7 shows the results of using k-ANMI to find two clusters with different number of objects. Fig. 8 shows the results of using k-ANMI to find different number of clusters on DS1 dataset. One important observation from these figures was that the run time of k-ANMI algorithm tends to increase linearly as the number of objects is increased, which is highly desired in real data mining applications. Furthermore, although the run time of k-ANMI algorithm does not increase linearly as the number of clusters is increased, it at least achieves good scalability at an acceptable level. 6. Conclusions Entropy-based criterion for the heterogeneity of clusters has been used for a long time, and most recently it is applied to categorical data clustering extensively [17,20,21,27,28]. At the meantime, the k-means-type algorithm is well known for its efficiency in clustering large data sets. Hence, developing effective and efficient k-means like

232

Z. He et al. / Information Fusion 9 (2008) 223–233

algorithms with entropy-based criterion as objective function for clustering categorical data is much desired in practice. However, such kinds of algorithms are still not available to date. To fulfill this void, this paper proposes a new k-means like clustering algorithm called k-ANMI for categorical data, which tries to directly optimize a mutual information sharing based object function. The superiority of our algorithm is verified by the experiments. As we have argued in [21], categorical data clustering and cluster ensemble are two equivalent problems in essence and algorithms developed in both domains can be used interchangeably. Thus, it is reasonable to employ kANMI as an effective algorithm for solving the problem of cluster ensemble in practice. Further studying the effectiveness of k-ANMI algorithm in cluster ensemble applications would be a promising future research direction. In light of the fact a large number of clustering algorithms exist, the proposed k-ANMI algorithm offers some special advantages since it is rooted from cluster ensemble. Firstly, as we have just noted, the k-ANMI algorithm is suitable for both categorical data clustering and cluster ensemble. Secondly, it could be easily deployed in clustering distributed categorical data. Finally, it is flexible in handling heterogeneous data that contains a mix of categorical and numerical attributes. Besides proposing the k-ANMI algorithm, one more important but implicit contribution of this paper is to provide a general framework for implementing k-means like algorithms using entropy-based criterion as objective function in the context of categorical data clustering and cluster ensemble. More precisely, in a general clustering problem with r attributes and k clusters, we can use only (k + 1)r hash tables (histograms) as our basic data structure. With the help of the histogram-based data structure, we are able to develop other kinds of k-means-types algorithms using various entropy-based criterions. Hence, we conclude that our idea would provide general and standard guidelines for future research on this topic. Acknowledgements The comments and suggestions from the anonymous reviewers greatly improve the paper. This work was supported by the High Technology Research and Development Program of China (No. 2004AA413010, No. 2004AA413030), the National Nature Science Foundation of China (No. 40301038) and the IBM SUR Research Fund. References [1] E.H. Han, G. Karypis, V. Kumar, B. Mobasher, Clustering based on association rule hypergraphs, in: Proc. of 1997 SIGMOD Workshop on Research Issues on Data Mining and Knowledge Discovery, 1997, pp. 9–13. [2] D. Gibson, J. Kleiberg, P. Raghavan, Clustering categorical data: an approach based on dynamic systems, in: Proc. of VLDB’98, 1998, pp. 311–323.

[3] Y. Zhang, A.W. Fu, C.H. Cai, P.A. Heng, Clustering categorical data, in: Proc. of ICDE’00, 2000, pp. 305–305. [4] Z. Huang, A fast clustering algorithm to cluster very large categorical data sets in data mining, in: Proc. of 1997 SIGMOD Workshop on Research Issues on Data Mining and Knowledge Discovery, 1997, pp. 1–8. [5] Z. Huang, Extensions to the k-means algorithm for clustering large data sets with categorical values, Data Mining and Knowledge Discovery 2 (3) (1998) 283–304. [6] F. Jollois, M. Nadif, Clustering large categorical data, in: Proc. of PAKDD’02, 2002, pp. 257–263. [7] Z. Huang, M.K. Ng, A fuzzy k-modes algorithm for clustering categorical data, IEEE Transactions on Fuzzy Systems 7 (4) (1999) 446–452. [8] M.K. Ng, J.C. Wong, Clustering categorical data sets using tabu search techniques, Pattern Recognition 35 (12) (2002) 2783–2790. [9] Y. Sun, Q. Zhu, Z. Chen, An iterative initial-points refinement algorithm for categorical data clustering, Pattern Recognition Letters 23 (7) (2002) 875–884. [10] V. Ganti, J. Gehrke, R. Ramakrishnan, CACTUS-clustering categorical data using summaries, in: Proc. of KDD’99, 1999, pp. 73–83. [11] S. Guha, R. Rastogi, K. Shim, ROCK: a robust clustering algorithm for categorical attributes, Information Systems 25 (5) (2000) 345–366. [12] K. Wang, C. Xu, B. Liu, Clustering transactions using large items, in: Proc. of CIKM’99, 1999, pp. 483–490. [13] C.H. Yun, K.T. Chuang, M.S. Chen, An efficient clustering algorithm for market basket data based on small large ratios, in: Proc. of COMPSAC’01, 2001, pp. 505–510. [14] C.H. Yun, K.T. Chuang, M.S. Chen, Using category based adherence to cluster market-basket data, in: Proc. of ICDM’02, 2002, pp. 546– 553. [15] J. Xu, S.Y. Sung, Caucus-based transaction clustering, in: Proc of DASFAA’03, 2003, pp. 81–88. [16] Z. He, X. Xu, S. Deng, Squeezer: an efficient algorithm for clustering categorical data, Journal of Computer Science & Technology 17 (5) (2002) 611–624. [17] D. Barbara, Y. Li, J. Couto, COOLCAT: an entropy-based algorithm for categorical clustering, in: Proc. of CIKM’02, 2002, pp. 582–589. [18] Y. Yang, S. Guan, J. You, CLOPE: a fast and effective clustering algorithm for transactional data, in: Proc. of KDD’02, 2002, pp. 682– 687. [19] F. Giannotti, G. Gozzi, G. Manco, Clustering transactional data, in: Proc. of PKDD’02, 2002, pp. 175–187. [20] D. Cristofor, D. Simovici, Finding median partitions using information-theoretical-based genetic algorithms, Journal of Universal Computer Science 8 (2) (2002) 153–172. [21] Z. He, X. Xu, S. Deng, A cluster ensemble method for clustering categorical data, Information Fusion 6 (2) (2005) 143–151. [22] A. Strehl, J. Ghosh, Cluster ensembles – a knowledge reuse framework for combining multiple partitions, Journal of Machine Learning Research 3 (2002) 583–617. [23] A. Strehl, J. Ghosh, Cluster ensembles – a knowledge reuse framework for combining partitionings, in: Proc. of the 8th National Conference on Artificial Intelligence and 4th Conference on Innovative Applications of Artificial Intelligence, 2002, pp. 93–99. [24] A. Strehl, Relationship-based clustering and cluster ensembles for high-dimensional data mining, Ph.D. thesis, The University of Texas at Austin, May 2002. [25] C. J. Merz, P. Merphy, UCI Repository of Machine Learning Databases, 1996. Available from: . [26] M. Chen, K. Chuang, Clustering categorical data using the correlated-force ensemble, in: Proc. of SDM’04, 2004. [27] P. Andritsos, P. Tsaparas, R.J. Miller, K.C. Sevcik, LIMBO: scalable clustering of categorical data, in: Proc. of EDBT’04, 2004, pp. 123– 146. [28] T. Li, S. Ma, M. Ogihara, Entropy-based criterion in categorical clustering, in: Proc. of ICML’04, 2004.

Z. He et al. / Information Fusion 9 (2008) 223–233 [29] Z. He, X. Xu, S. Deng, TCSOM: clustering transactions using selforganizing map, Neural Processing Letters 22 (3) (2005) 249–262. [30] A. Gionis, H. Mannila, P. Tsaparas, Clustering aggregation, in: Proc. of ICDE’05, 2005, pp. 341–352. [31] C. Chang, Z. Ding, Categorical data visualization and clustering using subjective factors, Data & Knowledge Engineering 53 (3) (2005) 243–263. [32] K.C. Gowda, E. Diday, Symbolic clustering using a new dissimilarity measure, Pattern Recognition 24 (6) (1991) 567–578. [33] K.C. Gowda, T.V. Ravi, Divisive clustering of symbolic objects using the concepts of both similarity and dissimilarity, Pattern Recognition 28 (8) (1995) 1277–1282.

233

[34] K. Mali, S. Mitra, Clustering and its validation in a symbolic framework, Pattern Recognition Letters 24 (14) (2003) 2367–2376. [35] D.S. Guru, B.B. Kiranagi, Multivalued type dissimilarity measure and concept of mutual dissimilarity value for clustering symbolic patterns, Pattern Recognition 38 (1) (2005) 151–156. [36] D.S. Guru, B.B. Kiranagi, P. Nagabhushan, Multivalued type proximity measure and concept of mutual similarity value useful for clustering symbolic patterns, Pattern Recognition Letters 25 (10) (2004) 1203–1213. [37] H. Liu, F. Hussain, C.L. Tan, M. Dash, Discretization: an enabling technique, Data Mining and Knowledge Discovery 6 (2002) 393–423.

k-ANMI: A mutual information based clustering ...

Available online 10 July 2006. Abstract ... the class label of each data object to improve the value of object function. That is ... Available online at www.sciencedirect.com ...... high-dimensional data mining, Ph.D. thesis, The University of Texas.

222KB Sizes 2 Downloads 238 Views

Recommend Documents

G-ANMI: A mutual information based genetic clustering ...
better clustering results than the algorithms in [4,2]. Meanwhile,. G-ANMI has the .... http://www.cs.umb.edu/~dana/GAClust/index.html. 2 We use a data set that is ...

Reconsidering Mutual Information Based Feature Selection: A ...
Abstract. Mutual information (MI) based approaches are a popu- lar feature selection paradigm. Although the stated goal of MI-based feature selection is to identify a subset of features that share the highest mutual information with the class variabl

Mutual Information Phone Clustering for Decision Tree ...
State-of-the-art speech recognition technology uses phone level HMMs to model the ..... ing in-house linguistic knowledge, or from linguistic liter- ature on the ...

Mutual Information Based Extrinsic Similarity for ...
studies. The use of extrinsic measures and their advantages have been previously stud- ied for various data mining problems [5,6]. Das et al. [5] proposed using extrin- sic measures on market basket data in order to derive similarity between two prod

A Resource-based Mutual Exclusion Algorithm ...
distributed system of sensor and actor nodes that are intercon- .... acting range intersects with R, denoted by Ω, the set system ..... Concepts and Design.

A Case-based Approach to Mutual Adaptation of Taxonomic Ontologies
share the case description language or (2) they share some basic ontology and language that .... Finally, “mutual online ontology alignment” [9] uses clustering ...

A Sensitive Attribute based Clustering Method for kanonymization
Abstract—. In medical organizations large amount of personal data are collected and analyzed by the data miner or researcher, for further perusal. However, the data collected may contain sensitive information such as specific disease of a patient a

Towards a Distributed Clustering Scheme Based on ...
Comprehensive computer simulations show that the proposed ..... Protocols for Wireless Sensor Networks,” Proceedings of Canadian Con- ference on Electrical ...

ClusTop: A Clustering-based Topic Modelling Algorithm ...
component from Apache OpenNLP library [24], which has been used by many researchers for similar natural language processing [25], [26], [27]. ...... 18th Pacific-Asia Conference on Knowledge Discovery and Data Mining. (PAKDD'14), 2014, pp. 596–607.

Deterministic Clustering Based Communication ...
network have limited energy, prolonging the network lifetime becomes the unique ... Mohammad Abu Nawar Siddique was with the Computer Science and. Engineering .... energy, degree, mobility, and distances to the neighbor or their combination. ... comp

Mutual Information Statistics and Beamforming ... - CiteSeerX
Engineering, Aristotle University of Thessaloniki, 54 124, Thessaloniki,. Greece (e-mail: ...... Bretagne, France and obtained a diploma degree in electrical ...

Mutual Information Statistics and Beamforming ... - CiteSeerX
G. K. Karagiannidis is with the Department of Electrical and Computer. Engineering, Aristotle ... The most general approach so far has been reported in [16] ...... His research mainly focuses on transmission in multiple antenna systems and includes p

Knowledge-based Semantic Clustering
and the concept of the “Internet of Things”. These trends bring ... is therefore more flexible, open and reusable to new applications. However, the scalability of a ...

A Distributed Clustering Algorithm for Voronoi Cell-based Large ...
followed by simple introduction to the network initialization. phase in Section II. Then, from a mathematic view of point,. derive stochastic geometry to form the algorithm for. minimizing the energy cost in the network in section III. Section IV sho

Towards a Distributed Clustering Scheme Based on ... - IEEE Xplore
Abstract—In the development of various large-scale sensor systems, a particularly challenging problem is how to dynamically organize the sensor nodes into ...

A Heuristic Clustering-Based Task Deployment ... - IEEE Xplore
Jan 20, 2016 - Abstract—Aiming at the current problems that most physical hosts in the cloud data center are so overloaded that it makes the whole cloud data center' load imbalanced and that existing load balancing approaches have relatively high c

Interactive Visual Object Search through Mutual Information ...
Oct 29, 2010 - Figure 1: Illustration of our discriminative mutual infor- mation score ... query object class. ... one nearest neighbor is considered in both classes.

Experian Proprietary Information Agreement (Mutual).pdf ...
1.01.09 3 of 3 ProprietaryInformationAgreement(Mutual). Page 3 of 3. Experian Proprietary Information Agreement (Mutual).pdf. Experian Proprietary Information ...

Weighted Average Pointwise Mutual Information for ... - CiteSeerX
We strip all HTML tags and use only words and numbers as tokens, after converting to .... C.M., Frey, B.J., eds.: AI & Statistics 2003: Proceedings of the Ninth.

Locally Scaled Density Based Clustering
the density threshold based on the local statistics of the data. The local maxima ... ology and geospatial data clustering [5], and earth science tasks [1]. ..... matic subspace clustering of high dimensional data for data mining applications. In SIG

Constrained Information-Theoretic Tripartite Graph Clustering to ...
bDepartment of Computer Science, University of Illinois at Urbana-Champaign. cMicrosoft Research, dDepartment of Computer Science, Rensselaer ...

Constrained Information-Theoretic Tripartite Graph Clustering to ...
1https://www.freebase.com/. 2We use relation expression to represent the surface pattern of .... Figure 1: Illustration of the CTGC model. R: relation set; E1: left.

Feature Selection Based on Mutual Correlation
word “no”) and the mammogram Wisconsin Diagnostic Breast Center (WDBC) data (30 features, 357 ..... 15th IAPR International Conference on Pattern Recognition, Barcelona, Spain,. (2000) 406–409 ... Speech and Audio Pro- cessing 7 (6): ...