位串相似性

2024-09-28 21:16:19 发布

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

我有一个CSV文件,包含14000行问卷的数据。问卷有MCQ多重回答(M10,M13)。对于MCQ-MR,如M13中有8个选项,如果受访者选择某个选项,则表示为1,否则表示为0。我想为每个位串生成一个相似性分数,并用位串替换它。得分的计算方式应类似于0001001100100011更相似,因为被调查者选择了相同的选择,除了第三和第四个选择,因此得分必须比0001001100000001更接近。你知道吗

M10,M13
1111000100001000,00000001
101010000001000,00000001
111010000001000,00010011
110010000001100,00100011

This线程提供了一些关于比较两个字符串之间的Levenshtein距离的细节。但对于14000行来说,这将是一个巨大的计算负担。还有别的方法吗?你知道吗


Tags: 文件csv数据选项方式相似性分数问卷
1条回答
网友
1楼 · 发布于 2024-09-28 21:16:19

Levenshtein编辑距离不是你想要的。它会认为A=101010和B=010101非常相似,因为可以通过在开始处添加0并在结束处删除1来将A转换为B。你可能更希望他们被认为是最大的不同,虽然,因为他们在每个位置不同。你知道吗

所以你想要的只是位串的对称差。对两个位字符串执行按位异或运算,并计算结果中的1位,每一位对应于两个位之间不同的位。你知道吗

相关问题 更多 >