问题描述
最近在做聚类方面的工作,手上是一个10维数组。需要尝试去聚类,然后组里的人用的是skleanr库里的dbscan和kmeans。他们的做法是直接把这个数组扔到dbscan和kmeans里去。然后我发现一个大问题:
在高维空间下,如何才能确定类的大小已经类内至少应该有多少数据?
我看了下dbscan和kmeans的原理,难道不应该是只在二维空间下才是有意义的吗?因为高维空间你无法观察到类的大小或者说空间里可能有多少个类。
问题出现的平台版本及自己尝试过哪些方法
我找到了这个:
https://en.wikipedia.org/wiki...
不知道是不是这个才是我应该应用的方法?
可是因为我自己也是数据挖掘的新手。所以不确定多维空间的聚类是不是应该这样做。谢谢各位大佬
因为之前没有人回答,我看了几本书。现在有结论了
因为你不清楚高维空间中是否有很奇怪的结构,所以欧氏距离并不一定可以使用,比如isomap中的那个瑞士卷。
第二点是这种高维数据cluster以后,你无法有一个直接的观察,只能通过在某个3d或者2d的投影上来观察是否结果正常。如果维度很高,需要观察的选择太多,可行性太低。
解决方法: