The source code and dataset for the RecGURU paper (WSDM 2022)

Overview

RecGURU

About The Project

Source code and baselines for the RecGURU paper "RecGURU: Adversarial Learning of Generalized User Representations for Cross-Domain Recommendation (WSDM 2022)"

Code Structure

RecGURU  
├── README.md                                 Read me file 
├── data_process                              Data processing methods
│   ├── __init__.py                           Package initialization file     
│   └── amazon_csv.py                         Code for processing the amazon data (in .csv format)
│   └── business_process.py                   Code for processing the collected data
│   └── item_frequency.py                     Calculate item frequency in each domain
│   └── run.sh                                Shell script to perform data processing  
├── GURU                                      Scripts for modeling, training, and testing 
│   ├── data                                  Dataloader package      
│     ├── __init__.py                         Package initialization file 
│     ├── data_loader.py                      Customized dataloaders 
│   └── tools                                 Tools such as loss function, evaluation metrics, etc.
│     ├── __init__.py                         Package initialization file
│     ├── lossfunction.py                     Customized loss functions
│     ├── metrics.py                          Evaluation metrics
│     ├── plot.py                             Plot function
│     ├── utils.py                            Other tools
│  ├── Transformer                            Transformer package
│     ├── __init__.py                         Package initialization 
│     ├── transformer.py                      transformer module
│  ├── AutoEnc4Rec.py                         Autoencoder based sequential recommender
│  ├── AutoEnc4Rec_cross.py                   Cross-domain recommender modules
│  ├── config_auto4rec.py                     Model configuration file
│  ├── gan_training.py                        Training methods of the GAN framework
│  ├── train_auto.py                          Main function for training and testing single-domain sequential recommender
│  ├── train_gan.py                           Main function for training and testing cross-domain sequential recommender
└── .gitignore                                gitignore file

Dataset

  1. The public datasets: Amazon view dataset at: https://nijianmo.github.io/amazon/index.html
  2. Collected datasets: https://drive.google.com/file/d/1NbP48emGPr80nL49oeDtPDR3R8YEfn4J/view
  3. Data processing:

Amazon dataset:

```shell
cd ../data_process
python amazon_csv.py   
```

Collected dataset

```shell
cd ../data_process
python business_process.py --rate 0.1  # portion of overlapping user = 0.1   
```

After data process, for each cross-domain scenario we have a dataset folder:

."a_domain"-"b_domain"
├── a_only.pickle         # users in domain a only
├── b_only.pickle         # users in domain b only
├── a.pickle              # all users in domain a
├── b.pickle              # all users in domain b
├── a_b.pickle            # overlapped users of domain a and b   

Note: see the code for processing details and make modifications accordingly.

Run

  1. Single-domain Methods:
    # SAS
    python train_auto.py --sas "True"
    # AutoRec (ours)
    python train_auto.py 
  2. Cross-Domain Methods:
    # RecGURU
    python train_gan.py --cross "True"
Owner
Chenglin Li
Chenglin Li
CAPRI: Context-Aware Interpretable Point-of-Interest Recommendation Framework

CAPRI: Context-Aware Interpretable Point-of-Interest Recommendation Framework This repository contains a framework for Recommender Systems (RecSys), a

RecSys Lab 8 Jul 03, 2022
Static-test - A playground to play with ideas related to testing the comparability of the code

Static test playground ⚠️ The code is just an experiment. Compiles and runs on U

Igor Bogoslavskyi 4 Feb 18, 2022
SSD: Single Shot MultiBox Detector pytorch implementation focusing on simplicity

SSD: Single Shot MultiBox Detector Introduction Here is my pytorch implementation of 2 models: SSD-Resnet50 and SSDLite-MobilenetV2.

Viet Nguyen 149 Jan 07, 2023
Kaggle Ultrasound Nerve Segmentation competition [Keras]

Ultrasound nerve segmentation using Keras (1.0.7) Kaggle Ultrasound Nerve Segmentation competition [Keras] #Install (Ubuntu {14,16}, GPU) cuDNN requir

179 Dec 28, 2022
Code for the paper: Adversarial Machine Learning: Bayesian Perspectives

Code for the paper: Adversarial Machine Learning: Bayesian Perspectives This repository contains code for reproducing the experiments in the ** Advers

Roi Naveiro 2 Nov 11, 2022
Tools for the Cleveland State Human Motion and Control Lab

Introduction This is a collection of tools that are helpful for gait analysis. Some are specific to the needs of the Human Motion and Control Lab at C

CSU Human Motion and Control Lab 88 Dec 16, 2022
Deep Implicit Moving Least-Squares Functions for 3D Reconstruction

DeepMLS: Deep Implicit Moving Least-Squares Functions for 3D Reconstruction This repository contains the implementation of the paper: Deep Implicit Mo

103 Dec 22, 2022
UCSD Oasis platform

oasis UCSD Oasis platform Local project setup Install Docker Compose and make sure you have Pip installed Clone the project and go to the project fold

InSTEDD 4 Jun 16, 2021
Brain tumor detection using CNN (InceptionResNetV2 Model)

Brain-Tumor-Detection Building a detection model using a convolutional neural network in Tensorflow & Keras. Used brain MRI images. InceptionResNetV2

1 Feb 13, 2022
Code associated with the paper "Deep Optics for Single-shot High-dynamic-range Imaging"

Deep Optics for Single-shot High-dynamic-range Imaging Code associated with the paper "Deep Optics for Single-shot High-dynamic-range Imaging" CVPR, 2

Stanford Computational Imaging Lab 40 Dec 12, 2022
A semismooth Newton method for elliptic PDE-constrained optimization

sNewton4PDEOpt The Python module implements a semismooth Newton method for solving finite-element discretizations of the strongly convex, linear ellip

2 Dec 08, 2022
UI2I via StyleGAN2 - Unsupervised image-to-image translation method via pre-trained StyleGAN2 network

We proposed an unsupervised image-to-image translation method via pre-trained StyleGAN2 network. paper: Unsupervised Image-to-Image Translation via Pr

208 Dec 30, 2022
Neural-Pull: Learning Signed Distance Functions from Point Clouds by Learning to Pull Space onto Surfaces(ICML 2021)

Neural-Pull: Learning Signed Distance Functions from Point Clouds by Learning to Pull Space onto Surfaces(ICML 2021) This repository contains the code

149 Dec 15, 2022
Image Classification - A research on image classification and auto insurance claim prediction, a systematic experiments on modeling techniques and approaches

A research on image classification and auto insurance claim prediction, a systematic experiments on modeling techniques and approaches

0 Jan 23, 2022
This is a repository for a semantic segmentation inference API using the OpenVINO toolkit

BMW-IntelOpenVINO-Segmentation-Inference-API This is a repository for a semantic segmentation inference API using the OpenVINO toolkit. It's supported

BMW TechOffice MUNICH 34 Nov 24, 2022
Simple implementation of Mobile-Former on Pytorch

Simple-implementation-of-Mobile-Former At present, only the model but no trained. There may be some bug in the code, and some details may be different

Acheung 103 Dec 31, 2022
Automated Hyperparameter Optimization Competition

QQ浏览器2021AI算法大赛 - 自动超参数优化竞赛 ACM CIKM 2021 AnalyticCup 在信息流推荐业务场景中普遍存在模型或策略效果依赖于“超参数”的问题,而“超参数"的设定往往依赖人工经验调参,不仅效率低下维护成本高,而且难以实现更优效果。因此,本次赛题以超参数优化为主题,从真

20 Dec 09, 2021
Official Pytorch implementation of "CLIPstyler:Image Style Transfer with a Single Text Condition"

CLIPstyler Official Pytorch implementation of "CLIPstyler:Image Style Transfer with a Single Text Condition" Environment Pytorch 1.7.1, Python 3.6 $ c

203 Dec 30, 2022
Supervised multi-SNE (S-multi-SNE): Multi-view visualisation and classification

S-multi-SNE Supervised multi-SNE (S-multi-SNE): Multi-view visualisation and classification A repository containing the code to reproduce the findings

Theodoulos Rodosthenous 3 Apr 15, 2022
RodoSol-ALPR Dataset

RodoSol-ALPR Dataset This dataset, called RodoSol-ALPR dataset, contains 20,000 images captured by static cameras located at pay tolls owned by the Ro

Rayson Laroca 45 Dec 15, 2022