Sib*_*ing 5 cluster-analysis machine-learning data-mining
如果要聚类的数据是字面上的点(2D (x, y)或3D (x, y,z)),那么选择聚类方法将非常直观.因为我们可以绘制它们并将它们可视化,所以我们可以更好地了解哪种聚类方法更合适.
eg1如果我的2D数据集是右上角显示的形式,我知道这K-means可能不是一个明智的选择,而DBSCAN看起来似乎是一个更好的主意.

然而,正如scikit-learn网站所述:
虽然这些例子给出了一些关于算法的直觉,但这种直觉可能不适用于非常高维的数据.
AFAIK,在大多数海盗问题中我们都没有这么简单的数据.最有可能的是,我们有高维元组,这些元组不能像数据一样可视化.
eg2我希望聚类一个数据集,其中每个数据都表示为一个4-D元组<characteristic1, characteristic2, characteristic3, characteristic4>.我无法在坐标系中对其进行可视化,并像以前一样观察其分布.所以我不能说在这种情况下DBSCAN优于K-means.
所以我的问题:
如何为这种"隐形"高维情况选择合适的聚类方法?
聚类中的"高维"可能从密集数据中的大约10-20维开始,稀疏数据中的1000维(例如文本).
4个维度不是问题,仍然可以看到; 例如,通过使用多个2d投影(甚至3D,使用旋转); 或使用平行坐标.这是使用散点图矩阵的4维"虹膜"数据集的可视化.
但是,您仍应该做的第一件事是花费大量时间进行预处理,并找到合适的距离函数.
如果您确实需要高维数据的方法,请查看子空间聚类和相关聚类,例如
该调查的作者还发布了一个软件框架,其中包含许多这些先进的聚类方法(不仅仅是k-means,而且还有CASH,FourC,ERiC):ELKI
There are at least two common, generic approaches:
One can use some dimensionality reduction technique in order to actually visualize the high dimensional data, there are dozens of popular solutions including (but not limited to):
在此之后,回到原始空间并使用一些看似合理的技术,这些技术基于减少空间中的观察,或者在缩小的空间本身中执行聚类.第一种方法使用所有可用信息,但由于由此引起的差异而可能无效.减少过程.虽然第二个确保您的观察和选择是有效的(因为您将问题减少到好的,2d/3d)但由于使用了转换而丢失了大量信息.
一个尝试许多不同的算法并选择具有最佳度量的算法(已经提出了许多聚类评估度量).这是计算上昂贵的方法,但具有较低的偏差(因为减少维度引入了从使用的转换后的信息变化)