我们可以在这个矩阵上使用k均值聚类吗?

时间:2013-11-11 16:55:15

标签: matlab machine-learning cluster-analysis k-means

以下行表示-40至400度的温度,7列表示热电偶的类型(B,J,K ....)

![温度与电动势矩阵] [1]

X=[   -1.961 -1.527 -0.194 -1.475 -1.023 -0.188 -2.255
      -1.482 -1.156 -0.150 -1.121 -0.772 -0.145 -1.709
      -0.995 -0.778 -0.103 -0.757 -0.518 -0.100 -1.152
      -0.501 -0.392 -0.053 -.0383 -0.260 -0.051 -0.582
       0.000  0.000  0.000  0.000  0.000  0.000  0.000
       0.507  0.397  0.055  0.391  0.261  0.054  0.591
       1.019  0.798  0.113  0.790  0.525  0.111  1.192
       1.537  1.203  0.17   1.196  0.793  0.171  1.801
       2.059  1.612  0.235  1.612  1.065  0.232  2.420
       2.585  2.023  0.299  2.036  1.340  0.296  3.048
       3.116  2.436  0.365  2.468  1.619  0.363  3.685
       3.650  2.851  0.433  2.909  1.902  0.431  4.330
       4.187  3.267  0.502  3.358  2.189  0.501  4.985
       4.726  3.682  0.573  3.814  2.480  0.573  5.648
       5.269  4.096  0.646  4.279  2.774  0.647  6.319
       5.814  4.509  0.720  4.750  3.071  0.723  6.998
       6.360  4.920  0.795  5.228  3.374  0.800  7.685
       6.909  5.328  0.872  5.714  3.680  0.879  8.379
       7.459  5.735  0.950  6.206  3.989  0.959  9.081
       8.010  6.138  1.029  6.704  4.302  1.041  9.789
       8.562  6.540  1.110  7.209  4.618  1.124 10.503
       9.115  6.941  1.191  7.720  4.937  1.208 11.224
       9.669  7.340  1.273  8.237  5.259  1.294 11.951
       10.224 7.739  1.357  8.759  5.585  1.381 12.684
       10.779 8.138  1.441  9.288  5.913  1.469 13.421
       11.334 8.539  1.526  9.822  6.245  1.558 14.164
       11.889 8.940  1.612  10.362 6.579  1.648 14.912
       12.445 9.343  1.698  10.907 6.916  1.739 15.664
       13.000 9.747  1.786  11.458 7.255  1.831 16.420
       13.555 10.153 1.874  12.013 7.597  1.923 17.181
       14.110 10.561 1.962  12.574 7.941  2.017 17.945
       14.665 10.971 2.052  13.139 8.288  2.112 18.713
       15.219 11.382 2.141  13.709 8.637  2.207 19.484
       15.773 11.795 2.232  14.283 8.988  2.304 20.259
       16.327 12.209 2.323  14.862 9.341  2.410 21.036
       16.881 12.624 2.415  15.445 9.696  2.498 21.817
       17.434 13.040 2.507  16.032 10.054 2.597 22.600
       17.986 13.457 2.599  16.624 10.413 2.696 23.386
       18.538 13.874 2.692  17.219 10.774 2.796 24.174
       19.090 14.293 2.786  17.819 11.136 2.896 24.964
       19.642 14.713 2.880  18.422 11.501 2.997 25.757
       20.194 15.133 2.974  19.030 11.867 3.099 26.552
       20.745 15.554 3.069  19.641 12.234 3.201 27.348
       21.297 15.975 3.164  20.255 12.603 3.304 28.146
       21.848 16.397 3.259  20.872 12.974 3.408 28.946];

我的问题是:当所有列在不同的状态下包含相同的实体时,我们可以在这种类型的矩阵上使用聚类算法吗?

如果没有,那么可能的识别方法是什么?

3 个答案:

答案 0 :(得分:0)

一般情况下 - 是的,您可以对数据使用聚类算法,其中功能密切相关 - 唯一的问题是 - 您实际想要捕获的是什么?

可以在某种程度上处理特征之间相关性的最基本的预处理方法是通过cov(X)^( - 1/2)(数据协方差矩阵的逆的平方根)来转换数据。因此,您可以获得具有身份相关矩阵的数据,这更适合于规模变量聚类方法。这样的结果可以通过使用Mahalanobis k-means直接获得(正是如此)。

答案 1 :(得分:0)

嗯,当然你可以运行k-means,技术上

你应该问自己的问题是:你想做什么

K-means对这类数据的偏差很大(因为冗余; k-means最好在白化数据上运行,单位方差,没有协方差!),它将每个时间点视为实例,即它将集群时间,但没有任何连接约束。即它会对单个测量进行聚类,但不会对间隔进行聚类。

例如,您可能对数据的细分更感兴趣。另外,你真的需要注意你个人的属性传达的内容。

答案 2 :(得分:0)

如果您不想使用高度相关的数据,可以使用某种类型的降维技术(例如,PCA)在聚类之前简化数据集。然而,正如许多其他人所建议的那样,你应该首先确定你的目标是什么。