recommender-engine

A recommendation application using either item-based or user-based approaches


Keywords
Recommender, Artificial, Intelligence, Data, Science
License
Apache-2.0
Install
pip install recommender-engine==0.3.0

Documentation

Recommender


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.

If you like this project, feel fee to leave a few words of appreciation here Say Thanks!

Build Build Status Coverage Status
Quality Maintainability Requirements Status
Support gitter
Platform pyversion implementation

Table of contents

  1. Usage
  2. Contribution
  3. License

Usage

Install with pip

$ pip install recommender-engine

API

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'

Example


>>> 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',
							  ..., 
							  'itemn' : 'ratingAn
							  }, 
					..., 
					'userZ:{
							'item1' : 'ratingZ1,
							 'item2' : 'ratingZ2',
							  ...,
							 'itemn' : 'ratingZn
							}
				    }

Tested Datasets

The project has been tested on these Datasets

  1. Jester
  2. MovieLens

Contribution Open Source Helpers

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.

Appreciation

Feel free to add your name into the list of contributors. You will automatically be inducted into Hall of Fame as a way to show my appreciation for your contributions

Hall of Fame


License

See the LICENSE file for license rights and limitations (Apache License 2.0).