【问题标题】:DBSCAN Clustering with Numerical and Categorical Variables具有数值和分类变量的 DBSCAN 聚类
【发布时间】:2020-04-18 22:39:48
【问题描述】:

我只是想问如何使用 DBSCAN 处理聚类中的分类变量?又用什么方法来处理呢?

【问题讨论】:

    标签: rstudio cluster-analysis dbscan


    【解决方案1】:

    DBSCAN 基于欧几里得距离(epsilon 邻域)。您需要转换数据,以便欧几里得距离有意义。一种方法是使用 0-1 虚拟变量,但这取决于应用程序。

    【讨论】:

    • DBSCAN 从不局限于欧几里得距离。例如,他们还使用了多边形之间的距离。从字面上看,any 距离都可以使用。事实上(参见 GDBSCAN)你甚至不需要任何距离公理,一个二元谓词就足够了。
    • 感谢您的澄清。确实如此,但由于在 l1 和 l2 范数的低维中寻找邻居是有效的,因此大多数实现只会提供这些或仅适用于非常小的数据集的完整距离矩阵。
    • 有支持其他距离的知名工具,如ELKI和sklearn。倒排索引也适用于分类变量。特别是,用户要求提供分类变量,因此答案可能应该是“选择一个允许您指定任意距离的工具;如果您愿意这样做,只需计算一个距离矩阵。”欧几里得距离的典型索引(例如,k-d-tree)将适用于 0-1 编码数据。现在,你的回答错过了这个问题,不是吗?
    猜你喜欢
    • 2020-02-13
    • 2018-10-07
    • 2019-08-23
    • 2020-02-14
    • 1970-01-01
    • 2022-09-28
    • 2019-04-15
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多