## 1 Introduction  
Cluster analysis is an unsupervised machine learning algorithm that explores potential relationships and rules in a dataset based on the similarities between data, and its primary task is to partition the data into a number of clusters while ensuring that the data within the same cluster have high similarity. In order to generate natural groups that maximize intra-cluster similarity and minimize inter-cluster similarity, clustering algorithms are widely used in a variety of fields, including image segmentation [1], bioinformatics [2, 3], cybersecurity [4], computer vision [5], and so on. In recent years, clustering algorithms based on different strategies have been proposed and categorized into different types. K-means [6] is the most representative partition-based clustering algorithm; it can effectively deal with spherical datasets, but cannot deal with complex structured datasets and the number of clusters needs to be selected manually. Unlike k-means, the density-based spatial clustering of applications with noise (DBSCAN) [7] is a density-based clustering algorithm that can recognize clusters of arbitrary shapes, but it performs poorly when dealing with clusters with uneven density or ambiguous boundaries between clusters. Density peak clustering (DPC) [8] is a density-based clustering algorithm proposed by [PERSON] and [PERSON] that rapidly clusters data points by manually selecting cluster centers from a decision graph and assigning the remaining data points to the nearest-neighbor centers based on the two assumptions that the cluster centers have high local density and that the different cluster centers are far away from each other. Although DPC has achieved good results on non-spherical datasets, it is difficult to find the correct clustering centers in streaming and density heterogeneous datasets. Hierarchical clustering algorithms utilize distance or similarity metrics to build a tree-like hierarchy [9]. In particular, agglomerative hierarchical clustering, such as balanced iterative reducing and clustering using hierarchies (BIRCH) [10], considers individual data points as a cluster merged bottom-up to obtain a hierarchical structure. Split hierarchical clustering [11] iteratively partitions all data points into smaller clusters by considering them as a single cluster. A hierarchical clustering algorithm using dynamic modeling (Chameleon) [12] essentially belongs to agglomerative hierarchical clustering, which can find the real clustering result by constructing k-nearest neighbor graphs and using a graph partitioning algorithm to partition the dataset into a number of subclusters and then iteratively merging subclusters by the connectivity between subclusters. It can handle complex structured data sets of arbitrary shape and size. However, when dealing with high-dimensional datasets or those with an excessive amount of data, the process is quite time-consuming. [PERSON] et al. proposed a local kernel-based hierarchical clustering method called a local core-based hierarchical clustering algorithm (HCLORE) [13], which first partitions the dataset into small subclusters by finding local kernels and then merges the subclusters based on a newly defined similarity. Although HCLORE is able to recognize complex cluster structures, it performs sensitively to cluster structures with ambiguous boundaries between clusters. In order to effectively deal with the cluster structure with uneven density and the problem of ambiguous inter-cluster boundaries, we propose a two-phase clustering algorithm based on detecting density peaks in dimensions and measuring the degree of interaction between clusters (CPDD-ID). Firstly, we detect the local density peaks of each dimension for subclustering based on the proposed partitioning strategy. Secondly, the degree of interaction between subclusters is evaluated to define a new similarity metric to merge the subclusters. Lastly, we iteratively merge the subclusters with maximum similarity to achieve the desired number of clusters.