Abstract:
This invention relates to a method for determining a quality for a data clustering, said data clustering resulting in a plurality of clusters each cluster having a cluster identifier, the method comprising the steps of: 
     determining a set of observed values for at least one of the clusters by mapping the cluster identifier of said one of the clusters to a first predefined value and by mapping the cluster identifiers of other clusters to a second predefined value, and 
     calculating a normalized statistical coefficient based on the set of observed values to determine the quality for said one of the clusters.

Description:
CLAIM OF PRIORITY 
     This application claims the foreign priority benefits under 35 U.S.C. §119 of European application No. 02006029.9 filed on Mar. 16, 2002, which is incorporated herein by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to the field of data clustering and in particular to clustering algorithms and quality determination. 
     2. Background and Prior Art 
     Clustering of data is a data processing task in which clusters are identified in a structured set of raw data. Typically the raw data consists of a large set of records each record having the same or a similar format. Each field in a record can take any of a number of logical, categorical, or numerical values. Data clustering aims to group such records into clusters such that records belonging to the same cluster have a high degree of similarity. 
     A variety of algorithms are known for data clustering. The K-means algorithm relies on the minimal sum of Euclidean distances to center of clusters taking into consideration the number of clusters. The Kohonen-algorithm is based on a neural net and also uses Euclidean distances. IBM&#39;s demographic algorithm relies on the sum of internal similarities minus the sum of external similarities as a clustering criterion. Those and other clustering criteria are utilized in an iterative process of finding clusters. 
     A common disadvantage of such prior art clustering algorithms is that different clustering algorithms applied to the same set of data may deliver largely different results. Even if the same algorithm is applied to the same set of data using a different set of parameters as a starting condition a different result is likely to occur. In the prior art no objective criterion exists to compare the results of such clustering operations. 
     One field of application of data clustering is data mining. From U.S. Pat. No. 6,112,194 a method for data mining including a feedback mechanism for monitoring performance of mining tasks is known. A user selected mining technique type is received for the data mining operation. A quality measure type is identified for the user selected mining technique type. The user selected mining technique type for the data mining operation is processed and a quality indicator is measured using the quality measure type. The measured quality indication is displayed while processing the user selected mining technique type for the data mining operations. 
     From U.S. Pat. No. 6,115,708 a method for refining the initial conditions for clustering with applications to small and large database clustering is known. It is disclosed how this method is applied to the popular K-means clustering algorithm and how refined initial starting points indeed lead to improved solutions. The technique can be used as an initializer for other clustering solutions. The method is based on an efficient technique for estimating the modes of a distribution and runs in time guaranteed to be less than overall clustering time for large data sets. The method is also scalable and hence can be efficiently used on huge databases to refine starting points for scalable clustering algorithms in data mining applications. 
     From U.S. Pat. No. 6,100,901 a method for visualizing a multi-dimensional data set in which the multi-dimensional data set is clustered into k clusters, with each cluster having a centroid is known. Either two distinct current centroids or three distinct non-collinear current centroids are selected. A current 2-dimensional cluster protection is generated based on the selected current centroids. In the case when two distinct current centroids are selected, two distinct target centroids are selected, with at least one of the two target centroids being different from the two current centroids. 
     From U.S. Pat. No. 5,857,179 a computer method for clustering documents and automatic generation of cluster keywords is known. An initial document by term matrix is formed, each document being represented by a respective M dimensional vector, where M represents the number of terms or words in a predetermined domain of documents. The dimensionality of the initial matrix is reduced to form resultant vectors of the documents. The resultant vectors are then clustered such that correlated documents are grouped into respective clusters. For each cluster, the terms having greatest impact on the documents in that cluster are identified. The identified terms represent key words of each document in that cluster. Further, the identified terms form a cluster summary indicative of the documents in that cluster. 
     SUMMARY OF THE INVENTION 
     A principal object of the present invention is to provide a method, data processing system and computer program product for data clustering and quality determination such that the qualities of clustering results can be compared on an objective basis. The quality index for a clustering result obtained in accordance with the invention is independent of the clustering algorithm used. 
     Rather than relying on the clustering algorithm itself for quality determination the invention relies on a statistical analysis of the clustering result to determine the quality of the clustering. 
     It is a particular advantage of the present invention that the quality measure is objective, i.e. independent of the method employed to perform the clustering and that it is normalized. This is why the present invention can be employed for any clustering method. Further the results provided by different clustering methods can be compared in an objective way in order to identify clustering results having a high quality. 
     In accordance with a preferred embodiment of the present invention a quality measure is determined for an individual cluster of the data clustering result by means of a set of observed values. The set of observed values is determined by mapping the cluster identifier of the cluster for which the quality measure is to be determined to a predefined numerical value such as “1”. 
     The cluster identifiers of the other clusters of the clustering result are mapped to another predefined numerical value such as “0”. One way of creating the set of observed values for the purposes of determining the quality measure for one of the clusters is to organize the data records which have been clustered into a table comprising the attribute values for each of the records, the cluster identifier which has been assigned to the records and an additional column for the mapped cluster identifiers. 
     By means of this set of observed values comprising the attributes values and the mapped cluster identifiers for each of the records, which have been clustered, a normalized statistical coefficient is calculated. 
     In accordance with a preferred embodiment of the invention the normalized statistical coefficient is the R squared coefficient. The R squared coefficient is also called the “coefficient of determination”. The R squared coefficient is the square of Pearson&#39;s correlation coefficient. 
     Pearson&#39;s correlation coefficient is as such known from statistics. It is used in the prior art for comparisons between different data sets. Alternatively Spearman&#39;s correlation coefficient is used instead of Pearson&#39;s correlation coefficient. 
     In accordance with a further preferred embodiment of the invention an overall quality measure is calculated for the result of the data clustering integrating the individual quality measures obtained separately for the individual clusters. This is done by calculating a weighted average of the quality measures of the clusters. The number of records within a given cluster serves as the weighting factor (i.e. weighting coefficient). 
     Further the present invention also enables to improve a given data clustering method. This is done by integrating the quality determination of the data clustering result provided by a given data clustering method within the data clustering procedure. For example after the data clustering has been performed in a first iteration the quality is determined for each of the clusters. 
     Those clusters, which have a low quality measure, are selected to improve the quality of the clustering. This can be done by hierarchical clustering. To perform the hierarchical clustering the cluster results of the first iteration are subjected to a successive further clustering operation. 
     To perform the successive clustering operation the same or another data clustering method as in the first iteration can be selected. After the further clustering has been done for the selected clusters the quality is determined again to check if the quality has improved. If necessary further iterations are performed until a sufficient quality measure has been reached. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the following, preferred embodiments of the invention are described in greater detail by making reference to the drawings in which: 
     FIG. 1 is a flow chart of a first embodiment of the invention for determining a quality for a data clustering; and 
     FIG. 2 is a block diagram of an embodiment of a computer system in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1 is illustrative of a method for determining a quality measure for a cluster, which results from a data clustering operation. The data clustering operation is performed on a given set of N data records each record r j  having the attributes a 1 , . . . , a m . After a clustering run on this set of data records r j , a result is obtained consisting of a set of n clusters c i , i=1 . . . n where cluster c i  holds n i  records that combine to the total data set T, hence        T   =         U     i   =   1       n          c   i                              
     Further, a new variable ζ c     i    is introduced that is defined as follows:                    ζ     c   i            (     r   j     )       =     {             1      _if        _r   j       ∈                c   i                   0      _if        _r   j       ∉                c   i             }       ,     i   =     1                 …                 n       ,     j   =     1                 …                 N               (   1   )                                
     ζ c     i    depends upon r j  and therefore upon a 1 , . . . , a m . Select a subset of independent variables a k     1   , . . . , a k     p   , 1≦k p ≦m from a 1 , . . . , a m . Since any single variable out of a 1 , . . . , a m  is already an independent subset, such a subset must exist. One way to find that subset is by utilizing correlation tests. 
     Hence a regression model is applied to each cluster c i , where a k     1   , . . . , a k     1    are the independent variables and ζ c     i    is the depended variable. The result is a regression model of the form                ζ     c   i       =       ζ     c   i     ′     +   Error             (   2   )                                
     where        ζ     c   i     ′                          
     is the predicted value determined by                ζ     c   i     ′     =     A   +       ∑     j   =   1     p          f        (     a     k   j       )                   (   3   )                                
     Solving this regression model answers the question to what degree the records and the cluster c i  correlate. 
     Records and cluster c i  are highly correlated if there is a minimum error. This error is determined by an absolute measure called R squared coefficient. 
     The R squared coefficient measures the correlation between the observed and the predicted value. For example it ranges from 0 to 1 whereas 1 indicates the highest possible correlation. The correlation coefficient R is calculated by dividing the covariance from the observed (i.e. according to the training data) and the predicted values with the variance from the observed values and the variance from the predicted values. 
     Therefore                R     c   i       =       S       ζ     c   i            ζ     c   i     ′           S       ζ     c   i            ζ     c   i     ′                   (   4   )                                
     where        S       ζ     c   i            ζ     c   i     ′                              
     is the empirical covariance of        ζ     c   i                            
     and          ζ     c   i     ′     ,                          
     which is determined by                S       ζ     c   i            ζ     c   i     ′         =       1       n   i     -   1            (       ∑     j   =   1       n   i              (         ζ     c   i            (     r     c     i   j         )       -         ζ     c   i            (     r     c     i   j         )       mean       )          (         ζ     c   i     ′          (     r     c     i   j         )       -         ζ     c   i     ′          (     r     c     i   j         )       mean       )         )               (   5   )                                
     where        ζ     c     i   j                              
     are the observed values and        ζ     c     i   j       ′                          
     are the predicted values and where          r     c     i   1         ,              …                     ,                r     c     in   i                                               
     are the records belonging to cluster c i . 
     An absolute clustering for a single cluster c 1  is given by                ψ     c   i       =     R     c   i     2             (   6   )                                
     The value of          ψ     c   i       ∈     [     0   ;   1     ]                            
     indicates how strong the correlation between the elements and the previously introduced variable        ζ     c   i                            
     is. The higher the absolute value of ψ c     i    is, the stronger the correlation. 
     Hence it is a measure for the correlation between the records and whether they were assigned to belong to cluster c i  or not, as given by          ζ     c   i       .                          
     Therefore not only a relative quality criterion for the cluster c i  is obtained but an absolute one, because this enables to rate a given cluster not only against a different result on the same data but against preset quality standards. 
     The clustering of the records r j  is performed in step 1. Any known clustering method can be employed for this clustering step. 
     In step 2 the result of the data clustering is outputted. The result consists of a number n of clusters c i , where each cluster c i  has a number of n i  records. 
     In the following the quality measures for each of the clusters c i  are calculated. The index value i is initialized in step 3 to be equal to 1. 
     In step 4 a table 4A is determined for the cluster c i  for which the quality is to be calculated. The table 4A comprises the records r j  with their respective attribute values. Further each of the records r j  has assigned its value of ζ c     i    (r j ) which is the mapped cluster identifier of the cluster to which the record r j  belongs. 
     The table 4A forms the basis for calculating        R     c   i     2                          
     in step 5 in accordance with above equation (6). This provides the normalized and absolute quality measure for the cluster c i  of a clustering result. 
     In step 6 the index i is incremented and the control goes back to step 4 in order to determine the table 4A for the following cluster c i  and to calculate the quality measure        R     c   c     2                          
     for the following cluster c i . The steps 4, 5 and 6 are performed repeatedly until all n clusters c i  have been processed. 
     The present invention also enables to calculate an overall quality measure for the data clustering result. 
     Because the clusters  c     i    are unlikely to have the same size, each cluster  c     i    is weighted with the number of records  n     i   . Hence the overall clustering quality for a set of clusters T is defined by                ψ   T     =       1   N            ∑     i   =   1     n                       ψ     c   i            n   i                   (   7   )                                
     Using  ψ     T    enables not only to compare the quality of the result of two clustering runs on the same data  r     i     =1, . . . , N , but also the quality of the results of clustering runs on different sets of records  r     j     =1, . . . , N  and  s     j     =1, . . . , M . 
     Having introduced an absolute clustering criterion, a new criterion can be provided for rating the influence of at least the substantial subset    a     k     1     , . . . ,      a     k     1    of the attributes  a     1     , . . . ,    a     m    on a specific cluster  c     i   . 
     Let us consider a cluster c i . The aim is to find out, how much each of the attributes a 1 , . . . , a m  influences whether a given record r j  belongs to cluster c i  or not. Since the previously introduced variable ζ c     i    gives an exact indicator of this behavior, this aim can also be formulated as follows: We want to find out to what degree ζ c     i    depends upon each of the attributes. 
     Using the model in accordance with equation (2), the selected regression function ƒ will return a significance value P for each attribute a k     1   , . . . , a k     1   . P ranges from 0 to 1, where 1 indicates the highest and 0 the lowest possible significance. Since the remaining attributes a∉{a k     1   , . . . , a k     1   } are dependent from a k     1   , . . . , a k     1   , these do not need to be considered anyway. 
     Up until now, analyzing the outcome of a clustering run remained somewhat of a critical task. Sharp and precise criteria were not available and the final decision, whether a clustering result was sufficiently good enough for the purpose in mind, was left to the user. Up until now, only trained experts with domain specific data knowledge are able to rate the quality of clusters. 
     The present invention enables to set a quality criterion previous to starting the clustering runs. Furthermore it is now possible to analyze the outcome of a clustering run more deeply by calculating ψ c     i    for all c i  i=1, . . . , n and pointing out single, exceptionally bad clusters. These clusters might then be subject to further clustering runs, resulting in new clusters of higher quality and increasing the overall quality ψ T . Alternatively, they might be isolated from the clustering result, leaving a limited but sound model. 
     Also, many clustering algorithms provide means to limit the maximum number of clusters. By applying the overall clustering quality criterion, iterative clustering algorithms are now possible, where in each run only a small number of clusters is allowed. After calculating ψ c     i    for all clusters c i , further runs for all clusters not meeting a preset quality criterion will dramatically increase the quality of the clusters, but at the same time keep the number of clusters to a minimum. 
     Further the quality measures provided by the present invention can also be used as an integral part of a clustering method to control or monitor the quality of the ongoing clustering operations. 
     By means of this invention users have an additional indicator characterizing a specific cluster c i . This will result in better understanding of the data. Since clustering algorithms exist that give the possibility to weight the attributes of the records, customization utilizing significance values gained from the proposed technique will furthermore increase the quality of the clustering process. 
     An example for application of the present invention is given in the following: 
     Data is provided from the UCI Machine Learning Repository, located at http://www.ics.uci.edu/˜mlearn/MLRepository.html. As these are, with a few exceptions, datasets publicly available, the only additional prerequisite to reproduce the following examples is the IBM Intelligent Miner for Data V6.1. In theory, any other clustering and/or statistics package would do as well, but as clustering algorithms are implemented slightly different upon the various offerings, one cannot expect to receive the same results for the clustering runs. 
     We used the Pima Indians Diabetes Dataset, containing 768 records with 8 real-valued attributes. The data is accessible at ftp://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes. 
     Using IBM Intelligent Miner for Data V6.1, the Pima Indians Diabetes Dataset was clustered using the Neural Clustering Algorithm, specifying a maximum number of 4 clusters. Active variables were all, except for class variable. The result of the clustering run consists of 4 clusters. Afterwards, four new columns holding ζ c     i   , i=1, 2, 3, 4 as defined in equation (1) were introduced to build the necessary linear regression models. After calculating those models, the value of the absolute clustering criterion could be retrieved from the Regression Anova table in the results page, listed as R-Squared. The following table shows the clusters with the respective values of the absolute clustering criterion. 
     
       
         
               
               
               
             
           
               
                   
               
               
                 Cluster 
                 Number of records 
                 ψ c     i     
               
               
                   
               
             
             
               
                 c 0   
                 139 
                 0.485479 
               
               
                 c 1   
                 229 
                 0.459340 
               
               
                 c 2   
                 232 
                 0.771137 
               
               
                 c 3   
                 168 
                 0.337445 
               
               
                   
               
             
          
         
       
     
     As you can see by the results, cluster c 2  is by far the most sharply separable cluster, while c 3  is the worst in terms of being separable. c 0  and c 1  are acceptable though not exceptional. 
     This is because the distributions of the two most important attributes in cluster c 2  are distinctively different from the distributions of these attributes in all of the records, having only members that have extremely low values for these two attributes. 
     The same goes for clusters c 0  and c 1 , though the distributions are not as contrary as in the case of c 2 . Cluster c 3  is not so distinctive, as its two most important attributes have a distribution that follows the distribution of all records rather closely. 
     Utilizing the technique of hierarchical clustering, we make cluster c 3  subject to a further clustering run, splitting c 3  up into further clusters. This time we use the Demographic Clustering algorithm to illustrate that the presented overall clustering quality criterion is applicable to all clustering algorithms. We specify a maximum of 3 clusters, because we are not interested in increasing the total number of clusters too much. We will therefore receive 3 additional clusters c 3     0   , c 3     1    and c 3     2   , which will give us the overall clustering of c 0 , c 1 , c 2 , c 3     0   , c 3     1   , and c 3     2   . 
     Once again, respective linear regression models for calculation of          ζ     c   i       ,                          
     i=1, 2, 3 were built like before, and the results can be seen in the following table: 
     
       
         
               
               
               
             
           
               
                   
               
               
                 Cluster 
                 Number of records 
                 ψ c     3i     
               
               
                   
               
             
             
               
                 c 3     0     
                 64 
                 0.121319 
               
               
                 c 3     1     
                 56 
                 0.415527 
               
               
                 c 3     2     
                 48 
                 0.576034 
               
               
                   
               
             
          
         
       
     
     As one would expect, Demographic Clustering found new clusters c 3     1    and c 3     2    with much better values for the absolute clustering criterions          ψ     c     3   1         =       0.415527                 and                   ψ     c     3   2           =   0.576034                            
     than what the former cluster c 3  had with          ψ     c   3       =     0.337445              .                            
     As is illustrated in this example, applying the overall clustering quality criterion greatly improves the process of finding a good clustering for a given set of records. 
     FIG. 2 shows an embodiment of a data processing system of the present invention. The data processing system  7  has a database  8  for storing of N records r j . 
     Further the data processing system  7  has a program module  9  for performing a first clustering method such as demographic clustering and a program module  10  for performing an alternative clustering method such as clustering based on neural networks. The data processing system  7  can comprise further program modules implementing a variety of further data clustering methods. 
     Further the data processing systems  7  has a program module  11  for calculation of        R     c   i     2                          
     in accordance with equation (6). 
     The program module  12  of the data processing system  7  serves to calculate the overall quality measure in accordance with equation (7). 
     Further the data processing  7  has a user interface  13 . In operation a user can select one of the clustering methods provided by the program modules  9 ,  10  . . . . After the data clustering has been performed the program modules  11  and  12  are started in order to calculate the quality of each individual cluster and also the overall quality measure for the data clustering. 
     The corresponding values are outputted via the user interface  13 . Based on this information the user can decide whether the quality of the individual clusters and/or the overall quality are sufficient or not. In the later case the user can select to perform further clustering steps on one or more of the clusters where the quality is insufficient. For the further clustering the user can select an alternative clustering method provided by one of the respective program modules, i.e. program module  10 , . . . of the data processing system  7 .