Browsing projects by Tag(s)

Select a tag to browse associated projects and drill deeper into the tag cloud.

Showing page 1 of 1

django-recommenderAboutdjango-recommender is a pluggable that provides methods to work with collective user intelligence. It is a set of methods for getting recommendations using the opinion (votes) of the users compared with the other users' one. So instead of getting only the most popular ... [More] items on the system, the user can also discover the items that can interest him more. It also may use tags for content based recommendation, i.e., direct matching. Most of the algorithms are based on Toby Segaran's book "Programming Collective Intelligence". Before you startREQUIRED: This pluggable uses django-voting as basic system for user voting, and django-tagging for content-based recommendation, so they are required for its work. WARNING: Don't use this plugable as it is with a huge amount of data, because it is really expensive in CPU and RAM. Instead, use caching or data clustering techniques for managing a limited set of data. InstallationJust add 'recommender' to your INSTALLED_APPS in the settings.py project file. Run "./manage.py syncdb" and "./manage.py test recommender" to check the always interesting unit testing results. Functionsget_best_items_for_user: This function will return a sorted list of pairs (value, item) containing the recommended items for a given user, based on the votes of the users. get_similar_users: This function will tell us which are the most similar users, based on the historical votes for similar items. get_best_users_for_item: This function will return the best candidates that may like a given item, based on votes. get_similar_items: The closest items, based on the votes of the users. get_content_based_recs: Get recommendations using a Content Based distance calculation, using tags for items and users. cluster_users: Clustering function to get groups of similar users cluster_items: Clustering function to get groups of similar events How to use itIt's required to use it with django-voting and django-tagging pluggables. To use the functions, just invoke them through the manager of the Recommender class: Recommender.objects.get_best_items_for_user(user, users, movies) The recommendable models must have been voted, using django-voting. And the user and the items should be tagged with django-tagging. All these functions have as arguments the user or item to evaluate, a user list and an item list. This is because is can be useful to pass just a limited list of users or items, in order to have a better performance, or better results, focusing the recommendation only on a controlled set of data. The result of the functions is a list of pairs (value, recommendation), where the value is a float indicating how close the recommendation is (1 is closest), and the recommendation will be the asked user or item. In case of clustering functions, what it returns is a list containing other lists with the ids of the elements to cluster, i.e, if you want to have 3 clusters of users, the list will contain 3 sublists with the user ids of each cluster. Have a look at the unit testing file tests.py to know more about the functions. Roadmap0.1. Create the Recommender, based on user votes. DONE 0.2. Add content based recommendations, using django-tagging pluggable DONE 0.3. Clustering techniques DONE 0.x. Add cache support [Less]

0
 
  0 reviews  |  0 users  |  3,286 lines of code  |  0 current contributors  |  Analyzed 6 days ago
 
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.