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
An open-source, low-cost, image-based weed detection device for fallow scenarios.

Welcome to the OpenWeedLocator (OWL) project, an opensource hardware and software green-on-brown weed detector that uses entirely off-the-shelf compon

Guy Coleman 145 Jan 05, 2023
This repository accompanies our paper “Do Prompt-Based Models Really Understand the Meaning of Their Prompts?”

This repository accompanies our paper “Do Prompt-Based Models Really Understand the Meaning of Their Prompts?” Usage To replicate our results in Secti

Albert Webson 64 Dec 11, 2022
A general, feasible, and extensible framework for classification tasks.

Pytorch Classification A general, feasible and extensible framework for 2D image classification. Features Easy to configure (model, hyperparameters) T

Eugene 26 Nov 22, 2022
PolyTrack: Tracking with Bounding Polygons

PolyTrack: Tracking with Bounding Polygons Abstract In this paper, we present a novel method called PolyTrack for fast multi-object tracking and segme

Gaspar Faure 13 Sep 15, 2022
scalingscattering

Scaling The Scattering Transform : Deep Hybrid Networks This repository contains the experiments found in the paper: https://arxiv.org/abs/1703.08961

Edouard Oyallon 78 Dec 21, 2022
[CoRL 21'] TANDEM: Tracking and Dense Mapping in Real-time using Deep Multi-view Stereo

TANDEM: Tracking and Dense Mapping in Real-time using Deep Multi-view Stereo Lukas Koestler1*    Nan Yang1,2*,†    Niclas Zeller2,3    Daniel Cremers1

TUM Computer Vision Group 744 Jan 04, 2023
Code for the ICML 2021 paper "Bridging Multi-Task Learning and Meta-Learning: Towards Efficient Training and Effective Adaptation", Haoxiang Wang, Han Zhao, Bo Li.

Bridging Multi-Task Learning and Meta-Learning Code for the ICML 2021 paper "Bridging Multi-Task Learning and Meta-Learning: Towards Efficient Trainin

AI Secure 57 Dec 15, 2022
This repo is duplication of jwyang/faster-rcnn.pytorch

Faster RCNN Pytorch This repo is duplication of jwyang/faster-rcnn.pytorch C/C++ code are removed and easier to study. Python 3.8.5 Ubuntu 20.04.1 LTS

Kim Jihwan 1 Jan 14, 2022
Evaluating saliency methods on artificial data with different background types

Evaluating saliency methods on artificial data with different background types This repository contains the relevant code for the MedNeurips 2021 subm

2 Jul 05, 2022
A package related to building quasi-fibration symmetries

qf A package related to building quasi-fibration symmetries. If you'd like to learn more about how it works, see the brief explanation and References

Paolo Boldi 1 Dec 01, 2021
Real-time Neural Representation Fusion for Robust Volumetric Mapping

NeuralBlox: Real-Time Neural Representation Fusion for Robust Volumetric Mapping Paper | Supplementary This repository contains the implementation of

ETHZ ASL 106 Dec 24, 2022
Scalable Multi-Agent Reinforcement Learning

Scalable Multi-Agent Reinforcement Learning 1. Featured algorithms: Value Function Factorization with Variable Agent Sub-Teams (VAST) [1] 2. Implement

3 Aug 02, 2022
learned_optimization: Training and evaluating learned optimizers in JAX

learned_optimization: Training and evaluating learned optimizers in JAX learned_optimization is a research codebase for training learned optimizers. I

Google 533 Dec 30, 2022
Classification of EEG data using Deep Learning

Graduation-Project Classification of EEG data using Deep Learning Epilepsy is the most common neurological disease in the world. Epilepsy occurs as a

Osman Alpaydın 5 Jun 24, 2022
MicRank is a Learning to Rank neural channel selection framework where a DNN is trained to rank microphone channels.

MicRank: Learning to Rank Microphones for Distant Speech Recognition Application Scenario Many applications nowadays envision the presence of multiple

Samuele Cornell 20 Nov 10, 2022
Improving Convolutional Networks via Attention Transfer (ICLR 2017)

Attention Transfer PyTorch code for "Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Tran

Sergey Zagoruyko 1.4k Dec 23, 2022
中文语音识别系列,读者可以借助它快速训练属于自己的中文语音识别模型,或直接使用预训练模型测试效果。

MASR中文语音识别(pytorch版) 开箱即用 自行训练 使用与训练分离(增量训练) 识别率高 说明:因为每个人电脑机器不同,而且有些安装包安装起来比较麻烦,强烈建议直接用我编译好的docker环境跑 目前docker基础环境为ubuntu-cuda10.1-cudnn7-pytorch1.6.

发送小信号 180 Dec 17, 2022
Cweqgen - The CW Equation Generator

The CW Equation Generator The cweqgen (pronouced like "Queck-Jen") package provi

2 Jan 15, 2022
Drslmarkov - Distributionally Robust Structure Learning for Discrete Pairwise Markov Networks

Distributionally Robust Structure Learning for Discrete Pairwise Markov Networks

1 Nov 24, 2022