Skip to main content

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 stored
  • sdrecommender/content_based_model Contains the module for content based system, this module calculates similarity using the content based filtering approach
  • sdrecommender/collaborative_model Contains all the modules which use the collaborative filtering approach
  • sdrecommender/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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sdrecommender-0.0.2.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sdrecommender-0.0.2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file sdrecommender-0.0.2.tar.gz.

File metadata

  • Download URL: sdrecommender-0.0.2.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for sdrecommender-0.0.2.tar.gz
Algorithm Hash digest
SHA256 e49d54dbaa00de660dd9a1672b7de1a66c6a3f60071b1438ea2cd1d323e55bb4
MD5 27f120efc5134b7da17c158f614a21b6
BLAKE2b-256 ca85d4b4999b60edd55a878336bf9c236bee3f1483f2e5d24ef2bf5bb08bf66a

See more details on using hashes here.

File details

Details for the file sdrecommender-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: sdrecommender-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for sdrecommender-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 64608005523798f126b67568ab97778965989f7067241a8ad821d767fb96b1b8
MD5 fe7030eb3b8958d48c8a9cfaf3912daf
BLAKE2b-256 4370d3f60146090e0095060ecf18fc4836f1889cd44028d940b519dfb0bb7d65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page