Python 如何提高记录链接算法的准确性
我编写了一个程序,在记录列表中查找可能重复的记录。我的程序的当前版本识别了通过手动检查数据发现的94%的重复项,但如果可能的话,我需要将其提高到100%,同时最大限度地减少误报。事实证明,这很棘手 我的程序以一个电子表格作为输入,该表格有四个相关列,每个列的长度为n。首先是记录名,然后是三个字符串属性。对于每个属性列,我通过比较每个元素的Levenshtein距离并形成包含每个距离的nxn矩阵,将每个元素与其他元素进行比较。然后,我通过仅选择距离低于所选阈值的元素对(每个列的阈值不同,因为某些属性在其实例中有或多或少的差异),剔除矩阵中不太相似的元素对。如果两个记录对应的属性对中至少有一个是可能重复的,则这两个记录称为可能重复Python 如何提高记录链接算法的准确性,python,algorithm,levenshtein-distance,naivebayes,Python,Algorithm,Levenshtein Distance,Naivebayes,我编写了一个程序,在记录列表中查找可能重复的记录。我的程序的当前版本识别了通过手动检查数据发现的94%的重复项,但如果可能的话,我需要将其提高到100%,同时最大限度地减少误报。事实证明,这很棘手 我的程序以一个电子表格作为输入,该表格有四个相关列,每个列的长度为n。首先是记录名,然后是三个字符串属性。对于每个属性列,我通过比较每个元素的Levenshtein距离并形成包含每个距离的nxn矩阵,将每个元素与其他元素进行比较。然后,我通过仅选择距离低于所选阈值的元素对(每个列的阈值不同,因为某些属
Sample output: Kang,[Kor, Koloth, Martok]
其中Kang记录可能是Kor、Koloth和Martok的复制品
因为至少有一个相关字段类似于Kang的字段
e.g. bat'leth,[mek'leth,d'k tahg, mek'leth]
我可以很容易地调整Levenshtein距离阈值,以检测更高比例的重复,但似乎将其提高到高于现有水平会导致边缘识别减少,并显著增加误报的数量,因为存在少量属性非常不同的重复(我不确定我是否可以发布示例;这对工作很敏感)。我考虑过其他解决方案,比如使用Levenshtein之外的其他字符串相似性函数,甚至是一个天真的Byes分类器。
你认为我怎样才能最好地提高我的程序的准确性