使用python Dedupe包检查单个记录

问题描述

我正在使用Dedupe python软件包检查传入记录的重复项。我已经训练了。 CSV文件中的500000条记录。使用Dedupe软件包,我将500000条记录分为不同的集群。我曾尝试使用settings_file脱离培训,对新记录(代码中的data)进行重复数据删除。我在下面共享了一个代码段。

import dedupe
from unidecode import unidecode
import os

deduper=None
if os.path.exists(settings_file):
    with open(settings_file,'rb') as sf :
        deduper = dedupe.StaticDedupe(sf)

clustered_dupes = deduper.match(data,0)

数据,这是一条新记录,我必须检查该记录是否重复。 data看起来

{1:{'SequenceID': 6855406,'ApplicationID': 7065902,'CustomerID': 6153222,'Name': 'X','col1': '-42332423','col2': '0','col3': '0','col4': '0','col5': '24G0859681','col6': '0','col7': 'xyz12345','col8': 'xyz','col9': '1234','col10': 'xyz10'}}

这会引发错误

没有记录一起被阻止。您尝试匹配的数据是否像您训练的数据一样?

如何使用此群集数据检查新记录是否重复?是否有可能像我们对任何ML模型所做的一样?我调查了多个来源,但没有找到解决此问题的方法

大多数资源都在谈论培训,而不是在谈论如何使用群集数据检查单个记录。

还有另一种出路吗?

我引用了一些链接link1 link2 link3

感谢您的帮助。

解决方法

您需要将最初训练的数据与新记录一起作为输入传递给基于预训练设置的集群