Dedupe Python Library
dedupe is a python library that uses machine learning to perform de-duplication and entity resolution quickly on structured data.
dedupe will help you:
- remove duplicate entries from a spreadsheet of names and addresses
- link a list with customer information to another with order history, even without unique customer id's
- take a database of campaign contributions and figure out which ones were made by the same person, even if the names were entered slightly differently for each record
dedupe takes in human training data and comes up with the best rules for your dataset to quickly and automatically find similar records, even with very large databases.
- Documentation: http://dedupe.rtfd.org/
- Repository: https://github.com/datamade/dedupe
- Issues: https://github.com/datamade/dedupe/issues
- Examples: https://github.com/datamade/dedupe-examples
- IRC channel, #dedupe on irc.freenode.net
Tools built with dedupe
Web interface for de-duplicating spreadsheets with up to 10,000 rows. Read about it on the DataMade blog.
If you only want to use dedupe, install it this way:
pip install "numpy>=1.9" pip install dedupe
Windows Install Notes
We recommending installing some of dedupe's dependencies from a wheel, particularly numpy and fastcluster.
OS X Install Notes
Before installing, you may need to set the following environmental variables from the command line
export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments
With default configurations, dedupe cannot do parallel processing on Mac OS X. For more information and for instructions on how to enable this, refer to the wiki.
git clone git://github.com/datamade/dedupe.git cd dedupe pip install "numpy>=1.9" pip install -r requirements.txt cython src/*.pyx python setup.py develop #If these tests pass, then everything should have been installed correctly! coverage run -m nose -I canonical_test
Unit tests of core dedupe functions
coverage run -m nose -I canonical_test
Test using canonical dataset from Bilenko's research
Using Record Linkage
Dedupe is based on Mikhail Yuryevich Bilenko's Ph.D. dissertation: Learnable Similarity Functions and their Application to Record Linkage and Clustering.
Errors / Bugs
If something is not behaving intuitively, it is a bug, and should be reported. Report it here
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Send us a pull request. Bonus points for topic branches.
Copyright (c) 2014 Forest Gregg and Derek Eder. Released under the MIT License.
Third-party copyright in this distribution is noted where applicable.
If you use Dedupe in an academic work, please give this citation:
Gregg, Forest, and Derek Eder. 2014. Dedupe. https://github.com/datamade/dedupe.