聚类分析:探索数据内在结构的奇妙之旅
目录
在数据科学的浩瀚宇宙中,聚类分析如同一盏明灯,照亮了数据内在结构的探索之路。它是一种无监督学习方法,旨在将数据集划分为多个组或簇,使得同一簇内的数据点彼此相似,而不同簇间的数据点差异显著。聚类分析不仅能够帮助我们发现数据中的隐藏模式,还能为数据分类、异常检测、市场细分等领域提供强有力的支持。本文将带你深入了解聚类分析的基本原理、常用算法及其实战应用。
一、聚类分析的基本原理
聚类分析的核心在于相似性度量与簇的形成。相似性度量通常基于距离计算,如欧氏距离、曼哈顿距离或余弦相似度等,这些度量方法决定了数据点之间的亲近程度。簇的形成则依赖于聚类算法,它们通过迭代优化过程,不断调整数据点的归属,直至达到某种稳定性标准。
二、常用聚类算法概览(以小麦数据聚类)
| Area | Perimeter | Compactness | Kernel_Length | Kernel_width | Asymmetry_Coefficent | Kernel_Groove_Length | target |
| 15.26 | 14.84 | 0.871 | 5.763 | 3.312 | 2.221 | 5.22 | 1 |
| 14.88 | 14.57 | 0.8811 | 5.554 | 3.333 | 1.018 | 4.956 | 1 |
| 14.29 | 14.09 | 0.905 | 5.291 | 3.337 | 2.699 | 4.825 | 1 |
| 13.84 | 13.94 | 0.8955 | 5.324 | 3.379 | 2.259 | 4.805 | 1 |
| 16.14 | 14.99 | 0.9034 | 5.658 | 3.562 | 1.355 | 5.175 | 1 |
| 14.38 | 14.21 | 0.8951 | 5.386 | 3.312 | 2.462 | 4.956 | 1 |
| 14.69 | 14.49 | 0.8799 | 5.563 | 3.259 | 3.586 | 5.219 | 1 |
| 14.11 | 14.1 | 0.8911 | 5.42 | 3.302 | 2.7 | 5 | 1 |
| 16.63 | 15.46 | 0.8747 | 6.053 | 3.465 | 2.04 | 5.877 | 1 |
| 16.44 | 15.25 | 0.888 | 5.884 | 3.505 | 1.969 | 5.533 | 1 |
| 15.26 | 14.85 | 0.8696 | 5.714 | 3.242 | 4.543 | 5.314 | 1 |
| 14.03 | 14.16 | 0.8796 | 5.438 | 3.201 | 1.717 | 5.001 | 1 |
| 13.89 | 14.02 | 0.888 | 5.439 | 3.199 | 3.986 | 4.738 | 1 |
| 13.78 | 14.06 | 0.8759 | 5.479 | 3.156 | 3.136 | 4.872 | 1 |
| 13.74 | 14.05 | 0.8744 | 5.482 | 3.114 | 2.932 | 4.825 | 1 |
| 14.59 | 14.28 | 0.8993 | 5.351 | 3.333 | 4.185 | 4.781 | 1 |
| 13.99 | 13.83 | 0.9183 | 5.119 | 3.383 | 5.234 | 4.781 | 1 |
| 15.69 | 14.75 | 0.9058 | 5.527 | 3.514 | 1.599 | 5.046 | 1 |
| 14.7 | 14.21 | 0.9153 | 5.205 | 3.466 | 1.767 | 4.649 | 1 |
| 12.72 | 13.57 | 0.8686 | 5.226 | 3.049 | 4.102 | 4.914 | 1 |
| 14.16 | 14.4 | 0.8584 | 5.658 | 3.129 | 3.072 | 5.176 | 1 |
| 14.11 | 14.26 | 0.8722 | 5.52 | 3.168 | 2.688 | 5.219 | 1 |
| 15.88 | 14.9 | 0.8988 | 5.618 | 3.507 | 0.7651 | 5.091 | 1 |
| 12.08 | 13.23 | 0.8664 | 5.099 | 2.936 | 1.415 | 4.961 | 1 |
| 15.01 | 14.76 | 0.8657 | 5.789 | 3.245 | 1.791 | 5.001 | 1 |
| 16.19 | 15.16 | 0.8849 | 5.833 | 3.421 | 0.903 | 5.307 | 1 |
| 13.02 | 13.76 | 0.8641 | 5.395 | 3.026 | 3.373 | 4.825 | 1 |
| 12.74 | 13.67 | 0.8564 | 5.395 | 2.956 | 2.504 | 4.869 | 1 |
| 14.11 | 14.18 | 0.882 | 5.541 | 3.221 | 2.754 | 5.038 | 1 |
| 13.45 | 14.02 | 0.8604 | 5.516 | 3.065 | 3.531 | 5.097 | 1 |
| 13.16 | 13.82 | 0.8662 | 5.454 | 2.975 | 0.8551 | 5.056 | 1 |
| 15.49 | 14.94 | 0.8724 | 5.757 | 3.371 | 3.412 | 5.228 | 1 |
| 14.09 | 14.41 | 0.8529 | 5.717 | 3.186 | 3.92 | 5.299 | 1 |
| 13.94 | 14.17 | 0.8728 | 5.585 | 3.15 | 2.124 | 5.012 | 1 |
| 15.05 | 14.68 | 0.8779 | 5.712 | 3.328 | 2.129 | 5.36 | 1 |
| 16.12 | 15 | 0.9 | 5.709 | 3.485 | 2.27 | 5.443 | 1 |
| 16.2 | 15.27 | 0.8734 | 5.826 | 3.464 | 2.823 | 5.527 | 1 |
| 17.08 | 15.38 | 0.9079 | 5.832 | 3.683 | 2.956 | 5.484 | 1 |
| 14.8 | 14.52 | 0.8823 | 5.656 | 3.288 | 3.112 | 5.309 | 1 |
| 14.28 | 14.17 | 0.8944 | 5.397 | 3.298 | 6.685 | 5.001 | 1 |
| 13.54 | 13.85 | 0.8871 | 5.348 | 3.156 | 2.587 | 5.178 | 1 |
| 13.5 | 13.85 | 0.8852 | 5.351 | 3.158 | 2.249 | 5.176 | 1 |
| 13.16 | 13.55 | 0.9009 | 5.138 | 3.201 | 2.461 | 4.783 | 1 |
| 15.5 | 14.86 | 0.882 | 5.877 | 3.396 | 4.711 | 5.528 | 1 |
| 15.11 | 14.54 | 0.8986 | 5.579 | 3.462 | 3.128 | 5.18 | 1 |
| 13.8 | 14.04 | 0.8794 | 5.376 | 3.155 | 1.56 | 4.961 | 1 |
| 15.36 | 14.76 | 0.8861 | 5.701 | 3.393 | 1.367 | 5.132 | 1 |
| 14.99 | 14.56 | 0.8883 | 5.57 | 3.377 | 2.958 | 5.175 | 1 |
| 14.79 | 14.52 | 0.8819 | 5.545 | 3.291 | 2.704 | 5.111 | 1 |
| 14.86 | 14.67 | 0.8676 | 5.678 | 3.258 | 2.129 | 5.351 | 1 |
| 14.43 | 14.4 | 0.8751 | 5.585 | 3.272 | 3.975 | 5.144 | 1 |
| 15.78 | 14.91 | 0.8923 | 5.674 | 3.434 | 5.593 | 5.136 | 1 |
| 14.49 | 14.61 | 0.8538 | 5.715 | 3.113 | 4.116 | 5.396 | 1 |
| 14.33 | 14.28 | 0.8831 | 5.504 | 3.199 | 3.328 | 5.224 | 1 |
| 14.52 | 14.6 | 0.8557 | 5.741 | 3.113 | 1.481 | 5.487 | 1 |
| 15.03 | 14.77 | 0.8658 | 5.702 | 3.212 | 1.933 | 5.439 | 1 |
| 14.46 | 14.35 | 0.8818 | 5.388 | 3.377 | 2.802 | 5.044 | 1 |
| 14.92 | 14.43 | 0.9006 | 5.384 | 3.412 | 1.142 | 5.088 | 1 |
| 15.38 | 14.77 | 0.8857 | 5.662 | 3.419 | 1.999 | 5.222 | 1 |
| 12.11 | 13.47 | 0.8392 | 5.159 | 3.032 | 1.502 | 4.519 | 1 |
| 11.42 | 12.86 | 0.8683 | 5.008 | 2.85 | 2.7 | 4.607 | 1 |
| 11.23 | 12.63 | 0.884 | 4.902 | 2.879 | 2.269 | 4.703 | 1 |
| 12.36 | 13.19 | 0.8923 | 5.076 | 3.042 | 3.22 | 4.605 | 1 |
| 13.22 | 13.84 | 0.868 | 5.395 | 3.07 | 4.157 | 5.088 | 1 |
| 12.78 | 13.57 | 0.8716 | 5.262 | 3.026 | 1.176 | 4.782 | 1 |
| 12.88 | 13.5 | 0.8879 | 5.139 | 3.119 | 2.352 | 4.607 | 1 |
| 14.34 | 14.37 | 0.8726 | 5.63 | 3.19 | 1.313 | 5.15 | 1 |
| 14.01 | 14.29 | 0.8625 | 5.609 | 3.158 | 2.217 | 5.132 | 1 |
| 14.37 | 14.39 | 0.8726 | 5.569 | 3.153 | 1.464 | 5.3 | 1 |
| 12.73 | 13.75 | 0.8458 | 5.412 | 2.882 | 3.533 | 5.067 | 1 |
| 17.63 | 15.98 | 0.8673 | 6.191 | 3.561 | 4.076 | 6.06 | 2 |
| 16.84 | 15.67 | 0.8623 | 5.998 | 3.484 | 4.675 | 5.877 | 2 |
| 17.26 | 15.73 | 0.8763 | 5.978 | 3.594 | 4.539 | 5.791 | 2 |
| 19.11 | 16.26 | 0.9081 | 6.154 | 3.93 | 2.936 | 6.079 | 2 |
| 16.82 | 15.51 | 0.8786 | 6.017 | 3.486 | 4.004 | 5.841 | 2 |
| 16.77 | 15.62 | 0.8638 | 5.927 | 3.438 | 4.92 | 5.795 | 2 |
| 17.32 | 15.91 | 0.8599 | 6.064 | 3.403 | 3.824 | 5.922 | 2 |
| 20.71 | 17.23 | 0.8763 | 6.579 | 3.814 | 4.451 | 6.451 | 2 |
| 18.94 | 16.49 | 0.875 | 6.445 | 3.639 | 5.064 | 6.362 | 2 |
| 17.12 | 15.55 | 0.8892 | 5.85 | 3.566 | 2.858 | 5.746 | 2 |
| 16.53 | 15.34 | 0.8823 | 5.875 | 3.467 | 5.532 | 5.88 | 2 |
| 18.72 | 16.19 | 0.8977 | 6.006 | 3.857 | 5.324 | 5.879 | 2 |
| 20.2 | 16.89 | 0.8894 | 6.285 | 3.864 | 5.173 | 6.187 | 2 |
| 19.57 | 16.74 | 0.8779 | 6.384 | 3.772 | 1.472 | 6.273 | 2 |
| 19.51 | 16.71 | 0.878 | 6.366 | 3.801 | 2.962 | 6.185 | 2 |
| 18.27 | 16.09 | 0.887 | 6.173 | 3.651 | 2.443 | 6.197 | 2 |
| 18.88 | 16.26 | 0.8969 | 6.084 | 3.764 | 1.649 | 6.109 | 2 |
| 18.98 | 16.66 | 0.859 | 6.549 | 3.67 | 3.691 | 6.498 | 2 |
| 21.18 | 17.21 | 0.8989 | 6.573 | 4.033 | 5.78 | 6.231 | 2 |
| 20.88 | 17.05 | 0.9031 | 6.45 | 4.032 | 5.016 | 6.321 | 2 |
| 20.1 | 16.99 | 0.8746 | 6.581 | 3.785 | 1.955 | 6.449 | 2 |
| 18.76 | 16.2 | 0.8984 | 6.172 | 3.796 | 3.12 | 6.053 | 2 |
| 18.81 | 16.29 | 0.8906 | 6.272 | 3.693 | 3.237 | 6.053 | 2 |
| 18.59 | 16.05 | 0.9066 | 6.037 | 3.86 | 6.001 | 5.877 | 2 |
| 18.36 | 16.52 | 0.8452 | 6.666 | 3.485 | 4.933 | 6.448 | 2 |
| 16.87 | 15.65 | 0.8648 | 6.139 | 3.463 | 3.696 | 5.967 | 2 |
| 19.31 | 16.59 | 0.8815 | 6.341 | 3.81 | 3.477 | 6.238 | 2 |
| 18.98 | 16.57 | 0.8687 | 6.449 | 3.552 | 2.144 | 6.453 | 2 |
| 18.17 | 16.26 | 0.8637 | 6.271 | 3.512 | 2.853 | 6.273 | 2 |
| 18.72 | 16.34 | 0.881 | 6.219 | 3.684 | 2.188 | 6.097 | 2 |
| 16.41 | 15.25 | 0.8866 | 5.718 | 3.525 | 4.217 | 5.618 | 2 |
| 17.99 | 15.86 | 0.8992 | 5.89 | 3.694 | 2.068 | 5.837 | 2 |
| 19.46 | 16.5 | 0.8985 | 6.113 | 3.892 | 4.308 | 6.009 | 2 |
| 19.18 | 16.63 | 0.8717 | 6.369 | 3.681 | 3.357 | 6.229 | 2 |
| 18.95 | 16.42 | 0.8829 | 6.248 | 3.755 | 3.368 | 6.148 | 2 |
| 18.83 | 16.29 | 0.8917 | 6.037 | 3.786 | 2.553 | 5.879 | 2 |
| 18.85 | 16.17 | 0.9056 | 6.152 | 3.806 | 2.843 | 6.2 | 2 |
| 17.63 | 15.86 | 0.88 | 6.033 | 3.573 | 3.747 | 5.929 | 2 |
| 19.94 | 16.92 | 0.8752 | 6.675 | 3.763 | 3.252 | 6.55 | 2 |
| 18.55 | 16.22 | 0.8865 | 6.153 | 3.674 | 1.738 | 5.894 | 2 |
| 18.45 | 16.12 | 0.8921 | 6.107 | 3.769 | 2.235 | 5.794 | 2 |
| 19.38 | 16.72 | 0.8716 | 6.303 | 3.791 | 3.678 | 5.965 | 2 |
| 19.13 | 16.31 | 0.9035 | 6.183 | 3.902 | 2.109 | 5.924 | 2 |
| 19.14 | 16.61 | 0.8722 | 6.259 | 3.737 | 6.682 | 6.053 | 2 |
| 20.97 | 17.25 | 0.8859 | 6.563 | 3.991 | 4.677 | 6.316 | 2 |
| 19.06 | 16.45 | 0.8854 | 6.416 | 3.719 | 2.248 | 6.163 | 2 |
| 18.96 | 16.2 | 0.9077 | 6.051 | 3.897 | 4.334 | 5.75 | 2 |
| 19.15 | 16.45 | 0.889 | 6.245 | 3.815 | 3.084 | 6.185 | 2 |
| 18.89 | 16.23 | 0.9008 | 6.227 | 3.769 | 3.639 | 5.966 | 2 |
| 20.03 | 16.9 | 0.8811 | 6.493 | 3.857 | 3.063 | 6.32 | 2 |
| 20.24 | 16.91 | 0.8897 | 6.315 | 3.962 | 5.901 | 6.188 | 2 |
| 18.14 | 16.12 | 0.8772 | 6.059 | 3.563 | 3.619 | 6.011 | 2 |
| 16.17 | 15.38 | 0.8588 | 5.762 | 3.387 | 4.286 | 5.703 | 2 |
| 18.43 | 15.97 | 0.9077 | 5.98 | 3.771 | 2.984 | 5.905 | 2 |
| 15.99 | 14.89 | 0.9064 | 5.363 | 3.582 | 3.336 | 5.144 | 2 |
| 18.75 | 16.18 | 0.8999 | 6.111 | 3.869 | 4.188 | 5.992 | 2 |
| 18.65 | 16.41 | 0.8698 | 6.285 | 3.594 | 4.391 | 6.102 | 2 |
| 17.98 | 15.85 | 0.8993 | 5.979 | 3.687 | 2.257 | 5.919 | 2 |
| 20.16 | 17.03 | 0.8735 | 6.513 | 3.773 | 1.91 | 6.185 | 2 |
| 17.55 | 15.66 | 0.8991 | 5.791 | 3.69 | 5.366 | 5.661 | 2 |
| 18.3 | 15.89 | 0.9108 | 5.979 | 3.755 | 2.837 | 5.962 | 2 |
| 18.94 | 16.32 | 0.8942 | 6.144 | 3.825 | 2.908 | 5.949 | 2 |
| 15.38 | 14.9 | 0.8706 | 5.884 | 3.268 | 4.462 | 5.795 | 2 |
| 16.16 | 15.33 | 0.8644 | 5.845 | 3.395 | 4.266 | 5.795 | 2 |
| 15.56 | 14.89 | 0.8823 | 5.776 | 3.408 | 4.972 | 5.847 | 2 |
| 15.38 | 14.66 | 0.899 | 5.477 | 3.465 | 3.6 | 5.439 | 2 |
| 17.36 | 15.76 | 0.8785 | 6.145 | 3.574 | 3.526 | 5.971 | 2 |
| 15.57 | 15.15 | 0.8527 | 5.92 | 3.231 | 2.64 | 5.879 | 2 |
| 15.6 | 15.11 | 0.858 | 5.832 | 3.286 | 2.725 | 5.752 | 2 |
| 16.23 | 15.18 | 0.885 | 5.872 | 3.472 | 3.769 | 5.922 | 2 |
| 13.07 | 13.92 | 0.848 | 5.472 | 2.994 | 5.304 | 5.395 | 3 |
| 13.32 | 13.94 | 0.8613 | 5.541 | 3.073 | 7.035 | 5.44 | 3 |
| 13.34 | 13.95 | 0.862 | 5.389 | 3.074 | 5.995 | 5.307 | 3 |
| 12.22 | 13.32 | 0.8652 | 5.224 | 2.967 | 5.469 | 5.221 | 3 |
| 11.82 | 13.4 | 0.8274 | 5.314 | 2.777 | 4.471 | 5.178 | 3 |
| 11.21 | 13.13 | 0.8167 | 5.279 | 2.687 | 6.169 | 5.275 | 3 |
| 11.43 | 13.13 | 0.8335 | 5.176 | 2.719 | 2.221 | 5.132 | 3 |
| 12.49 | 13.46 | 0.8658 | 5.267 | 2.967 | 4.421 | 5.002 | 3 |
| 12.7 | 13.71 | 0.8491 | 5.386 | 2.911 | 3.26 | 5.316 | 3 |
| 10.79 | 12.93 | 0.8107 | 5.317 | 2.648 | 5.462 | 5.194 | 3 |
| 11.83 | 13.23 | 0.8496 | 5.263 | 2.84 | 5.195 | 5.307 | 3 |
| 12.01 | 13.52 | 0.8249 | 5.405 | 2.776 | 6.992 | 5.27 | 3 |
| 12.26 | 13.6 | 0.8333 | 5.408 | 2.833 | 4.756 | 5.36 | 3 |
| 11.18 | 13.04 | 0.8266 | 5.22 | 2.693 | 3.332 | 5.001 | 3 |
| 11.36 | 13.05 | 0.8382 | 5.175 | 2.755 | 4.048 | 5.263 | 3 |
| 11.19 | 13.05 | 0.8253 | 5.25 | 2.675 | 5.813 | 5.219 | 3 |
| 11.34 | 12.87 | 0.8596 | 5.053 | 2.849 | 3.347 | 5.003 | 3 |
| 12.13 | 13.73 | 0.8081 | 5.394 | 2.745 | 4.825 | 5.22 | 3 |
| 11.75 | 13.52 | 0.8082 | 5.444 | 2.678 | 4.378 | 5.31 | 3 |
| 11.49 | 13.22 | 0.8263 | 5.304 | 2.695 | 5.388 | 5.31 | 3 |
| 12.54 | 13.67 | 0.8425 | 5.451 | 2.879 | 3.082 | 5.491 | 3 |
| 12.02 | 13.33 | 0.8503 | 5.35 | 2.81 | 4.271 | 5.308 | 3 |
| 12.05 | 13.41 | 0.8416 | 5.267 | 2.847 | 4.988 | 5.046 | 3 |
| 12.55 | 13.57 | 0.8558 | 5.333 | 2.968 | 4.419 | 5.176 | 3 |
| 11.14 | 12.79 | 0.8558 | 5.011 | 2.794 | 6.388 | 5.049 | 3 |
| 12.1 | 13.15 | 0.8793 | 5.105 | 2.941 | 2.201 | 5.056 | 3 |
| 12.44 | 13.59 | 0.8462 | 5.319 | 2.897 | 4.924 | 5.27 | 3 |
| 12.15 | 13.45 | 0.8443 | 5.417 | 2.837 | 3.638 | 5.338 | 3 |
| 11.35 | 13.12 | 0.8291 | 5.176 | 2.668 | 4.337 | 5.132 | 3 |
| 11.24 | 13 | 0.8359 | 5.09 | 2.715 | 3.521 | 5.088 | 3 |
| 11.02 | 13 | 0.8189 | 5.325 | 2.701 | 6.735 | 5.163 | 3 |
| 11.55 | 13.1 | 0.8455 | 5.167 | 2.845 | 6.715 | 4.956 | 3 |
| 11.27 | 12.97 | 0.8419 | 5.088 | 2.763 | 4.309 | 5 | 3 |
| 11.4 | 13.08 | 0.8375 | 5.136 | 2.763 | 5.588 | 5.089 | 3 |
| 10.83 | 12.96 | 0.8099 | 5.278 | 2.641 | 5.182 | 5.185 | 3 |
| 10.8 | 12.57 | 0.859 | 4.981 | 2.821 | 4.773 | 5.063 | 3 |
| 11.26 | 13.01 | 0.8355 | 5.186 | 2.71 | 5.335 | 5.092 | 3 |
| 10.74 | 12.73 | 0.8329 | 5.145 | 2.642 | 4.702 | 4.963 | 3 |
| 11.48 | 13.05 | 0.8473 | 5.18 | 2.758 | 5.876 | 5.002 | 3 |
| 12.21 | 13.47 | 0.8453 | 5.357 | 2.893 | 1.661 | 5.178 | 3 |
| 11.41 | 12.95 | 0.856 | 5.09 | 2.775 | 4.957 | 4.825 | 3 |
| 12.46 | 13.41 | 0.8706 | 5.236 | 3.017 | 4.987 | 5.147 | 3 |
| 12.19 | 13.36 | 0.8579 | 5.24 | 2.909 | 4.857 | 5.158 | 3 |
| 11.65 | 13.07 | 0.8575 | 5.108 | 2.85 | 5.209 | 5.135 | 3 |
| 12.89 | 13.77 | 0.8541 | 5.495 | 3.026 | 6.185 | 5.316 | 3 |
| 11.56 | 13.31 | 0.8198 | 5.363 | 2.683 | 4.062 | 5.182 | 3 |
| 11.81 | 13.45 | 0.8198 | 5.413 | 2.716 | 4.898 | 5.352 | 3 |
| 10.91 | 12.8 | 0.8372 | 5.088 | 2.675 | 4.179 | 4.956 | 3 |
| 11.23 | 12.82 | 0.8594 | 5.089 | 2.821 | 7.524 | 4.957 | 3 |
| 10.59 | 12.41 | 0.8648 | 4.899 | 2.787 | 4.975 | 4.794 | 3 |
| 10.93 | 12.8 | 0.839 | 5.046 | 2.717 | 5.398 | 5.045 | 3 |
| 11.27 | 12.86 | 0.8563 | 5.091 | 2.804 | 3.985 | 5.001 | 3 |
| 11.87 | 13.02 | 0.8795 | 5.132 | 2.953 | 3.597 | 5.132 | 3 |
| 10.82 | 12.83 | 0.8256 | 5.18 | 2.63 | 4.853 | 5.089 | 3 |
| 12.11 | 13.27 | 0.8639 | 5.236 | 2.975 | 4.132 | 5.012 | 3 |
| 12.8 | 13.47 | 0.886 | 5.16 | 3.126 | 4.873 | 4.914 | 3 |
| 12.79 | 13.53 | 0.8786 | 5.224 | 3.054 | 5.483 | 4.958 | 3 |
| 13.37 | 13.78 | 0.8849 | 5.32 | 3.128 | 4.67 | 5.091 | 3 |
| 12.62 | 13.67 | 0.8481 | 5.41 | 2.911 | 3.306 | 5.231 | 3 |
| 12.76 | 13.38 | 0.8964 | 5.073 | 3.155 | 2.828 | 4.83 | 3 |
| 12.38 | 13.44 | 0.8609 | 5.219 | 2.989 | 5.472 | 5.045 | 3 |
| 12.67 | 13.32 | 0.8977 | 4.984 | 3.135 | 2.3 | 4.745 | 3 |
| 11.18 | 12.72 | 0.868 | 5.009 | 2.81 | 4.051 | 4.828 | 3 |
| 12.7 | 13.41 | 0.8874 | 5.183 | 3.091 | 8.456 | 5 | 3 |
| 12.37 | 13.47 | 0.8567 | 5.204 | 2.96 | 3.919 | 5.001 | 3 |
| 12.19 | 13.2 | 0.8783 | 5.137 | 2.981 | 3.631 | 4.87 | 3 |
| 11.23 | 12.88 | 0.8511 | 5.14 | 2.795 | 4.325 | 5.003 | 3 |
| 13.2 | 13.66 | 0.8883 | 5.236 | 3.232 | 8.315 | 5.056 | 3 |
| 11.84 | 13.21 | 0.8521 | 5.175 | 2.836 | 3.598 | 5.044 | 3 |
| 12.3 | 13.34 | 0.8684 | 5.243 | 2.974 | 5.637 | 5.063 | 3 |
K-means聚类
原理
是将数据集划分为k个簇,使得每个数据点都属于最近的簇,并且簇的中心是所有数据点的平均值。以下是K-means聚类算法的优缺点简化版:
优点
- 简单高效:K-means算法思想简单直观,易于实现,计算效率高,适用于大规模数据集。
- 空间划分明确:K-means算法通过计算聚类中心,能够将数据集划分为k个明确的区域,每个区域内部的数据点相似性较高,而不同区域间的数据点差异明显。
- 参数少:主要需要调参的参数仅仅是簇数K,算法的可解释度比较强。
缺点
- 对初始值敏感:K-means算法的初始聚类中心是随机选取的,这可能导致不同的初始聚类中心选择会得到不同的聚类结果,稳定性较差。
- K值选择困难:K-means算法需要预先确定聚类的数量K,而实际应用中往往难以确定合适的K值。K值选择不当可能导致聚类结果过于细碎或过于笼统,难以反映数据的真实结构。
- 对噪声和异常值敏感:K-means算法基于距离度量进行聚类,因此对噪声和异常值较为敏感,可能会影响聚类结果的准确性。
- 对非凸数据集效果不佳:K-means算法假设每个聚类都是凸形的,即聚类内部的点相互靠近,而聚类间的点相互远离。然而,实际应用中可能存在非凸形的数据集,此时K-means算法可能无法得到理想的聚类结果。
import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn.cluster import KMeans from sklearn.decomposition import PCA # 导入PCA类 import matplotlib.pyplot as plt import seaborn as sns # 加载数据 data = pd.read_csv(r'D:\dr\seeds_dataset.csv') print(data.head()) # 假设数据中没有缺失值,如果有,需要进行处理(例如填充或删除) # 这里我们直接进行特征选择(假设所有列都是数值型特征) # 如果数据中包含非数值型特征,需要进行转换或删除 features = data.drop(columns=['Area']) # 根据实际情况修改 # 特征标准化 scaler = StandardScaler() scaled_features = scaler.fit_transform(features) # 假设我们选择3个聚类中心 kmeans = KMeans(n_clusters=3, random_state=42) kmeans_labels = kmeans.fit_predict(scaled_features) # 将聚类标签添加到数据框中 data['KMeans_label'] = kmeans_labels # 可视化(使用PCA降维到2D) pca = PCA(n_components=2) pca_features = pca.fit_transform(scaled_features) plt.figure(figsize=(10, 6)) sns.scatterplot(x=pca_features[:, 0], y=pca_features[:, 1], hue=data['KMeans_label'], palette='viridis') plt.title('KMeans Clustering') plt.show()


K-means算法则是一种基于距离的聚类方法,其简单易懂,易于实现,并且对于大数据集具有较好的可扩展性。然而,K-means算法需要预先指定聚类数目K,这个选择通常不直观,且对初始质心的选择敏感,可能导致局部最优解。另外,K-means只能发现凸形状的聚类簇,对于非凸形状的聚类簇效果不佳。
Birch聚类算法
原理
Birch聚类算法使用CF(Clustering Feature)树来存储数据的统计信息,而不是实际的数据点。CF树是一种平衡树,每个节点包含一个CF三元组,包括节点中数据点的数量、和向量以及平方和。通过构建CF树,算法实现了数据的快速聚类和压缩存储。
优点
- 高效:只需一次或几次数据扫描,大大减少了计算时间。
- 节省空间:CF树存储的是数据的统计信息,节省了存储空间。
- 可扩展:适用于大规模数据集,可以动态更新CF树。
缺点
- 初始化敏感:不同的起始点可能导致不同的聚类结果。
- 噪音处理不佳:不能很好地处理噪声和离群点。
- 参数选择:需要仔细调整参数以获得最佳结果。
- 高维数据效果差:在高维特征的数据集上聚类效果可能不佳。
Birch聚类算法适用于大规模数据集,通过构建CF树实现了高效的数据聚类和压缩存储
from sklearn.cluster import Birch
# 使用Birch聚类
birch = Birch(n_clusters=3, threshold=0.5)
birch_labels = birch.fit_predict(scaled_features)
# 将聚类标签添加到数据框中
data['Birch_label'] = birch_labels
# 可视化(使用PCA降维到2D)
plt.figure(figsize=(10, 6))
sns.scatterplot(x=pca_features[:, 0], y=pca_features[:, 1], hue=data['Birch_label'], palette='viridis')
plt.title('Birch Clustering')
plt.show()

Birch算法则是一种适用于大数据集的聚类方法,它利用CF Tree进行层次聚类,具有内存效率和速度优势。Birch算法能够自动调整聚类数目,无需预先指定K值,这使得它在处理大数据集时更具优势。然而,对于非球形或密度不均匀的数据集,Birch的聚类效果可能不佳,且算法的性能受CF Tree结构和参数设置的影响较大。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
原理
DBSCAN算法通过密度可达关系找到最大密度相连的样本集合,形成簇,并标记出离群点(噪声点)。它依赖于两个关键参数:邻域半径(ε)和最小样本数(MinPts)。算法首先确定核心点(在半径ε内至少包含MinPts个数据点的数据点),然后基于核心点扩展簇,将密度可达的点加入簇中,直到所有核心点都被访问并分配到相应的簇中。
优点
- 发现任意形状的簇:与K-means等只能发现凸形状簇的算法相比,DBSCAN能够发现任意形状的簇,这使其在处理复杂数据集时更具优势。
- 对异常值具有鲁棒性:DBSCAN能够有效地识别并处理噪声点,将它们与簇分开,而不是将其归为某个簇。
- 不需要预先设定簇的数量:与需要预先设定聚类数量的算法相比,DBSCAN能够自动确定簇的数量,这降低了算法的使用难度。
缺点
- 参数敏感:DBSCAN的性能高度依赖于ε和MinPts的选择。参数设置不当可能导致聚类结果不佳,甚至无法形成有效的簇。
- 对密度不均匀的数据集处理不佳:当数据集密度不均匀时,DBSCAN可能会产生较多的噪声点,或者将密度较低的簇误认为是噪声点。
- 计算复杂度较高:在处理大规模数据集时,DBSCAN的计算复杂度可能较高,导致算法运行时间较长。此外,对于高维数据,DBSCAN的性能可能会受到“维数灾难”的影响,导致聚类效果下降。
from sklearn.cluster import DBSCAN # 使用DBSCAN聚类 dbscan = DBSCAN(eps=0.5, min_samples=5) dbscan_labels = dbscan.fit_predict(scaled_features) # 将聚类标签添加到数据框中(注意DBSCAN会生成-1的噪声点) data['DBSCAN_label'] = dbscan_labels # 可视化(使用PCA降维到2D) plt.figure(figsize=(10, 6)) sns.scatterplot(x=pca_features[:, 0], y=pca_features[:, 1], hue=data['DBSCAN_label'], palette='viridis', legend='full') plt.title('DBSCAN Clustering') plt.show()
DBSCAN算法基于密度进行聚类,能够发现任意形状的簇,并且对噪声点具有较强的鲁棒性。然而,其性能高度依赖于参数的选择,包括邻域半径和最少点数目,这些参数的调整可能相对复杂。此外,当数据集密度不均匀时,DBSCAN的聚类效果可能会受到影响。
-
三、聚类分析的实战应用
-
市场细分
聚类分析在市场细分中发挥着重要作用。通过聚类分析,企业可以将客户或市场按类似特征分组,进行针对性的营销和产品开发。例如,零售商可以使用聚类算法来识别不同的消费者群体,这些群体可能是基于购买行为、偏好或其他可以量化的指标来定义的。然后,零售商可以针对每个群体提供定制化的营销策略,从而提高客户满意度和忠诚度。
-
金融分析
在金融领域,聚类分析被广泛应用于风险管理、投资策略制定、客户分析和贷款评估等方面。通过聚类分析,金融机构可以将客户划分为不同的风险群集,从而更精确地评估和管理风险。同时,聚类分析还可以帮助投资者识别市场中的投资机会,并根据不同的群集特点制定相应的投资策略。此外,聚类分析还可以用于评估贷款风险,并根据不同的群集特点制定不同的贷款评估标准。
-
生物医学研究
在生物医学研究领域,聚类分析也发挥着重要作用。通过聚类分析,科研人员可以识别疾病的多种亚型,从而为个性化医疗奠定基础。例如,在癌症研究中,通过对患者基因突变图谱和临床表型的聚类分析,可以发现新的治疗靶点,为每位患者定制更有效的治疗方案。此外,聚类分析还可以用于基因表达数据、蛋白质组学和代谢组学等领域的数据分析,帮助科研人员揭示生物过程的复杂性和多样性。
-
图像处理
在图像处理领域,聚类分析可以用于图像分割、对象识别和特征提取等方面。通过聚类分析,可以将图像中的相似像素或区域分组在一起,从而实现图像的分割和对象的识别。此外,聚类分析还可以用于提取图像中的特征信息,如边缘、纹理和形状等,为后续的图像分析和处理提供基础。
-
文本挖掘
在文本挖掘领域,聚类分析可以用于文档分类、主题建模和信息检索等方面。通过聚类分析,可以将文档按主题或写作成分分组在一起,从而实现文档的分类和主题建模。此外,聚类分析还可以用于提取文档中的关键信息和特征词,为信息检索和文本分析提供基础。
-
社交网络分析
在社交网络分析领域,聚类分析可以用于识别社交网络中的社区和群组,研究人的互动模式。通过聚类分析,可以将社交网络中的用户按相似特征或行为分组在一起,从而揭示社交网络中的社区结构和群组特征。这有助于企业更好地理解用户的社交行为和需求,为社交网络的优化和个性化推荐提供基础。
-
其他应用
除了以上领域外,聚类分析还可以应用于其他多个领域。例如,在物流需求研究中,可以使用聚类分析来构建物流需求指标体系,并通过对指标的聚类分析来揭示不同地区的物流需求情况。在电子商务领域,聚类分析可以用于商品分类、用户行为分析和推荐系统等方面。此外,聚类分析还可以应用于环境监测、能源管理、交通规划等领域的数据分析和决策支持。
四、聚类分析面临的挑战和未来展望
聚类分析面临的挑战
- 数据维度与规模:高维和大规模数据使得计算复杂,存储需求大,影响聚类效率和效果。
- 算法选择:不同算法适用于不同数据类型,参数设置也影响结果,选择合适的算法和参数是个挑战。
- 聚类质量评估:内部评估指标难以直接反映聚类好坏,外部评估依赖真实标签,实际应用中不易获取。
未来展望
- 算法创新:发展高效算法,结合多种算法优点,提高聚类效果和计算效率。
- 降维与特征选择:利用降维技术减少数据复杂性,选择关键特征减少噪声。
- 结合深度学习:利用深度学习提取深层特征,提高聚类效果。
- 异构数据处理:发展适用于异构数据的聚类算法,满足多领域需求。
- 鲁棒性与可解释性:提高算法对噪声和异常值的处理能力,增强聚类结果的可解释性。
简而言之,聚类分析面临数据维度、规模、算法选择和质量评估等挑战,未来将通过算法创新、降维、结合深度学习、处理异构数据和增强鲁棒性与可解释性等方面的发展,不断提升聚类分析的效果和应用范围。
五、结语
聚类分析不仅是数据科学工具箱中的一把利器,更是我们探索数据内在规律、发现未知世界的钥匙。通过不断学习和实践,我们能够更好地掌握聚类分析的技术精髓,为数据驱动的决策和创新提供强有力的支持。在这个数据爆炸的时代,让我们携手并进,共同开启聚类分析的奇妙之旅吧!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)