有可能根据多个字符串特征进行聚类吗

2024-09-02 23:17:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图学习和理解使用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个集群。你知道吗

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

如果是,对于非数字数据集,最好的算法是什么?也可以通过代码实现。你知道吗


Tags: 数据算法示例index字母集群数字col
1条回答
网友
1楼 · 发布于 2024-09-02 23:17:38

不确定您是在寻找精确匹配还是使用近似匹配进行聚类。 为了精确匹配,您可以简单地按所有四列分组,为每个组合创建一个组id,然后通过加入此表来查找属于同一组的所有人。你知道吗

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

相关问题 更多 >