← 开源
J535D165

recordlinkage

A powerful and modular toolkit for record linkage and duplicate detection in Python

Model DevelopmentDataset engineeringPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.06k
Star
153
Fork
+0
本周
18
贡献者
创建于 2015-10-18 · 更新于 2026-10-13 · 今日第 11807 名
主要开发者
J535D165jillianderson8joelbecker

J535D165/recordlinkage 排名第 11,807,有 1,063 个星标。

同类别比较

J535D165/recordlinkage 排名第 11,807,此处有 8 个同类条目;jsyoon0823/TimeGAN 排名第 11,804。

同类别比较
名称排名指标
ctlllll/LLM-ToolMaker11,789
语言:
Jupyter Notebook
星标数:
1,066
分叉数:
97
isl-org/MultiObjectiveOptimization11,792
语言:
Python
星标数:
1,066
分叉数:
173
简介:
Source code for Neural Information Processing Systems (NeurIPS) 2018 paper "Multi-Task Learning as Multi-Objective Optimization"
openai/summarize-from-feedback11,798
语言:
Python
星标数:
1,065
分叉数:
154
简介:
Code for "Learning to summarize from human feedback"
jsyoon0823/TimeGAN11,804
语言:
Jupyter Notebook
星标数:
1,064
分叉数:
325
简介:
Codebase for Time-series Generative Adversarial Networks (TimeGAN) - NeurIPS 2019
facebookresearch/mbrl-lib11,811
语言:
Python
星标数:
1,063
分叉数:
173
简介:
Library for Model Based RL
danijar/dreamerv211,813
语言:
Python
星标数:
1,062
分叉数:
211
简介:
Mastering Atari with Discrete World Models
open-mmlab/mmflow11,815
语言:
Python
星标数:
1,062
分叉数:
116
简介:
OpenMMLab optical flow toolbox and benchmark
abertsch72/unlimiformer11,819
语言:
Python
星标数:
1,061
分叉数:
79
简介:
Public repo for the NeurIPS 2023 paper "Unlimiformer: Long-Range Transformers with Unlimited Length Input"
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Dataset engineering
关键词Data processing
星标数1,063
分叉数153
贡献者18
创建日期2015-10-18
更新日期2026-10-13
1 天星标数0
7 天星标数0
排名11,807
上次排名11,728
排名变化-79
7 天星标排名13,139
上次 7 天星标排名13,161
7 天星标排名变化22
总星标排名10,646
上次总星标排名10,633
总星标排名变化-13
国家Netherlands
README 摘录

RecordLinkage: powerful and modular Python record linkage toolkit **RecordLinkage** is a powerful and modular record linkage toolkit to link records in or between data sources. The toolkit provides most of the tools needed for record linkage and deduplication. The package contains indexing methods, functions to compare records and classifiers. The package is developed for research and the linking of small or medium sized files. This project is inspired by the Freely Extensible Biomedical Record Linkage (FEBRL) project, which is a

great project. In contrast with FEBRL, the recordlinkage project uses pandas and numpy for data handling and computations. The use of *pandas*, a flexible and powerful data analysis and manipulation library for Python, makes the record linkage process much easier and faster. The extensive *pandas* library can be used to integrate your record linkage directly into existing data manipulation projects. One of the aims of this project is to make an easily extensible record linkage framework. It is easy to

include your own indexing algorithms, comparison/similarity measures and classifiers. Basic linking example Import the module with all important tools for record linkage and import the data manipulation framework **pandas**. Comparing all record can be computationally intensive. Therefore, we make set of candidate links with one of the built-in indexing techniques like **blocking**. In this example, only pairs of records that agree on the surname are returned. For each candidate link, compare the records with one of the comparison

or similarity algorithms in the Compare class. Classify the candidate links into matching or distinct pairs based on their comparison result with one of the classification algorithms. The following code classifies candidate pairs with a Logistic Regression classifier. This (supervised machine learning) algorithm requires training data. The following code shows the classification of candidate pairs with the Expectation-Conditional Maximisation (ECM) algorithm. This variant of the Expectation-Maximisation algorithm doesn't require training data (unsupervised machine learning). Main Features The main

features of this Python record linkage toolkit are: Clean and standardise data with easy to use tools Make pairs of records with smart indexing methods such as Compare records with a large number of comparison and similarity Several classifications algorithms, both supervised and unsupervised Common record linkage evaluation tools Several built-in datasets. Documentation The most recent documentation and API reference can be found at recordlinkage. The documentation provides some basic usage examples like deduplication and linking census data. If

you do have interesting examples to share, let us know. Installation The Python Record linkage Toolkit requires Python 3. Install the package easily with pip The toolkit depends on popular packages like Pandas, Numpy, Scipy and, Scikit-learn. A complete list of dependencies can be found in the installation manual as well as recommended and optional dependencies. License The license for this record linkage tool is BSD-3-Clause. Citation Please cite this package when being used in an academic

context. Ensure that the DOI and version match the installed version. Citatation styles can be found on the publishers website

常见问题

记录了多少星标和分叉?

J535D165/recordlinkage 有 1,063 个星标和 153 个分叉。

仓库排名是多少?

J535D165/recordlinkage 排名第 11,807。

记录的语言和类别是什么?

J535D165/recordlinkage 有 1,063 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

J535D165/recordlinkage 与 jsyoon0823/TimeGAN 比较,后者排名第 11,804,有 1,064 个星标。

README

RecordLinkage: powerful and modular Python record linkage toolkit

RecordLinkage is a powerful and modular record linkage toolkit to link records in or between data sources. The toolkit provides most of the tools needed for record linkage and deduplication. The package contains indexing methods, functions to compare records and classifiers. The package is developed for research and the linking of small or medium sized files.

This project is inspired by the Freely Extensible Biomedical Record Linkage (FEBRL) project, which is a great project. In contrast with FEBRL, the recordlinkage project uses pandas and numpy for data handling and computations. The use of pandas, a flexible and powerful data analysis and manipulation library for Python, makes the record linkage process much easier and faster. The extensive pandas library can be used to integrate your record linkage directly into existing data manipulation projects.

One of the aims of this project is to make an easily extensible record linkage framework. It is easy to include your own indexing algorithms, comparison/similarity measures and classifiers.

Basic linking example

Import the recordlinkage module with all important tools for record linkage and import the data manipulation framework pandas.

import recordlinkage
import pandas

Load your data into pandas DataFrames.

df_a = pandas.DataFrame(YOUR_FIRST_DATASET)
df_b = pandas.DataFrame(YOUR_SECOND_DATASET)

Comparing all record can be computationally intensive. Therefore, we make set of candidate links with one of the built-in indexing techniques like blocking. In this example, only pairs of records that agree on the surname are returned.

indexer = recordlinkage.Index()
indexer.block('surname')
candidate_links = indexer.index(df_a, df_b)

For each candidate link, compare the records with one of the comparison or similarity algorithms in the Compare class.

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)

Classify the candidate links into matching or distinct pairs based on their comparison result with one of the classification algorithms. The following code classifies candidate pairs with a Logistic Regression classifier. This (supervised machine learning) algorithm requires training data.

logrg = recordlinkage.LogisticRegressionClassifier()
logrg.fit(TRAINING_COMPARISON_VECTORS, TRAINING_PAIRS)

logrg.predict(feature_vectors)

The following code shows the classification of candidate pairs with the Expectation-Conditional Maximisation (ECM) algorithm. This variant of the Expectation-Maximisation algorithm doesn't require training data (unsupervised machine learning).

ecm = recordlinkage.ECMClassifier()
ecm.fit_predict(feature_vectors)

Main Features

The main features of this Python record linkage toolkit are:

  • Clean and standardise data with easy to use tools
  • Make pairs of records with smart indexing methods such as blocking and sorted neighbourhood indexing
  • Compare records with a large number of comparison and similarity measures for different types of variables such as strings, numbers and dates.
  • Several classifications algorithms, both supervised and unsupervised algorithms.
  • Common record linkage evaluation tools
  • Several built-in datasets.

Documentation

The most recent documentation and API reference can be found at recordlinkage.readthedocs.org. The documentation provides some basic usage examples like deduplication and linking census data. More examples are coming soon. If you do have interesting examples to share, let us know.

Installation

The Python Record linkage Toolkit requires Python 3.8 or higher. Install the package easily with pip

pip install recordlinkage

The toolkit depends on popular packages like Pandas, Numpy, Scipy and, Scikit-learn. A complete list of dependencies can be found in the installation manual as well as recommended and optional dependencies.

License

The license for this record linkage tool is BSD-3-Clause.

Citation

Please cite this package when being used in an academic context. Ensure that the DOI and version match the installed version. Citatation styles can be found on the publishers website 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}
}

Need help?

Stuck on your record linkage code or problem? Any other questions? Don't hestitate to send me an email ().

排名相邻
同类项目