8000 GitHub - seoyoungh/svd-ae: SVD-AE: Simple Autoencoders for Collaborative Filtering
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

seoyoungh/svd-ae

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVD-AE: Simple Autoencoders for Collaborative Filtering

GitHub Repo stars arXiv Hits

PWC PWC PWC PWC

This repository contains the official implementation of SVD-AE, a novel approach to collaborative filtering introduced in our IJCAI 2024 paper.

The best overall balance between 3 goals The accuracy, robustness, and computation time of various methods on Gowalla
  • Key Features of SVD-AE:
    • Closed-form solution for efficient computation
    • Low-rank inductive bias for noise robustness
    • Competitive performance across various datasets

Installation

To set up the environment for running SVD-AE, follow these steps:

  1. Clone this repository:
git clone https://github.com/your_username/svd-ae.git
cd svd-ae
  1. Create a virtual environment (optional but recommended):
python -m venv svd_ae
source svd_ae/bin/activate  
  1. Install the required dependencies:
pip install -r requirements.txt

Dataset Preparation

Before running the code, you need to download and prepare the datasets:

  1. Download the dataset archive from this Google Drive link.
  2. Unzip the downloaded file in the project root directory:
unzip data.zip

This will create a data folder containing the preprocessed datasets (ML-1M, ML-10M, Gowalla, and Yelp2018).

Usage

To run SVD-AE on different datasets, use the 769E following commands:

  • For ML-1M:
python main.py --dataset ml-1m --k 148
  • For ML-10M:
python main.py --dataset ml-10m --k 427
  • For Gowalla:
python main.py --dataset gowalla --k 1194
  • Yelp:
python main.py --dataset yelp2018 --k 1267

Hyperparameters

The main hyperparameter for SVD-AE is k, which represents the rank used in the truncated SVD. The optimal values for each dataset are provided in the usage examples above. You can experiment with different values to see how they affect performance. Other configurable parameters can be found in the main.py file. Feel free to adjust them according to your needs.

Citation

If you use this code or find SVD-AE helpful in your research, please cite our paper:

@inproceedings{hong2024svdae,
  title     = {SVD-AE: Simple Autoencoders for Collaborative Filtering},
  author    = {Hong, Seoyoung and Choi, Jeongwhan and Lee, Yeon-Chang and Kumar, Srijan and Park, Noseong},
  booktitle = {Proceedings of the Thirty-Third International Joint Conference on
               Artificial Intelligence, {IJCAI-24}},
  publisher = {International Joint Conferences on Artificial Intelligence Organization},
  pages     = {2054--2062},
  year      = {2024},
  doi       = {10.24963/ijcai.2024/227},
  url       = {https://doi.org/10.24963/ijcai.2024/227},
}

Star History

Star History Chart

About

SVD-AE: Simple Autoencoders for Collaborative Filtering

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages

0