Skip to content
forked from dedupeio/dedupe

A python library for accurate and scaleable data deduplication and entity-resolution.

License

Notifications You must be signed in to change notification settings

joestemarie/dedupe

 
 

Repository files navigation

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.

Important links

Tools built with dedupe

Command line tool for de-duplicating and linking CSV files. Read about it on Source Knight-Mozilla OpenNews.

###Spreadsheet Deduper Web interface for de-duplicating spreadsheets with up to 10,000 rows. Read about it on the DataMade blog.

Installation

Users

If you only want to use dedupe, install it this way:

pip install "numpy>=1.6"
pip install dedupe

Developers

Dedupe requires numpy, which can be complicated to install. If you are installing numpy for the first time, follow these instructions. You'll need to version 1.6 of numpy or higher.

git clone git://github.com/datamade/dedupe.git
cd dedupe
pip install "numpy>=1.6"
# For python 2.7
pip install -r requirements.txt
# For python 2.6
pip install -r py26_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

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.

Testing

Coverage Status

Unit tests of core dedupe functions

coverage run -m nose -I canonical_test

Test using canonical dataset from Bilenko's research

Using Deduplication

python tests/canonical_test.py

Using Record Linkage

python tests/canonical_test_matching.py

Team

Credits

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

Copyright (c) 2014 Forest Gregg and Derek Eder. Released under the MIT License.

Third-party copyright in this distribution is noted where applicable.

Citing Dedupe

If you use Dedupe in an academic work, please give this citation:

Gregg, Forest, and Derek Eder. 2014. Dedupe. https://github.com/datamade/dedupe.

About

A python library for accurate and scaleable data deduplication and entity-resolution.

Resources

License

Stars

Watchers

Forks

Packages

No packages published