moj-analytical-services/splink
Fast, accurate and scalable probabilistic data linkage with support for multiple SQL backends
해결하는 문제
Splink는 고유 식별자가 없는 데이터셋에서 레코드를 중복 제거하고 연결하기 위해 설계되었습니다. 여러 열에 걸쳐 불완전하거나 일관되지 않은 데이터만 있을 때, 두 레코드가 동일한 실세계 엔티티(예: 개인 또는 회사)를 나타내는지 식별하는 엔티티 해결 문제를 해결합니다.
작동 방식
Splink는 Fellegi-Sunter 모델 기반의 확률적 레코드 링킹 알고리즘을 사용합니다. 이름, 생년월일, 도시와 같은 다수의 상관관계가 없는 열을 기반으로 레코드 쌍 간의 매칭 확률을 예측합니다. 시스템은 비지도 학습(기대값 최대화)을 사용하여 모델 파라미터를 추정할 수 있어, 사전 레이블링된 학습 데이터가 필요하지 않습니다. 매칭 확률이 계산된 후, 이러한 링크를 클러스터링하여 중복 레코드 그룹에 고유 ID를 할당합니다.
대상 사용자
이 도구는 정부, 학계, 민간 부문의 데이터 과학자 및 분석가를 위한 것으로, 특히 수백만 건의 레코드를 대규모로 처리해야 하는 경우에 적합합니다.
주요 특징
- 고성능: 랩톱에서 100만 건의 레코드를 약 1분 내에 연결 가능.
- 확장성: 로컬 Python 실행에는 DuckDB를, 1억 건 이상의 데이터셋에는 Spark 또는 PostgreSQL을 지원.
- 비지도 학습: 모델 학습에 학습 데이터가 필요하지 않습니다.
- 인터랙티브 진단: 링크 모델의 진단과 개선을 돕는 일련의 인터랙티브 시각화 기능 포함.
- 퍼지 매칭: 단어 빈도 조정 및 사용자 정의 퍼지 매칭 로직을 지원하여 정확도 향상.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트