问题描述
我有几个相关但不共享任何唯一键的表。我已经多次遇到这个问题,客户数据位于需要一起比较的不同源系统中。
假设我的数据是多个表,表 A 到 Z。
可能有我100%确定比赛的列。例如表 A 和 B 的列 tax ID 是连接 A 到 B 的特定匹配。A 和 B 单独无法匹配到 C,但使用 A 和 B 中的列可以与 C 进行特定匹配。
有些列可能匹配,例如匹配名字、姓氏、生日等“John Smith”,但可能会导致误报。额外的模糊匹配可能会增加不同幅度的匹配可能性。
我想为 ML 引擎提供一组已被验证与同一个人相关的表,并查看它可以提出哪些规则来匹配这些表。我可能一次只能获得一部分表,我希望能够匹配可能的数据并等待更多数据。可以使用什么算法?
想法
- 我知道决策树非常适合这类问题,但可能我可以进行的许多模糊检查可以更好地用某种确定性来表示。我也从未在一组数据集中使用决策树,而我只能处理一个子集。
- 我知道朴素贝叶斯经常用于模糊匹配,但我也想结合逻辑来实现 100% 匹配
- 由于在这种情况下,通过手动跟踪数据可能会获得有限的完整信息,因此进化算法可能会起作用