Git Product home page Git Product logo

recommender-system-comparision's Introduction

Recommender-System-Comparision

About The Project

This project aims to compare various techniques used in implementing Recommender Systems based on their errors using Root Mean Square Error, Precision on top K and Spearman Rank Correlation.

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Installation

  1. Clone the repository
    git clone https://github.com/shashwatanand1801/Recommender-System-Comparision.git
  2. For preparing sparse npz matrix :
    cd src
    pyhton3 npzmaker.py

npz sparse matrix

  1. For the main python file :
    pyhton3 main.py

(back to top)

Results

Results

(back to top)

Dataset

We used MovieLens 1M movie ratings dataset for our project. More details can be found here Movie ratings

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Shashwat anand- @shashwat_anand - [email protected]

Project Link: https://github.com/shashwatanand1801/Recommender-System-Comparision

(back to top)

recommender-system-comparision's People

Contributors

shashwatanand1801 avatar muskaancontlo avatar

Forkers

supercoder-dev

recommender-system-comparision's Issues

Add MAE Evaluation Metric in main.py for Collaborative Filtering

I am requesting a feature enhancement in main.py to include Mean Absolute Error (MAE) as an evaluation metric for collaborative filtering. Currently, the evaluation uses RMSE and Spearman correlation. Please create a separate function to calculate MAE and integrate this function into the evaluation process wherever necessary.

Proposed Changes:

  1. Implement a function to calculate MAE.
  2. Integrate the MAE calculation function into the collaborative filtering evaluation process.
  3. Ensure that the MAE metric is included alongside RMSE and Spearman correlation in the evaluation outputs.

Handle NaN Values as Mean Instead of 0 in Similarity Calculations

I am requesting a feature enhancement for the similarity calculations in the project. Currently, NaN values are handled as 0, which may lead to inaccurate similarity scores. Instead, NaN values should be replaced with the mean value of the respective feature for more accurate similarity calculations.

Proposed Changes:

  1. Identify the locations of NaN values in the dataset.
  2. Replace NaN values with the mean of the respective feature (row/column) before performing similarity calculations.
  3. Ensure that the updated similarity calculations are integrated into the existing collaborative filtering process.
    Benefits:
  • Improved accuracy of similarity scores.
  • Better handling of missing data by using statistical imputation.

Add Timing Calculation for Collaborative Filtering with and without Baseline Approach in collaborative.py

The collaborative.py file currently calculates collaborative filtering using the baseline approach. I would like to request an enhancement to include code that calculates the time it takes to compute collaborative filtering both with and without the baseline approach.

Proposed Changes:

  1. Add timing code to measure the duration of the collaborative filtering process using the baseline approach.
  2. Add timing code to measure the duration of the collaborative filtering process without using the baseline approach.
  3. Output or log the time taken for both approaches for comparison.
    This enhancement will help in evaluating the performance impact of using the baseline approach versus not using it.

Add Function to Invert Large, Dense Matrix Using SVD from scipy.sparse.linalg

I am requesting the addition of a function to invert a large, dense matrix using Singular Value Decomposition (SVD) from scipy.sparse.linalg. This will facilitate more efficient matrix operations for collaborative filtering or any other analogous operations.

Proposed Changes:

  1. Implement a function to perform SVD on a large, dense matrix using scipy.sparse.linalg.svds.
  2. Use the SVD results to compute the matrix inversion.
  3. Integrate this functionality where necessary in the codebase.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.