当 none 个字符匹配时,为什么这个 fuzz.ratio 给我 25?
Why is this fuzz.ratio giving me 25 when none of the characters match?
我正在尝试研究 fuzzywuzzy 如何计算这个简单的模糊率:
print(fuzz.ratio("66155347", "12026599"))
25
每个位置都是完全不同的字符,为什么模糊率不为0?
编辑距离 = 8(因为每个值都需要替换)
a为8(字符串1的长度为8)
b为8(字符串2的长度为8)
fuzz.ratio 是 (a+b - Levenshtein 距离)/(a+b)
fuzz.ratio 是 (8+8 - 8)/(8+8) = .50
fuzz.ratio 是 50
我的数学一定也有问题;我要 50.
模糊比是如何达到 25 的?
如有任何指导,我们将不胜感激。
谢谢
fuzzywuzzy 库使用 Levenshtein 距离的加权版本,它为替换赋予权重 2,从而使 Levenshtein 距离达到 12。然后 (8 + 8 - 12) / (8 + 8) = 0.25 .
我正在尝试研究 fuzzywuzzy 如何计算这个简单的模糊率:
print(fuzz.ratio("66155347", "12026599"))
25
每个位置都是完全不同的字符,为什么模糊率不为0?
编辑距离 = 8(因为每个值都需要替换) a为8(字符串1的长度为8) b为8(字符串2的长度为8)
fuzz.ratio 是 (a+b - Levenshtein 距离)/(a+b)
fuzz.ratio 是 (8+8 - 8)/(8+8) = .50
fuzz.ratio 是 50
我的数学一定也有问题;我要 50.
模糊比是如何达到 25 的?
如有任何指导,我们将不胜感激。
谢谢
fuzzywuzzy 库使用 Levenshtein 距离的加权版本,它为替换赋予权重 2,从而使 Levenshtein 距离达到 12。然后 (8 + 8 - 12) / (8 + 8) = 0.25 .