# PClean: Bayesian Data Cleaning at Scale with Domain-Specific Probabilistic Programming

arXiv: https://arxiv.org/abs/2007.11838 · HTML: https://mlsanity.com/paper/2007.11838/

## Key facts

- Cited by 10 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 23 Jul 2020.

## Built on by (most cited first, 10 of 10)

- [Building Machines that Learn and Think with People](https://mlsanity.com/paper/2408.03943/) (2024)
- [Jellyfish: A Large Language Model for Data Preprocessing](https://mlsanity.com/paper/2312.01678/) (2023)
- [Data Cleaning and Machine Learning: A Systematic Literature Review](https://mlsanity.com/paper/2310.01765/) (2023)
- [Recursive Monte Carlo and Variational Inference with Auxiliary Variables](https://mlsanity.com/paper/2203.02836/) (2022)
- [BClean: A Bayesian Data Cleaning System](https://mlsanity.com/paper/2311.06517/) (2023)
- [Cleaning Dirty Books: Post-OCR Processing for Previously Scanned Texts](https://mlsanity.com/paper/2110.11934/) (2021)
- [Repairing Systematic Outliers by Learning Clean Subspaces in VAEs](https://mlsanity.com/paper/2207.08050/) (2022)
- [AI Competitions and Benchmarks: Dataset Development](https://mlsanity.com/paper/2404.09703/) (2024)
- [Agentic Data Cleaning Without a Clean Reference: An Experimental Study of Capabilities and Trade-offs](https://mlsanity.com/paper/2608.14765/) (2026)
- [Particle GFlowNets: Rethinking Generative Marginalization Models](https://mlsanity.com/paper/2609.11538/) (2026)

## Abstract (arXiv)

Data cleaning is naturally framed as probabilistic inference in a generative model of ground-truth data and likely errors, but the diversity of real-world error patterns and the hardness of inference make Bayesian approaches difficult to automate. We present PClean, a probabilistic programming language (PPL) for leveraging dataset-specific knowledge to automate Bayesian cleaning. Compared to general-purpose PPLs, PClean tackles a restricted problem domain, enabling three modeling and inference innovations: (1) a non-parametric model of relational database instances, which users' programs customize; (2) a novel sequential Monte Carlo inference algorithm that exploits the structure of PClean's model class; and (3) a compiler that generates near-optimal SMC proposals and blocked-Gibbs rejuvenation kernels based on the user's model and data. We show empirically that short (< 50-line) PClean programs can: be faster and more accurate than generic PPL inference on data-cleaning benchmarks; match state-of-the-art data-cleaning systems in terms of accuracy and runtime (unlike generic PPL inference in the same runtime); and scale to real-world datasets with millions of records.
