用于链接和重复数据删除的记录链接工具包
项目描述
RecordLinkage:强大的模块化 Python 记录链接工具包
RecordLinkage是一个功能强大的模块化记录链接工具包,用于链接数据源中或数据源之间的记录。该工具包提供了记录链接和重复数据删除所需的大部分工具。该包包含索引方法、比较记录和分类器的功能。该软件包是为研究和中小型文件的链接而开发的。
这个项目的灵感来自可自由扩展的生物医学记录链接 (FEBRL)项目,这是一个很棒的项目。与 FEBRL 相比,recordlinkage 项目使用pandas和 numpy进行数据处理和计算。pandas是一个灵活而强大的 Python 数据分析和操作库的使用,使得记录链接过程变得更加容易和快捷。广泛的pandas库可用于将您的记录链接直接集成到现有的数据操作项目中。
该项目的目标之一是制作一个易于扩展的记录链接框架。很容易包含您自己的索引算法、比较/相似性度量和分类器。
基本链接示例
使用所有重要的记录链接工具导入recordlinkage
模块并导入数据操作框架pandas。
import recordlinkage
import pandas
将您的数据加载到 pandas DataFrames 中。
df_a = pandas.DataFrame(YOUR_FIRST_DATASET)
df_b = pandas.DataFrame(YOUR_SECOND_DATASET)
比较所有记录可能是计算密集型的。因此,我们使用一种内置索引技术(如阻塞)制作一组候选链接。在此示例中,仅返回与姓氏一致的记录对。
indexer = recordlinkage.Index()
indexer.block('surname')
candidate_links = indexer.index(df_a, df_b)
对于每个候选链接,将记录与比较类中的比较或相似性算法之一进行比较。
c = recordlinkage.Compare()
c.string('name_a', 'name_b', method='jarowinkler', threshold=0.85)
c.exact('sex', 'gender')
c.date('dob', 'date_of_birth')
c.string('str_name', 'streetname', method='damerau_levenshtein', threshold=0.7)
c.exact('place', 'placename')
c.numeric('income', 'income', method='gauss', offset=3, scale=3, missing_value=0.5)
# The comparison vectors
feature_vectors = c.compute(candidate_links, df_a, df_b)
根据与分类算法之一的比较结果,将候选链接分类为匹配或不同的对。以下代码使用逻辑回归分类器对候选对进行分类。这种(监督机器学习)算法需要训练数据。
logrg = recordlinkage.LogisticRegressionClassifier()
logrg.fit(TRAINING_COMPARISON_VECTORS, TRAINING_PAIRS)
logrg.predict(feature_vectors)
以下代码显示了使用期望条件最大化 (ECM) 算法对候选对进行分类。期望最大化算法的这种变体不需要训练数据(无监督机器学习)。
ecm = recordlinkage.ECMClassifier()
ecm.fit_predict(feature_vectors)
主要特点
这个Python记录联动工具包的主要特点是:
- 使用易于使用的工具清理和标准化数据
- 使用智能索引方法(例如 阻塞和排序邻域索引)制作记录对
- 针对不同类型的变量(例如字符串、数字和日期),使用大量比较和相似性度量来比较记录。
- 几种分类算法,包括监督和非监督算法。
- 常用记录联动评价工具
- 几个内置数据集。
文档
最新的文档和 API 参考可以在 recordlinkage.readthedocs.org找到。该文档提供了一些基本的使用示例,例如 重复数据删除 和 链接 人口普查数据。更多示例即将推出。如果您确实有有趣的示例要分享,请告诉我们。
安装
Python 记录链接工具包需要 Python 3.6 或更高版本。使用 pip 轻松安装软件包
pip install recordlinkage
Python 2.7 用户可以使用 <= 0.13 版本,但建议使用 Python >= 3.5。
该工具包依赖于流行的包,如 Pandas、 Numpy、Scipy和 Scikit-learn。可以在安装手册 以及推荐的和可选的依赖项中找到完整的依赖项列表。
执照
此记录链接工具的许可证是 BSD-3-Clause。
引文
在学术环境中使用时请引用此包。确保 DOI 和版本与安装的版本匹配。引文样式可以在出版商网站 10.5281/zenodo.3559042上找到。
@software{de_bruin_j_2019_3559043,
author = {De Bruin, J},
title = {{Python Record Linkage Toolkit: A toolkit for
record linkage and duplicate detection in Python}},
month = dec,
year = 2019,
publisher = {Zenodo},
version = {v0.14},
doi = {10.5281/zenodo.3559043},
url = {https://doi.org/10.5281/zenodo.3559043}
}
需要帮忙?
卡在您的记录链接代码或问题上?还有其他问题吗?不要犹豫给我发电子邮件 ( jonathandebruinos@gmail.com )。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
recordlinkage -0.15.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 688af1e78be77fce48fca8adff89e383f5483aee87d1213b35d43519b78ff027 |
|
MD5 | 6bea35f04181ee758717b5ea8328e604 |
|
布莱克2-256 | 757c8deed2c61e0b77f856d785f022385871c6e25777119186071b6648f864d0 |
recordlinkage -0.15-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e51a10142339d4a16119336b294492c1e7d638c4f75700a98f33692ba2a1811 |
|
MD5 | a2ca5c840ff2215b76912ca030562774 |
|
布莱克2-256 | 5690d1327fc9c1b52717654a771358a1e73540fe4caf7d031b699f796746b4e6 |