sklearn里聚类的方法,dbscan和kmeans只适用于二维空间是吗?

问题描述

最近在做聚类方面的工作,手上是一个10维数组。需要尝试去聚类,然后组里的人用的是skleanr库里的dbscan和kmeans。他们的做法是直接把这个数组扔到dbscan和kmeans里去。然后我发现一个大问题:
在高维空间下,如何才能确定类的大小已经类内至少应该有多少数据?
我看了下dbscan和kmeans的原理,难道不应该是只在二维空间下才是有意义的吗?因为高维空间你无法观察到类的大小或者说空间里可能有多少个类。

问题出现的平台版本及自己尝试过哪些方法

我找到了这个:
https://en.wikipedia.org/wiki...

不知道是不是这个才是我应该应用的方法?

可是因为我自己也是数据挖掘的新手。所以不确定多维空间的聚类是不是应该这样做。谢谢各位大佬

阅读 7.6k
1 个回答

因为之前没有人回答,我看了几本书。现在有结论了

因为你不清楚高维空间中是否有很奇怪的结构,所以欧氏距离并不一定可以使用,比如isomap中的那个瑞士卷。
第二点是这种高维数据cluster以后,你无法有一个直接的观察,只能通过在某个3d或者2d的投影上来观察是否结果正常。如果维度很高,需要观察的选择太多,可行性太低。

解决方法:

  1. 更好了解问题。
  2. 选择合适的方法降维。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题