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 -- http://mail.python.org/mailman/listinfo/python-list