如何对数据集中具有相似名称(如McDonald和Mc DOnald's)的字符串应用聚类,并且如果字符串相同(如sam和其他sam),则如何再次基于价值或价格进行聚类例如-考虑一个具有10个元素的数据表
name price
ram 200
shyam 150
ram12 59
gita 45
ram 2 45
g11ita 23
john2 32
john 7
jonh21 8
jonh 38
ram22 3那么分组应该是
ram 200
ram12 59
ram 2 45
ram22 3
john2 32
jonh 37
john 7
john21 8
gita 45
g11ita 23 我使用了使用fuzzywuzzy和Levenheneitein distance的字符串聚类,但它只能聚类字符串,而不能聚类价格如何聚类第一个字符串,如果相同,则聚类价格
发布于 2019-06-16 01:54:49
您需要仔细平衡文本相似度和数值相似度的阈值。不会有一个简单的解决方案,除非您有非常庞大的数据,否则手动方法可能是最好的。
短字符串的文本相似性是非常不可靠的。
例如:"dog“和"fog”只有一个字母的区别,但都是不太可能的打字错误。他们有Levenshtein距离1,最小的非零值!正因为如此,如果你依赖于Levenshtein,你将会有大量的误报-如果你手动验证它们是可以的,但不是为了自动处理。
因此,至少您需要使用了解(a)现有单词,这些单词不太可能拼写错误,(b)常见拼写错误,以及(c)语音相似度来估计单词拼写错误的可能性,(d)键盘相似度,单词输入错误的可能性……
https://stackoverflow.com/questions/56607559
复制相似问题