【问题标题】:Data matching Algorithm Approach数据匹配算法方法
【发布时间】:2014-01-09 12:34:38
【问题描述】:

我真的不知道从哪里开始这个项目,所以我希望一个广泛的问题至少可以为我指明正确的方向。

我现在有 2 个数据集,每个数据集大约 5gb,有 200 万个观测值。它们是在一定时间内为给定区域的房地产清单收集的评估和历史数据。我需要做的是相互匹配属性。因此,由于在此期间被出售 2 或 3 次,因此可能会出现历史记录。在这个历史记录中,我有卖家信息、贷款信息和销售信息。在评估员数据中,我拥有描述所售房产的所有特征。所以为了做任何定价模型,我需要将两者匹配。

每个变量都有相似的变量,但它们会略有不同(拼写错误、缩写等)。有人对我有什么建议吗?首先,我想在什么程序中执行此操作?我有 STATA、R 和一点 SAS 和 Matlab 的经验,但我更喜欢使用前两者。

我读完了这个:

Data matching algorithm

他在哪里使用 .NET,一位用户建议使用 Levenshtein 方法(计算字符串之间的距离),因此对于像 Address 这样的字段,我可以使用它并加权两个字符串之间的近似精度。然后有人建议可能使用 Soundex 作为卖方/所有者的名称。

但我真的不知道如何实施这些,在我接触我部门的任何人之前,我真的需要对我在做什么有所了解!

任何帮助或建议都会非常有帮助。

【问题讨论】:

  • 您是否尝试过对地址进行精确字符串匹配?这样你会错过很多比赛,但你会引入很少的错误。而且您的数据集非常大,因此您可能只能接受完美匹配的子集

标签: algorithm matching


【解决方案1】:

是的,你描述的字符串匹配问题有几个很好的算法,分别是:

  • 雅罗-温克勒,
  • 史密斯-沃特曼,
  • 骰子痛
  • soundex
  • damerau-levenshtein 和
  • monge-elkan 仅举几例。

我推荐A Comparison of String Distance Metrics for Name-Matching Tasks, by W. W. Cohen, P. Ravikumar, S. Fienberg 了解哪些可能最适合什么。

SoftTFIDF 声称是最好的。它以 Java 包的形式提供。还有其他字符串匹配和记录链接算法的实现:

图书馆。

【讨论】:

  • 您能否提供有关您所指论文的更多信息,因为链接似乎已失效。非常感谢!
  • 我从主要作者的网站 (Cohen) 更新了参考文献和论文链接。
猜你喜欢
  • 2011-01-26
  • 2023-03-13
  • 2021-09-13
  • 2021-12-25
  • 2011-06-18
  • 2016-09-12
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多