A novel deviation density peaks clustering algorithm and its applications of medical image segmentation

IET Image ProcessingVolume 16, Issue 14 p. 3790-3804 ORIGINAL RESEARCHOpen Access A novel deviation density peaks clustering algorithm and its applications of medical image segmentation Wei Zhou, Wei Zhou orcid.org/0000-0002-4168-0554 School of Computer Science and Technology, Changchun University of Science and Technology, Changchun, People's Republic of ChinaSearch for more papers by this authorLimin Wang, Corresponding Author Limin Wang [email protected] orcid.org/0000-0002-0576-3950 School of Computer Science and Technology, Changchun University of Science and Technology, Changchun, People's Republic of China School of Information, Guangdong University of Finance & Economics, Guangzhou, People's Republic of China Correspondence Limin Wang, School of Computer Science and Technology, Changchun University of Science and Technology, Changchun 130022, People's Republic of China. Email: [email protected]Search for more papers by this authorXuming Han, Xuming Han orcid.org/0000-0002-6213-5600 College of Information Science and Technology, Jinan University, Guangzhou, People's Republic of ChinaSearch for more papers by this authorMingyang Li, Mingyang Li orcid.org/0000-0002-8697-1398 School of Management, Jilin University, Changchun, People's Republic of ChinaSearch for more papers by this author Wei Zhou, Wei Zhou orcid.org/0000-0002-4168-0554 School of Computer Science and Technology, Changchun University of Science and Technology, Changchun, People's Republic of ChinaSearch for more papers by this authorLimin Wang, Corresponding Author Limin Wang [email protected] orcid.org/0000-0002-0576-3950 School of Computer Science and Technology, Changchun University of Science and Technology, Changchun, People's Republic of China School of Information, Guangdong University of Finance & Economics, Guangzhou, People's Republic of China Correspondence Limin Wang, School of Computer Science and Technology, Changchun University of Science and Technology, Changchun 130022, People's Republic of China. Email: [email protected]Search for more papers by this authorXuming Han, Xuming Han orcid.org/0000-0002-6213-5600 College of Information Science and Technology, Jinan University, Guangzhou, People's Republic of ChinaSearch for more papers by this authorMingyang Li, Mingyang Li orcid.org/0000-0002-8697-1398 School of Management, Jilin University, Changchun, People's Republic of ChinaSearch for more papers by this author First published: 30 July 2022 https://doi.org/10.1049/ipr2.12594Citations: 1AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract The density peaks clustering (DPC) algorithm can identify clusters with various shapes and densities in the underlying dataset. However, the DPC algorithm cannot exactly find the true quantity of clustering centers when computing the local density, and it is difficult to handle non-convex datasets. Moreover, the DPC algorithm is difficult to identify boundary points and outliers without a reasonable allocation strategy when dealing with low-density points. To solve these limitations, a novel deviation density peaks clustering (DeDPC) algorithm is proposed. First, the local deviation of the spatial distance of datasets with different structures is utilised to replace the local density to generate a more reasonable clustering center decision graph. Second, a threshold is defined to further divide and process low-density points. Finally, outliers in low-density points can be accurately found to accurately cluster the dataset. To evaluate the performance of the DeDPC algorithm, experiments are conducted on synthetic and real-world datasets and the DeDPC is compared with other clustering methods. The DeDPC is also applied to medical image segmentation to further demonstrate its capability for medical image processing. The simulation results show that the DeDPC method has good validity and utility for both non-convex datasets and medical image segmentation. 1 INTRODUCTION Data information has become a key resource to lead the development of society. Big data analysis technology is a new motivation to promote the rapid evolution of society. Medical image segmentation is an essential part of the modern image process, and the quality of its results has a key impact on the subsequent tissue structure decomposition, disease diagnosis, surgical implementation and other links [1]. Cluster analysis is one of the key techniques of data mining, which uncovers the intrinsic connections between data based on their structural features [2, 3]. Clustering algorithms have high application prospects and practical value in pattern recognition [4], image segmentation [5, 6], financial information processing [7] and so on. Compared with natural image segmentation, the effect of the clustering method in medical image segmentation is often related to the specific application of imaging modes and body parts, which is a more complex problem [8]. Many algorithms that work well in natural image segmentation have problems of under-segmentation and over-segmentation in medical image segmentation, and cannot be well transferred to the medical image segmentation field [9-11]. Density peaks clustering (DPC) is a popular clustering algorithm that has been proposed in recent years [12]. This method is able to visualize feature relationships within data in a two-dimensional spatial decision diagram [13]. The decision graph consists of the local density (named ρ) and the maximum distance between that point and other high-density samples (named δ) [14, 15]. Zhu et al. [16] utilized fruit fly optimization combined with the DPC algorithm to find the optimal parameters for medical image segmentation. Zhou et al. [17] utilized a linear fitting method to automatically select the cluster centers for image segmentation. The DPC algorithm is difficult to find the outliers corresponding to the dataset and the clustering effect on non-convex data is not good. Jiang et al. [18] proposed the HaloDPC algorithm to identify and unify the low-density points, boundary points and outliers of the DPC method. Wang et al. [19] proposed density peaks clustering based on the k-nearest neighbor theory algorithm (KNN-HDPC). The algorithm can improve the clustering accuracy of the method by using the KNN theory to assign the identified boundary points and outliers. However, the outliers cannot be effectively identified and assigned [20]. Yu et al. [21] proposed an improved DPCSA algorithm. This method enhances the clustering performance by introducing a weighted local density sequence and a two-stage nearest neighbor dynamic table assignment strategy. Guan et al. [22] proposed a fast hierarchical clustering method for local density peaks (FHC-LDP) based on the correlation transfer method. This algorithm replaces the cluster center selection method of DPC with a bottom-up hierarchical method, which improves the accuracy of cluster center identification and is able to identify clusters of arbitrary shapes. The DPC method is difficult to accurately process non-convex datasets and find out the exact number of clusters. Wang et al. [23] proposed a multi-center density peak clustering algorithm (McDPC). This algorithm is able to further process clusters with multiple density peaks in the dataset by dividing the local densities in the decision graph into different levels. Sieranoja et al. [24] proposed a new Fast Density Peaking Algorithm (FastDP). The algorithm accelerates the clustering effect of large-scale data by creating a KNN graph to estimate the density and delta value and adopting the density peaks as a standard connection strategy. Lotfi et al. [25] proposed a new DPC-DBFN algorithm. This algorithm uses a fuzzy kernel and density-based KNN graph strategy to effectively assign real labels to those instances located in the boundary region, thus effectively clustering data of various shapes and densities. Flores et al. [26] proposed a GB-DPC algorithm. This algorithm detects gaps in decision graphs by establishing a threshold relative to the average distance according to the DPC algorithm, thereby realizing the automatic extraction of cluster centers. Given the above problems, we propose a novel clustering method-deviation density peaks clustering (DeDPC) and its applications to medical image segmentation. The DeDPC utilizes local deviations instead of local densities for the sample points. The local density of clustering centers in the non-convex datasets is highly variable. For clustering centers with low local density, we utilize deviation instead of local density, and by adjusting the parameters and initializing the local density, we can obtain the number of clusters and results more accurately. Furthermore, DeDPC sets reasonable thresholds for the processing of low-density points, so the outliers will be more accurately identified. After presenting the technological specifics of our new method, we assess the ability of DeDPC to process data by simulation testing on the synthetic and real-world datasets. Moreover, for comparison purposes, we performed simulation experiments on the same datasets with different state-of-the-art algorithms. To demonstrate the usefulness of the algorithm, we also applied the DeDPC algorithm to the medical image processing field and performed image segmentation for various models of cancers. Experimental findings indicate that DeDPC has good performance. The main contributions to this article are summarized as follows: (1) This article proposes a novel theory of local deviation, which is an extension of the local density theory of the DPC algorithm. It provides a new theoretical framework for finding clustering centers and has a good clustering effect on non-convex datasets. (2) A density deviation clustering algorithm (DeDPC) is designed. This algorithm enhances the ability of the clustering algorithm to identify outliers by constructing a threshold model. (3) This article proposes the practical application of the DeDPC algorithm in medical image segmentation. The cluster method application scope is well extended to the fire-new medical. This is an innovative application and has achieved very good application value. The rest of the paper is organized as follows. In Section 2, we describe the process of DPC and briefly outline other related works. In Section 3, we provide the improvement process of the proposed DeDPC method. In Section 4, we present the experiment details with comparisons and discussions. Finally, we conclude this paper and propose future work in Section 5. 2 RELATED WORKS In this section, we will present the DPC method technical details and basic theory of deviation. Density peaks clustering algorithm The density peaks clustering (DPC) algorithm was proposed in 2014 and published in Science [12]. The DPC is mainly about a density-based clustering method. The main idea of density-based clustering is to find high-density regions separated by low-density regions. Therefore, DPC mainly has two variables to be calculated: (i) the local density ρ i $\rho _{i}$ ; (ii) the distance from the high-density points δ i $\delta _{i}$ [27]. Suppose, for a dataset U = { x 1 , … , x i … , x N } $U=\lbrace x_{1},\ldots,x_{i}\ldots,x_{N}\rbrace$ , the two data points in dimension D can be defined as x i = { x i 1 , x i 2 , … , x i D } $x_{i}=\lbrace x_{i1},x_{i2},\ldots,x_{iD}\rbrace$ and x j = { x j 1 , x j 2 , … , x j D } $x_{j}=\lbrace x_{j1},x_{j2},\ldots,x_{jD}\rbrace$ , respectively. The distance between x i $x_{i}$ and x j $x_{j}$ is calculated by Euclidean distance is as follows: d i j = ∑ k = 1 D ( x i k − x j k ) 2 , \begin{equation} d_{ij}=\sqrt {\sum _{k=1}^{D}(x_{ik}-x_{jk})^2}, \end{equation} (1)where d i j $d_{ij}$ denotes the Euclidean distance of different data points in D dimensional space. To better measure the relationship between data points, we define the similarity matrix S = a s c e n d ( d i j ) $S= ascend(d_{ij})$ , where S denotes the matrix obtained by sorting the d i j $d_{ij}$ in column-major ascending order. The obtained similarity matrix can be expressed as S = { S 1 , S 2 , … , S N } $S=\lbrace S_1,S_2,\ldots,S_N\rbrace$ . The N indicates the number of data points. Therefore, the cut-off distance d c $d_c$ can be defined as: d c = S r n d ( p 100 ∗ N ) , \begin{equation} d_c= S_{rnd(\frac{p}{100}*N)}, \end{equation} (2)where p represents the user-selected parameter that determines which member of S is chosen to attach to d c $d_c$ , r n d ( o ) $rnd(o)$ returns the integer value closest to o. The local density ρ i $\rho _{i}$ can be defined as follows: ρ i = ∑ j e − d i j d c 2 . \begin{equation} \rho _{i}=\sum \limits _{j}e^{-{\left(\frac{d_{ij}}{d_{c}}\right)}^2}. \end{equation} (3)For δ i $\delta _i$ , it is determined as the closest distance to any additional data points with density value higher than x i $x_i$ [28]. On the other hand, if x i $x_i$ takes the maximum density position, then δ i $\delta _i$ is defined as the maximum distance from any additional data sites [29]. Concretely, the formula for δ i $\delta _i$ is defined as follows: δ i = min j : ρ j > ρ i d i j , if ∃ j s . t . ρ j > ρ i max j d i j , otherwise , \begin{equation} \delta _i= {\left\lbrace \def\eqcellsep{&}\begin{array}{ll} \min \limits _{j:\rho _j>\rho _i} d_{ij},& {\rm if}\ \exists {j}\quad {\rm s.t.}\quad \rho _j>\rho _i \\[12pt] \max \limits _{j} d_{ij},& \text{otherwise} \end{array} \right.}, \end{equation} (4)where the values of ρ i $\rho _i$ and δ i $\delta _i$ are utilized to produce a two-dimensional decision graph to facilitate the manual selection of clustering centers. In Figure 1b, we can see that the data points marked as 1 and 10 have higher ρ and δ values. In general, we use these types of points as cluster centers, the remaining points will be allocated to clusters where the closest higher-density points are positioned (see Figure 1a). FIGURE 1Open in figure viewerPowerPoint DPC algorithm clustering process simulation. (a) Clustering result and (b) decision graph However, as shown in (3), when the DPC algorithm calculates the local density of the data points, it also takes into account the data points whose distance from the data point exceeds d c $d_c$ value. This will result in local density calculation results that are not accurate enough. Therefore, when processing some datasets, it is difficult to identify the clustering centers. At the same time, the DPC algorithm lacks a reasonable method for low-density points processing. Generally, the DPC algorithm classifies all low-density points into the nearest cluster by default. However, it is usually very possible to include outliers in low-density points, but the DPC algorithm can not identify them. As shown in Figure 1a, outliers 26, 27, and 28 are assigned to nearby clusters. In the DPC algorithm, the data points in the boundary area belong to a cluster, but there are data points belonging to other clusters in the range of the distance not exceeding d c $d_c$ . The DPC algorithm usually uses two data points in different boundary regions at a distance less than d c $d_c$ to calculate the average of the local density. Then the maximum average local density value is taken as the upper bound of the local density after traversal. We generally define the points smaller than the upper bound of local density as halo nodes in the DPC method. The halo nodes usually contain both boundary points and outliers. However, DPC does not set a reasonable recognition method for outliers, so the outliers hidden in low-density points are assigned to nearby clusters as ordinary halo nodes. Deviation theory The Deviation is a measure of the dispersion of data distribution and the degree to which data values deviate from the arithmetic mean. The greater the deviation, the greater the deviation of these values from the mean. The magnitude of the deviation can be measured by the multiplicity of the deviation in relation to the mean. The definitional formula is as follows: d i = y i − y ¯ , \begin{equation} d_i=y_i-\overline{y}, \end{equation} (5)where y ¯ = 1 N ∑ i = 1 N y i . \begin{equation} \overline{y}=\frac{1}{N}\sum _{i=1}^{N}y_i. \end{equation} (6) In the DPC method, the larger the data point distance, the more possible it will become a clustering central point. Therefore, we introduce the deviation size as an important measure of clustering centroids into the local density. We can find the location of the clustering center more easily. In the clustering algorithm, the larger the deviation, the more possible that will become a cluster centroid. 3 A NOVEL DEVIATION DENSITY PEAKS CLUSTERING ALGORITHM In this paper, we redefine the theoretical structure of the DPC algorithm, forming a new method that can cluster datasets with more complex structures. Meanwhile, we redefine and layout the cluster center decision graph that reflects the internal characteristics of the data. We reset the recognition of category points, boundary points and outliers in the clustering process to improve the effectiveness and practicability of the method. In this section, we will introduce the basic principles of the novel DeDPC algorithm in detail. The DeDPC algorithm flow is divided into the following four steps: (i) Identification of clustering centers: We use local deviation to measure the local density of data, and then calculate the distance δ on this basis. We use the local deviation as the abscissa and the δ as the ordinate so that we can clearly observe the structural relationship between the data. From the formed two-dimensional decision graph, we can see the exact number of cluster centers. (ii) Initial clustering result: We find the location of each cluster center point based on the generated decision graph. The data points are initially assigned to their respective clusters according to the principle of assigning points with lower values of deviations to those with higher values of deviations. By the initial assignment of data points, we can get the initialized clustering results. (iii) Extraction of halo nodes (low-deviation points): We name the points with low local deviation as halo nodes. Halo nodes contain boundary points and outliers. The DPC algorithm can not recognize and mark the outliers in the halo nodes. Hence, the deviation clustering algorithm in this paper will further process the aforementioned halo nodes so that better clustering results can be obtained. (iv) Halo nodes processing: Finally, we will process the halo nodes for the outliers detection and boundary points assignment. To better detect outliers, we set the outlier separation values based on the halo node assignment feature. By setting an outlier separation value, we can identify hidden outliers in the halo nodes and then mark them and no longer assign them to neighboring clusters. The rest of the boundary points will be reassigned to the nearest clusters. Identification of clustering centers To better identify clustering centers, in DeDPC we will use local deviation instead of local density to compute feature relationships for the data points. Deviation usually represents the difference between an individual measurement and the mean value. Hence, in the DPC algorithm, we consider the distance between data points x i $x_i$ and x j $x_j$ as the individual measurements in the deviation calculation. Meanwhile, we consider the value of d c $d_c$ in the DPC algorithm as the average value. Then we will have the following definition: Definition 1. (Clustering deviation)The difference between the measured values between the data points in the clustering algorithm and the selected cut-off distance d c $d_c$ . We give the exact calculation as follows: D E i j = d i j − d c . \begin{equation} DE_{ij}=d_{ij}-d_c. \end{equation} (7) When the distance between data points is in the range of d c $d_c$ , we know that D E i j ≤ 0 $DE_{ij}\le 0$ . Conversely, D E i j > 0 $DE_{ij}>0$ . When D E i j $DE_{ij}$ is larger than zero, the distance between x i $x_i$ and x j $x_j$ is greater, indicating that data points x i $x_i$ and x j $x_j$ are less compact. To make it easier to capture the compactness of data, we redefine the deviation as follows: R D E i j = d c − d i j , \begin{equation} RDE_{ij}=d_c-d_{ij}, \end{equation} (8)where R D E i j $RDE_{ij}$ is positively correlated with the compactness of data. When R D E i j $RDE_{ij}$ is larger, the closer the distance between x i $x_i$ and x j $x_j$ means that the data points x i $x_i$ and x j $x_j$ are more compact. Furthermore, we give the following definition. Definition 2. (Compactness function)To more accurately measure the compactness between two data points, we introduce the cut-off distance d c $d_c$ as a standard parameter. The complete compactness function is calculated as follows: C i j = R D E i j d c = d c − d i j d c , \begin{equation} C_{ij}=\frac{RDE_{ij}}{d_c}=\frac{d_c-d_{ij}}{d_c}, \end{equation} (9)where the d c $d_c$ on the denominator is reference value to measure the degree of deviation. The larger value of the C i j $C_{ij}$ , the more compact the data point x i $x_i$ and x j $x_j$ . Further, the sum of the compactness of multiple data points is as follows: C i = ∑ j C i j = ∑ j d c − d i j d c , \begin{equation} C_i=\sum _{j}C_{ij}=\sum _{j}\frac{d_c-d_{ij}}{d_c}, \end{equation} (10)where C i $C_i$ denotes the sum of the compactness metrics of serveal data points adjacent to x i $x_i$ . To further show the level of compactness between the data points, we give the following definition. Definition 3. (Local deviation)The average compactness level of data points x i $x_i$ and its N nearest neighboring data points. A higher average compactness level represents a denser distribution of data points around the data points and thus a higher local density. The equation is as follows: C i ¯ = C i N = ∑ j d c − d i j N ∗ d c , \begin{equation} \overline{C_i}=\frac{C_i}{N}=\sum _{j}\frac{d_c-d_{ij}}{N*d_c}, \end{equation} (11)where N is manually entered parameter value representing the N closest data points to x i $x_i$ . We define S e t n i $Set_{n_i}$ as the set that stores the N neighboring data points. Therefore, S e t n i $Set_{n_i}$ can be expressed as S e t n i = { x 1 , … , x N } $Set_{n_i}=\lbrace x_1,\ldots,x_N\rbrace$ . The C i ¯ $\overline{C_i}$ indicates the denseness of N data points around x i $x_i$ . When C i ¯ $\overline{C_i}$ is higher, it indicates greater denseness, which further indicates a greater local deviation of x i $x_i$ . The local density of data points x i $x_i$ is calculated using (11) without involving the whole data space data points within a certain range around x i $x_i$ , eliminating most data points outside the range of data point x i $x_i$ in the d c $d_c$ neighborhood. This calculation better reflects the distribution of data points around it. Thus, it is possible to better measure the local density of data points. Furthermore, the distance δ i $\delta _i$ is determined based on the local deviation magnitude relationship between the sample points. The specific equation is as follows: δ i = min j : C j ¯ > C i ¯ d i j , if ∃ j s . t . C j ¯ > C i ¯ max j d i j , otherwise . \begin{equation} \delta _i= {\left\lbrace \def\eqcellsep{&}\begin{array}{ll} \min \limits _{j:\overline{C_j}>\overline{C_i}} d_{ij},& {\rm if}\ \exists {j}\quad {\rm s.t.}\quad \overline{C_j}>\overline{C_i} \\[12pt] \max \limits _{j} d_{ij},&\text{otherwise} \end{array} \right.} . \end{equation} (12)When x i $x_i$ has the largest average compactness value, δ i $\delta _i$ represents the distance between the data points in the dataset with the largest distance to x i $x_i$ . Otherwise, δ i $\delta _i$ denotes the distance between the sample points with the minimum distance to x i $x_i$ among all sample points with a local deviation higher than x i $x_i$ .According to (11) and (12), we can show the relationship between local deviation and distance of the two-dimensional coordinates (decision graph see Figure 1b). The DPC algorithm takes the points with both larger local density and distance as the clustering centers. Similarly, we take the points with both larger local deviation and distance as the clustering centers. Initial clustering result By pre-processing the data from the previous section, each data point is given its own C i ¯ $\overline{C_i}$ and δ i $\delta _i$ values. Further, generating the decision graph. In general, the sample points with larger C i ¯ $\overline{C_i}$ value and δ i $\delta _i$ value should be chosen as clustering centers. From Equation (11), we know that the distance d i j $d_{ij}$ of the data point from itself is 0 when the value N is 1. The local deviation of the improved method is equal in this case. Therefore, we sort the clustering center points in the decision graph according to the distance sorting principle of the DeDPC algorithm. In the decision graph, after sorting the data points with the same local deviation according to the distance, C i ¯ $\overline{C_i}$ and C j ¯ $\overline{C_j}$ are still in order, to ensure that the data points with a higher distance are used as the cluster centers. In this case, we can get the corresponding clustering result according to the initial data allocation rule. The sorting of the improved algorithm is as follows: C 1 ¯ ≥ C 2 ¯ ≥ C 3 ¯ ≥ ⋯ ≥ C i ¯ , \begin{equation} \overline{C_1}\ge \overline{C_2}\ge \overline{C_3}\ge \cdots \ge \overline{C_i}, \end{equation} (13)where C i ¯ $\overline{C_i}$ is sorted according to the high distance of neighboring local deviation. After sorting, we use the points with higher distances as clustering centers. Initial data points allocation rule: after determining the cluster centers, x j $x_j$ and x i $x_i$ are assigned to the same cluster based on the minimum distance between the unassigned sample point x j $x_j$ and the neighboring sample point x i $x_i$ with a larger density. Repeat this process until all sample points have been allocated a specific clustering. Therefore, we obtain the initial clustering result of all data points. The process for assigning data points for the improved algorithm is as follows: ALGORITHM 1. Initial clustering result Input: Parameters p, N Output: Initial clustering results 1: Compute the Euclidean distance between data points to obtain distance matrix; 2: for each data point x i $x_i$ do 3: find S e t n i $Set_{n_i}$ based on the distance matrix and parameter N; 4: for each data point x j $x_j$ in S e t n i $Set_{n_i}$ do 5: compute C i ¯ $\overline{C_i}$ (see (11)); 6: end for 7: end for 8: compute δ i $\delta _i$ (see (12)); 9: obtain the decision graph of the C i ¯ $\overline{C_i}$ and δ i $\delta _i$ ; 10: obtain cluster centroids; 11: for Each local deviation C i ¯ $\overline{C_i}$ do 12: if C i ¯ $\overline{C_i}$ > C j ¯ $\overline{C_j}$ then 13: associate the point x j $x_j$ to the cluster x i $x_i$ 14: else 15: Each local deviation C i ¯ $\overline{C_i}$ is equal 16: reorder local deviation (see (13)) 17: end if 18: end for In Algorithm 1, we first input the parameters P and N to obtain the local deviations C i ¯ $\overline{C_i}$ and δ i $\delta _i$ and obtain the clustering centroids from the generated decision graph. In Algorithm 1, we can see that when the local deviations are not equal, we assign data points to clusters with greater local deviations than and are in close proximity. When each local deviation is equal, we order C i ¯ $\overline{C_i}$ according to the distance and then obtain the initialized clustering results according to the data point assignment principle. Extraction of halo nodes After data points have been initially assigned, we need to further identify the low-deviation points (halo nodes) in the dataset in preparation for being able to identify outliers in the future. The data points in a cluster can be divided into core nodes and halo nodes, with the former having a higher local deviation, corresponding to the core part of the cluster, and the latter having a lower local deviation (see (11)), corresponding to the border region of the cluster, with outliers distribu