【问题标题】:Python Machine Learning - Rule based matchPython 机器学习 - 基于规则的匹配
【发布时间】:2020-12-16 13:51:58
【问题描述】:

我是机器学习新手,需要有关最佳方法的帮助。

我有一个包含数百万行和列的主数据集:

Customer first name, 
last name, 
SSN , 
address,
Unique cust id 

输入是具有相同列的新客户详细信息。我想创建具有以下规则的机器学习模型

If new customer matches any customer on SSN then return cust ids of
    matching customers  
else if customer matches any customer on First +
    Last name + zip then return cust ids of matching customers  
else
    create new cust id

另一个问题是姓名和地址可能有拼写错误,所以不能完全匹配

什么是最好的方法,什么模型可以工作

【问题讨论】:

  • 欢迎您! SQL 比机器学习更适合这个问题。请参阅“不,您不需要 ML/AI。您需要 SQL”:cyberomin.github.io/startup/2018/07/01/sql-ml-ai.html
  • 机器学习对这类任务没有任何帮助。听起来你想用你的数据建立一个数据库,然后根据你写下的条件查询。
  • 谢谢,另一个问题是姓名和地址可能有拼写错误,所以不能完全匹配
  • 不需要 ML。如果您有一个嘈杂的数据库并且您想找到类似(重复)的客户(即 John Gates 2 年前注册并将其名称拼错为 Jon Gates),ML 可能会很有用,现在他用正确的名字注册)
  • (以下编辑) 这更像是一个“模糊匹配”问题。 “概率软逻辑”可能值得研究 (psl.linqs.org)。

标签: python match customer


【解决方案1】:

根据您的更新,您确实想搜索类似的客户。 如果是这样,您可以:

  • 为每组字段计算一些特征表示(即通过组合有意义的字符串和使用 word2vec)
  • 执行相似度搜索(即余弦相似度)
  • 定义一个您可以接受的阈值来解释该相似性并作为结果进行操作

出于可扩展性的原因,我会离线计算特征(例如每周一次)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2017-09-04
    • 2018-02-07
    • 2017-03-03
    相关资源
    最近更新 更多