No project description provided
Project description
sdrecommender
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
-
Collaborative Filtering:
-
Item-Item Filtering
-
User-Item Filtering
-
-
Classification Based Model
- MLRecommender
General Structure/ Abstract Class:
The abstract class contains 2 main functions:
- getsimilaritems()
- getuserrecommendation()
getsimilaritems():
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)
getuserrecommendation():
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.
Collaborative Filtering:
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 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
User-Item Filtering:
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.
Contents
sdrecommender
Is the main directory where all the contents of the module are storedsdrecommender/content_based_model
Contains the module for content based system, this module calculates similarity using the content based filtering approachsdrecommender/collaborative_model
Contains all the modules which use the collaborative filtering approachsdrecommender/collaborative_model/itemitemfilter.py
Contains the methods which utilize item-item filtering approach described above.sdrecommender/collaborative_model/useritemfilter.py
Contains 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sdrecommender-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64608005523798f126b67568ab97778965989f7067241a8ad821d767fb96b1b8 |
|
MD5 | fe7030eb3b8958d48c8a9cfaf3912daf |
|
BLAKE2b-256 | 4370d3f60146090e0095060ecf18fc4836f1889cd44028d940b519dfb0bb7d65 |