ANN: consensus 0.1.1 - Collaborative filtering library for Python

Brian Beck exogen at gmail.com
Sat Mar 18 22:07:09 EST 2006


Last night was the first release of a new (maybe the only?)
collaborative filtering library in Python.

www: http://exogen.case.edu/projects/consensus/
pypi: http://python.org/pypi/consensus/0.1.1
svn: svn://exogen.case.edu/consensus/tags/0.1.1

consensus currently includes three collaborative filtering models:
vector distance, simple similarity, and constrained Pearson
correlation.  Several additional models are in development, as well as
improvements to the current models.

# Usage
Adapting the rating histories of users to fit into consensus is simple:
feed is a dictionary mapping any unique user object (usernames, id
numbers, your own hashable user class) to a dictionary mapping items
that user has rated to their rating for each item.

# Examples
In the repository you'll find a real-world example of using consensus:
recommending songs based on the listening histories of AudioScrobbler
users.  A 1,000 user dataset is included and demonstrates how easy it
is to make suggestions.  The recommendations we've seen so far look
pretty good.

# Feedback
This is the first release, so feedback is welcome and encouraged.
We're currently looking into making a better interface to our classes
to support models that rely on caching, etc.

--
Brian Beck
Adventurer of the First Order




More information about the Python-list mailing list