Recommender is a recommendation application using either item-based or user-based approaches.
Recommender is at version v0.3.0, also see change log for more details on release history.
Build | ||
---|---|---|
Quality | ||
Platform |
Install with pip
$ pip install recommender-engine
make_recommendation(person_to_recommend, preference_space, recommender_approach='user_based', number_of_items_to_recommend=10, similarity_measure='euclidean_distance')
Return list of recommendation items based on the chosen approach and similarity emasure
Parameters
--------------
person_to_recommend (str): user id/name to recommend to
preference_space (dict): keys are user id/name and values are dictionary of items and ratings
recommender_approach (str): support 'user_based' (default) or 'item_based'
number_of_items_to_recommend (int): number of items to recommend (default=10)
similarity_measure (str): similarity measurement method , support 'euclidean_distance' (default), 'cosine' or 'pearson_correlation'
>>> from recommender_engine import make_recommendation
>>> result = make_recommendation(person_to_recommend = "userA",
preference_space = preference_space,
recommender_approach = 'user_based',
number_of_items_to_recommend = 10,
similarity_measure = 'euclidean_distance')
The preference space is dictionary data structure where keys are users and values are dictionary of items and ratings
preference_space = { 'userA : { 'item1' : 'ratingA1,
'item2' : 'ratingA2',
...},
...
'userZ: { 'item1' : 'ratingZ1,
'item2' : 'ratingZ2',
...}
}
The project has been tested on these Datasets
Please follow our contribution convention at contribution instruction and code of conduct
Please check out the issue file for list of issues that required helps.
Feel free to add your name into the list of contributors.
If you like this project, you can buy buy me a pizza to motivate me improve on the project.
See the LICENSE file for license rights and limitations (Apache License 2.0).