示例设置
我正在链接一个数据集以查找其中的重复条目。我不知道在我的数据集中重复出现的次数。
在我的阻塞之后,我最终得到了以下数据集:
[这是一个示例数据集,不是我的真实数据]
1st Dataset: Region AB_1, df1
FName_1 SName_1 Area_1 Age_1
1a Ben Nevis AB 30
2a Ben Neviss AB 30
3a Andy Red AB 35
4a Andy Redd AB 35
2nd Dataset: Region AB_2, df2
FName_2 SName_2 Area_2 Age_2
1b Ben Nevis AB 30
2b Ben Neviss AB 30
3b Andy Red AB 35
4b Andy Redd AB 35
因此,我将同一数据集中的记录相互比较。
我使用基于 Fellegi Sunter 算法的 EM 算法将上述数据集与协议变量“forename”、“surname”和“age”进行比较。
我通过将数据集 1 中的每条记录与数据集 2 中的每条记录进行比较来创建我的比较空间,即 4 * 4 = 16 个可能的记录对。
例如
Record 1 vs Record 2
1a 1b
1a 2b
1a 3b
1a 4b
2a 1b
2a 2b
2a 3b
2a 4b
3a 1b
3a 2b
3a 3b
3a 4b
4a 1b
4a 2b
4a 3b
4a 4b
问题
但是,这意味着与它们自身相比相同的记录正在传递到我的 EM 算法中:
例如
1a 1b
2a 2b
3a 3b
4a 4b
这些不是必需的,它们只是形成比较空间的残余物。
由于 EM 算法是一种“学习算法”,它根据其输入信息优化一致性和不一致性变量权重,我本质上是在为其提供更多的训练信息。
这反映在结果中;
如果我在运行算法之前删除这些记录,我会得到 3001 条记录,得分高于 0.9(使用我的真实数据集)。
但是,如果我在运行算法后删除了这些记录,我只会得到 2486 条记录,得分高于 0.9(使用我的真实数据集)。
即,如果我包含这些重复的示例,则更具选择性。
最终:
将它们包含在 EM 中对我来说没有意义,但我担心删除会降低算法的准确性。
我应该在运行 EM 之前删除这些已知的重复项吗?