我有以下问题,我想我可以使用机器学习,但我不完全确定它是否适用于我的用例。
我有一个包含大约一亿条记录的数据集,其中包含客户数据,包括姓名、地址、电子邮件、电话等,我想找到一种方法来清理这些客户数据并识别数据集中可能存在的重复项。
大多数数据是使用外部系统手动输入的,没有经过验证,因此我们的许多客户最终在我们的数据库中拥有多个配置文件,有时每条记录中的数据不同。
例如,对于客户 John Doe,我们可能有 5 个不同的条目,每个条目都有不同的联系方式。
我们还遇到了代表不同客户的多条记录在电子邮件等关键字段上匹配的情况。例如,当客户没有电子邮件地址但数据输入系统需要它时,我们的顾问将使用随机电子邮件地址,从而导致许多不同的客户资料使用相同的电子邮件地址,电话、地址等也是如此。
我们所有的数据都在 Elasticsearch 中建立索引并存储在 SQL Server 数据库中。我的第一个想法是使用 Mahout 作为机器学习平台(因为这是一个 Java 商店),也许使用 H-base 来存储我们的数据(只是因为它适合 Hadoop 生态系统,不确定它是否有任何实际价值(我可以使用聚类算法或分类算法吗?当然,对于什么构成配置文件的唯一性,即哪些字段,必须使用某些规则。
我们的想法是首先将其部署为客户资料重复数据删除器服务,我们的数据输入系统可以在输入新客户资料时使用该服务来验证和检测可能的重复项,并且将来可能将其开发为分析平台以收集洞察我们的客户。
任何反馈将不胜感激:)
谢谢。