首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Levenshtein distance Python UDF作为SQL join中的模糊匹配代理

问Levenshtein distance Python UDF作为SQL join中的模糊匹配代理
EN

Stack Overflow用户
提问于 2018-02-09 23:32:24
回答 1查看 767关注 0票数 0

我偶然看到一个论坛帖子,它描述了一种在Redshift中创建Python UDF的方法:https://community.periscopedata.com/r/y715m2。

有关Redshift中Python UDF的更多信息:https://docs.aws.amazon.com/redshift/latest/dg/udf-python-language-support.html

我检查了该函数(如select public.levenshtein('walk', 'cake'))的许多输出--它工作得很好。

我希望在t1.first_name+last_name = t2.first_name+last_name上的两个表之间的joins中使用这个概念进行模糊匹配。

有没有人熟悉一个“神奇的范围”(或者可以从经验中提出一些建议),在这个范围内,一项记录应该被认为是可能的匹配?即。最小和最大levenshtein (s,t)应该被认为是可能的匹配。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-10 01:03:55

这取决于你的具体情况。当您提供训练数据集时,可以将其视为一个简单的机器学习问题-您可以对数据运行该函数,以查看不同类型对的值,并基于此设置范围。如果你正在匹配名字,那么错误的代价是相当高的,无论是假阴性(同一个人不匹配)还是假阳性(不同人匹配),所以我会使用soundex而不是leuvenstein。对于非常不同的姓氏,如果只有一个字母不同,AFAIK Leuvenstein距离将等于1,但这可以是两种情况-当姓氏实际上相同但拼写不同时,或者当姓氏实际上不同但差异是一个字母时。Soundex更适合于区分这类情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48709146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档