【问题标题】:Is it possible to have clustering based on multiple string features是否可以基于多个字符串特征进行聚类
【发布时间】:2020-03-17 00:37:21
【问题描述】:

我正在尝试学习和理解聚类算法如何使用 Python 工作

问题:

我有一个包含大约 5 列的混合数据类型(字母数字/日期/数字)的数据集,我想根据具有共同值的多个字段对其进行聚类。

示例:

Index  Col-1       Col-2       Col-3       Col-4         Col-5    
----------------------------------------------------------------
 0     US1          John        ABC123      01/01/2019    200
 1     US2          Alex        256xyz      01/12/2018    8000
 2     US1          John        ABC12       01/01/2019    200
 3     US2          Alex        00256xyz    01/12/2018    8000
 4     US2          Alex        XYZ         01/12/2018    8000
 5     US3          Mary        345abc      27/03/2000    9040

输出:

                Index

Cluster-1:     0 and 2

Cluster-2:       1,3,4

Cluster-3:      5

应创建基于 Col-1,2,4,5 的集群。

我不知道这是否有意义,是否有可能实现。

如果是,那么对于非数字数据集使用的最佳算法是什么?或者可以通过代码实现。

【问题讨论】:

  • 根据示例,您似乎想根据 col-1 值进行分组?
  • 否,基于 col1,col2,col 4, col5 所有四列。不确定它是否可能。
  • @user12277274 我也面临着类似的情况。你能做到吗?

标签: python machine-learning cluster-analysis


【解决方案1】:

不确定您是在寻找精确匹配还是近似匹配的聚类。 对于完全匹配,您可以简单地按所有四列分组,为每个组合创建一个 group_id,然后通过加入此表找到所有属于同一组的人。

在近似匹配的情况下,您可以将它们编码为虚拟变量并使用汉明距离来计算相似度并基于它创建集群

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2021-07-25
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多