问题描述
我正在尝试解决fuzzywuzzy如何计算此简单的模糊比:
print(fuzz.ratio("66155347","12026599"))
25
为什么模糊比不为0,因为每个位置的字符完全不同?
Levenshtein距离= 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
我的数学也一定有问题;我快五十了。
模糊度如何达到25?
任何指导将不胜感激。
谢谢
解决方法
fuzzywuzzy库使用Levenshtein距离的加权版本,其替换项的权重为2,这使Levenshtein距离达到12。然后(8 + 8-12)/(8 + 8)= 0.25。 / p>