我使用RapidFuzz来匹配来自两个独立数据集的美国地址。
我能够得到我希望使用以下代码的结果:
for address in EB_RATING_LIST:
matches1.append(process.extractOne(address,CLAIMS_LIST, scorer = fuzz.ratio))
DAVE_EB_NO_DUPLICATES_ADDRESS['MATCHED_ADDRESS'] = matches1但是,我对我收到的结果没有完全的信心。例如:
102号的匹配率为86%
我的问题是如何在更细粒度的水平上进行模糊匹配?我应该包括邮编,州以及匹配吗?
编辑09/14/21:我是连接地址,与城市和州,然后试图匹配。我一拿到结果就会分享结果。
编辑09/15/21:我连接了地址,它现在有州和城市名称,连同地址,然后尝试模糊匹配它。
EXAMPLE: ***5805thAveStes323&416NewYorkNY
(3505thAveNewYorkNY, 72.34042553191489, 9315)***
[Address that match the Most, Percentage of Matching, Index of the Address(From the table used for matching)]发布于 2022-08-08 11:48:55
我可能会迟到,因为我今天才加入社会。要进入粒度级别,只需根据您的用例,使用不同的其他比率(如令牌排序比率、部分比率或令牌集比率)的记分员。只需测试两组字符串,首先使用所有这些比率,并找到适合您的。希望这能有所帮助。若要了解更多信息,请单击此处(如果请求订阅,则以匿名模式查看) --> https://medium.com/mlearning-ai/all-about-rapidfuzz-string-similarity-and-matching-cd26fdc963d8
https://datascience.stackexchange.com/questions/102053
复制相似问题