# K-Means Clustering Algorithm Based on Chaotic Adaptive Artificial Bee Colony
## 4 Numerical Experiments
### CAABC-K-means Performance Analysis
The \(NMI\) is defined as follows:  
\[NMI=2\frac{I(X,Y)}{H(X)+H(Y)} \tag{20}\]  
In the function, the \(I\) is mutual information between the sample and the label and \(H\) is the entropy. In addition, the Accuracy (\(ACC\)) can be described as follow:  
\[ACC=\frac{N_{\text{C}}}{N_{S}} \tag{21}\]  
where \(N_{S}\) is the number of samples, and \(N_{\text{C}}\) is the correct number of samples. In this paper, F-score is used to measure the accuracy of the clustering results. The performance comparisons among all the models are reported before and visualized in Table 9. \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Datasets**} & \multirow{2}{*}{**K-Means**} & \multicolumn{2}{c}{**ABC+K-Means**} & \multicolumn{2}{c}{**PSO+K-Means**} & \multicolumn{2}{c}{**CAABC-K-Means**} & \multirow{2}{*}{**PAM**} & \multirow{2}{*}{**GPAM**} \\ \cline{2-2} \cline{7-19}  & & & & & & & & & & & & & & & \\ \hline Musk & 2.02 & 1.68 & 1.42 & **0.61** & 10.04 & 3.02 \\ \hline Pendigits & 2.97 & 2.03 & 1.93 & **0.38** & 9.73 & 1.04 \\ \hline Skin Seg. & 3.01 & 2.93 & 4.09 & **0.46** & 6.83 & 1.97 \\ \hline CMC & 1.92 & 1.31 & 1.77 & **0.58** & 2.98 & 0.82 \\ \hline Cancer & 0.34 & 0.32 & 0.28 & **0.15** & 0.44 & 0.19 \\ \hline \hline \end{tabular}
\end{table} 
Table 8: _Cont._  
\begin{table}
\begin{tabular}{c c c c c c c c c c c c c c c c c} \hline \hline \multicolumn{1}{c}{} & \multicolumn{3}{c}{**K-Means**} & \multicolumn{3}{c}{**ABC+K-Means**} & \multicolumn{3}{c}{**PSO+K-Means**} & \multicolumn{3}{c}{**CAABC-K-Means**} & \multirow{2}{*}{**PAM**} & \multirow{2}{*}{**GPAM**} \\ \cline{2-2} \cline{7-19}  & & & & & & & & & & & & & & & & \\ \hline \multirow{2}{*}{\ \begin{tabular}{c} Iris \\ scale \\ \end{tabular}  } & \multirow{2}{*}{0.93} & \multirow{2}{*}{0.92} & \multirow{2}{*}{0.93} & \multirow{2}{*}{0.91} & \multirow{2}{*}{0.92} & \multirow{2}{*}{0.93} & \multirow{2}{*}{0.94} & \multirow{2}{*}{0.95} & \multirow{2}{*}{0.95} & \multirow{2}{*}{**1.00**} & \multirow{2}{*}{**1.00**} & \multirow{2}{*}{**1.00**} & \multirow{2}{*}{0.98} & \multirow{2}{*}{0.96} & \multirow{2}{*}{0.94} & \multirow{2}{*}{0.98} & \multirow{2}{*}{0.99} & \multirow{2}{*}{0.94} \\ \hline Glass & 0.84 & 0.83 & 0.85 & 0.84 & 0.83 & 0.80 & 0.82 & 0.83 & 0.8 & **0.90** & **0.91** & **0.95** & 0.82 & 0.83 & 0.8 & 0.9 & 0.88 & 0.82 \\ \hline Wine & 0.93 & 0.94 & 0.94 & 0.93 & 0.93 & 0.94 & 0.97 & 0.98 & 0.96 & **1.00** & **1.00** & **1.00** & 0.96 & 0.96 & 0.92 & 0.98 & 0.96 & 0.94 \\ \hline ECOLI & 0.76 & 0.77 & 0.79 & 0.80 & 0.84 & 0.83 & 0.82 & 0.84 & 0.83 & **0.89** & **0.89** & **0.89** & 0.80 & 0.84 & 0.83 & 0.83 & 0.85 & 0.84 \\ \hline Abalone & 0.29 & 0.34 & 0.32 & 0.23 & 0.24 & 0.22 & 0.19 & 0.24 & 0.22 & **0.49** & **0.39** & **0.42** & 0.22 & 0.24 & 0.22 & 0.29 & 0.34 & 0.32 \\ \hline Musk & 0.73 & 0.72 & 0.70 & 0.63 & 0.60 & 0.67 & 0.57 & 0.52 & 0.60 & **0.83** & **0.82** & **0.80** & 0.53 & 0.50 & 0.50 & 0.63 & 0.72 & 0.70 \\ \hline Pendigits & 0.70 & 0.72 & 0.73 & 0.77 & 0.72 & 0.75 & 0.78 & 0.77 & 0.78 & **0.83** & **0.83** & **0.83** & 0.70 & 0.70 & 0.73 & 0.79 & 0.73 \\ \hline \multirow{2}{*}{ \begin{tabular}{c} Skin Seg. \\ \end{tabular}  } & \multirow{2}{*}{0.66} & \multirow{2}{*}{0.63} & \multirow{2}{*}{0.64} & \multirow{2}{*}{0.76} & \multirow{2}{*}{0.72} & \multirow{2}{*}{0.74} & \multirow{2}{*}{0.60} & \multirow{2}{*}{0.63} & \multirow{2}{*}{0.64} & \multirow{2}{*}{**0.88**} & \multirow{2}{*}{Precision (_P_), Recall (_R_), and F-measure (_F_) are often used to describe the accuracy of the clustering results. They are defined as follow:  
\[P=\frac{\mathit{TP}}{\mathit{TP}+\mathit{FP}} \tag{22}\]  
\[R=\frac{\mathit{TP}}{\mathit{TP}+\mathit{FN}} \tag{23}\]  
\[F=\frac{\mathit{2 TP}}{\mathit{2 TP}+\mathit{FP}+\mathit{FN}} \tag{24}\]  
where _TP_ is True Positive, which is the number of the data that is classified into the cluster correctly. _FN_ means False Negative, which is the number of the data that is not classified into the correct cluster.