使用大型数据集进行数据匹配和组合
来源:CPDA数据分析师网 / 作者:数据君 / 时间:2020-07-23
数据匹配背后的基本前提是概率数学
对于匹配的对象(人员,小部件等),基本思想是识别不太可能更改的属性,然后对这些属性进行阻止和匹配,然后您可以使用数学来确定每个属性依次匹配的概率,然后它们将所有加权的概率求和,以得出终匹配值,可能是匹配不匹配或可能的匹配。
这些简单的组合可以双向工作
分成几列可以减少匹配例程完成的组合数量(块内的匹配),但这确实意味着数据越大,则总体上需要检查的组合越多,这是一个简单的例子来说明我的意思,想象一下来自两个数据集“ A”和“ B”的匹配数据,每个数据集包含10条记录,忽略阻止键,必须对照“ B”中的10条记录检查“ A”中的每条记录,从而导致总共100个组合。100张支票有效。
处理大型数据集中的数据匹配
现在,对于少量记录而言,这不是问题,但是对于大型数据集,组合可能会变得不堪重负。这显然也会影响性能。现在,性能的主要驱动因素是阻塞键和匹配规则。通常,对于具有10个属性的记录,您需要大约2-3个阻止键。在这些块中,您需要匹配3-4个属性,但请记住重要的是匹配的准确性。
匹配阈值越高,获得的匹配越少
但是,您冒着丢失实际比赛的风险,并增加了需要检查的可能比赛的大小,通常需要手动进行。阈值越低,您获得的匹配越多,可能的组合就越多,但是这次冒着误报匹配的风险。这是一个折衷,这就是数据集大小变得重要的地方。对于成千上万的数据集来说,这通常不是问题,但是对于成千上万的数据集而言,则可能是一个问题。
调整数据匹配的重要性
这就是为什么调整数据匹配,阻止例程和算法至关重要的原因,但是不幸的是,没有简单的“一站式”设置方法。您需要从遍开始并检查结果。进行更改,然后再次运行。然后重复该过程,直到您到达收益递减点。这也是为什么仔细选择整体策略以及考虑可能的组合也是关键的原因。
因此总体信息很简单,在对大型数据集进行数据匹配时,您希望选择阻塞键,匹配算法和阈值,以便做两件事:
减少必须检查的组合总数,以减少进行匹配所需的资源量
正如讨论的那样,这可能是一个折衷,但是在与大型数据集匹配时至关重要。,需要注意的是,这并不简单地线性缩放。一个数据集的大小是一个数据集的两倍,而处理时间不会是它的两倍。从数学上讲,匹配不是线性缩放(像直线),而是更像幂关系。可以估计实际可行的数量,但是您首先需要了解可能的组合数量。因此,实际上,重点是要仔细考虑那些可能的组合,并在匹配大型数据集中的数据时将其考虑在内。