No project description provided
This project is a 'pip' package that can be installed and operated on any device. This 'pip' package was made for the AI Lab for May 2021 Submitted by
Vasu Samnotra (18070122076)
Nishanth Bhat (18070122041)
Pranav Pathare (18070122044)
This package contains tools to make a simple recommender system using 3 methods by giving a list of inputs to the module. The module has provisions for making predictions to a user using 3 different methods:
Content Based Filtering
Classification Based Model
General Structure/ Abstract Class:
The abstract class contains 2 main functions:
This function is used to get the top k similar items which are similar to the item passed to the function. Depending on the class that calls the function, the similarity is calculated using that method. (e.g. If the Item-Item class calls this function then similarity is calculated based on the rules of the Item-Item Filtering method)
This function takes the user's ID and no. of recommendations as the parameter, then returns the top recommendations for the user. This function first filters the users favorite movies and then finds movies similar to those using the function above.
Content Based Filtering:
This method of recommending objects to a certain user depends solely on the contents of the item itself. This 'content' could be any parameter that describes 2 similar items to be similar. Using this parameter we can calculate the similarity between any 2 items purely based on their contents.
This method of recommender systems only considers the ratings given by the user and does not check for the contents of the item themselves. Similarity between items is calculated purely based on the ratings given by the same users to both items. This contains 2 approaches:
- Item-Item Filtering
- User-Item Filtering
Item-item collaborative filtering, or item-based, or item-to-item, is a form of collaborative filtering for recommender systems based on the similarity between items calculated using people's ratings of those items. Item-item collaborative filtering was invented and used by Amazon.com
The underlying assumption of the collaborative filtering approach is that if a person A has the same opinion as a person B on an issue, A is more likely to have B's opinion on a different issue than that of a randomly chosen person.
sdrecommenderIs the main directory where all the contents of the module are stored
sdrecommender/content_based_modelContains the module for content based system, this module calculates similarity using the content based filtering approach
sdrecommender/collaborative_modelContains all the modules which use the collaborative filtering approach
sdrecommender/collaborative_model/itemitemfilter.pyContains the methods which utilize item-item filtering approach described above.
sdrecommender/collaborative_model/useritemfilter.pyContains the methods which utilize user-item filtering approach described above.
graph LR SDRecommender--> Contentbased_Filter SDRecommender-->Collaborative_filter Collaborative_filter--> Item-Item_filter Collaborative_filter--> User-Item_filter
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size sdrecommender-0.0.2-py3-none-any.whl (10.5 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size sdrecommender-0.0.2.tar.gz (8.0 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for sdrecommender-0.0.2-py3-none-any.whl