## 1 Introduction  
Clustering is an important data mining technology that groups data into certain sets with maximizing the intra-cluster similarity and minimizing the inter-cluster similarity [1]. Most clustering algorithms focus on numerical data. Distances between two data points are calculated as the clustering criterion. However, a lot of databases handle transactions with categorical attributes whose clustering process seems to be different and more complicated than those of numerical ones. With the repaid growth of categorical data volume, the research of clustering methods for categorical data becomes increasingly important.  
Among previous research works on clustering categorical data [2; 3; 4; 5; 6; 7], CLOPE [6] is the representative one, which achieves relatively better clustering results with high efficiency based on cluster histogram calculation. Moreover, it has the following advantages. Firstly, the algorithm is simple and requires only one input parameter, which is easy to extend. In the second place, neither fuzzy theory nor probability calculation is used, thus the clustering result is accurate and direct. Finally, the algorithm automatically stops until no further iteration could be done, and the output number of clusters is absolutely determined by the input data and the only parameter instead of being specified by user such as _k_-means and ROCK [3]. Some improved methods have been proposed based on CLOPE algorithm. For example, [PERSON] proposed SCLOPE [8] and \(\sigma\)-SCLOPE [9] algorithm for clustering categorical data streams [10] based on a FP-Growth tree structure [11]. [PERSON] proposed fuzzy-CLOPE algorithm [12]. However, there is one crucial problem which has been ignored among CLOPE and its extensions. That is the clustering results are unstable and greatly influenced by the transaction order in the dataset. Given the exactly same dataset and input parameter, if each transaction is read in another order, the clustering result would seem to be different, thus the profit value might not be optimal.  
We deeply analyze the clustering process of CLOPE algorithm and find that since CLOPE algorithm only moves one transaction at a time during each round of iteration, it is difficult to find the best combinations of transactions to form an \"optimal\" clustering result and achieve stable satisfactory clustering results. To deal with this problem, an optimized agglomerative approach is proposed for categorical data. In the proposed method, each transaction in the dataset is treated as a single cluster in initial. Then the new clustering profit is defined as the criteria to merge the initial clusters as an extension from CLOPE. Such process is iterated until no clusters are merged and then the clustering process is automatically stopped that also meets the feature of CLOPE. Finally, the optimized method based on the cluster graph is proposed to reduce the merge iteration process. On this basis, this approach can effectively handle the unstable problem from CLOPE. The experiments conducted on the mushroom dataset and the splice-junction gene sequences dataset both demonstrate that the agglomerative approach achieves stable clustering results with a better profit value, but costs much more time due to the worse complexity.