Cross Domain Recommendation via Bi-directional Transfer Graph Collaborative Filtering Networks

Overview

Bi-TGCF

Tensorflow Implementation of BiTGCF: Cross Domain Recommendation via Bi-directional Transfer Graph Collaborative Filtering Networks. in CIKM2020

DATASET

Download .csv file (rating only) from Amazon. The information about elec and Cell datasets in the paper were wrong. The first pair of datasets used in my paper is given here. The rest of the datasets are correct.

RUN

python main.py --dataset=electronic_cell --n_interaction=3 --lambda_s=0.8 --lambda_t=0.8
You might also like...
Bert4rec for news Recommendation

News-Recommendation-system-using-Bert4Rec-model Bert4rec for news Recommendation

Graph Neural Networks for Recommender Systems

This repository contains code to train and test GNN models for recommendation, mainly using the Deep Graph Library (DGL).

E-Commerce recommender demo with real-time data and a graph database
E-Commerce recommender demo with real-time data and a graph database

🔍 E-Commerce recommender demo 🔍 This is a simple stream setup that uses Memgraph to ingest real-time data from a simulated online store. Data is str

The implement of papar
The implement of papar "Enhanced Graph Learning for Collaborative Filtering via Mutual Information Maximization"

SIGIR2021-EGLN The implement of paper "Enhanced Graph Learning for Collaborative Filtering via Mutual Information Maximization" Neural graph based Col

PyTorch implementations of Top-N recommendation, collaborative filtering recommenders.

PyTorch implementations of Top-N recommendation, collaborative filtering recommenders.

Recommendationsystem - Movie-recommendation - matrixfactorization colloborative filtering recommendation system user
Recommendationsystem - Movie-recommendation - matrixfactorization colloborative filtering recommendation system user

recommendationsystem matrixfactorization colloborative filtering recommendation

Personalized Transfer of User Preferences for Cross-domain Recommendation (PTUPCDR)

This is the official implementation of our paper Personalized Transfer of User Preferences for Cross-domain Recommendation (PTUPCDR), which has been accepted by WSDM2022.

Implementation for
Implementation for "Domain-Specific Bias Filtering for Single Labeled Domain Generalization"

DSBF Introduction This repository contains the implementation code for paper: Domain-Specific Bias Filtering for Single Labeled Domain Generalization

Fast Python Collaborative Filtering for Implicit Feedback Datasets

Implicit Fast Python Collaborative Filtering for Implicit Datasets. This project provides fast Python implementations of several different popular rec

LT-OCF: Learnable-Time ODE-based Collaborative Filtering, CIKM'21
LT-OCF: Learnable-Time ODE-based Collaborative Filtering, CIKM'21

LT-OCF: Learnable-Time ODE-based Collaborative Filtering Our proposed LT-OCF Our proposed dual co-evolving ODE Setup Python environment for LT-OCF Ins

This project consists of a collaborative filtering algorithm to predict movie reviews ratings from a dataset of Netflix ratings.
This project consists of a collaborative filtering algorithm to predict movie reviews ratings from a dataset of Netflix ratings.

Collaborative Filtering - Netflix movie reviews Description This project consists of a collaborative filtering algorithm to predict movie reviews rati

Book Item Based Collaborative Filtering

Book-Item-Based-Collaborative-Filtering Collaborative filtering methods are used

Filtering user-generated video content(SberZvukTechDays)Filtering user-generated video content(SberZvukTechDays)
Filtering user-generated video content(SberZvukTechDays)Filtering user-generated video content(SberZvukTechDays)

Filtering user-generated video content(SberZvukTechDays) Table of contents General info Team members Technologies Setup Result General info This is a

code for our paper "Source Data-absent Unsupervised Domain Adaptation through Hypothesis Transfer and Labeling Transfer"

SHOT++ Code for our TPAMI submission "Source Data-absent Unsupervised Domain Adaptation through Hypothesis Transfer and Labeling Transfer" that is ext

Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib).

Crab - A Recommendation Engine library for Python Crab is a flexible, fast recommender engine for Python that integrates classic information filtering r

Code for CVPR2021 "Visualizing Adapted Knowledge in Domain Transfer". Visualization for domain adaptation. #explainable-ai

Visualizing Adapted Knowledge in Domain Transfer @inproceedings{hou2021visualizing, title={Visualizing Adapted Knowledge in Domain Transfer}, auth

Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CVPR 2021)
Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CVPR 2021)

Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CAC) Xin Lai*, Zhuotao Tian*, Li Jiang, Shu Liu, Hengshuang Zhao, Li

Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CVPR 2021)
Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CVPR 2021)

Semi-supervised Semantic Segmentation with Directional Context-aware Consistency (CAC) Xin Lai*, Zhuotao Tian*, Li Jiang, Shu Liu, Hengshuang Zhao, Li

Forecasting directional movements of stock prices for intraday trading using LSTM and random forest
Forecasting directional movements of stock prices for intraday trading using LSTM and random forest

Forecasting directional movements of stock-prices for intraday trading using LSTM and random-forest https://arxiv.org/abs/2004.10178 Pushpendu Ghosh,

Comments
  • there some positive item in negative sample test file

    there some positive item in negative sample test file

    like Data/cell_electronic/test_neg.txt (106, 4600) 17037 11407 4007 10178 10584 4040 99 3451 2321 14557 16163 2996 12846 18027 3805 7551 15982 4600 3723 5667 7757 5627 14929 10718 297 17987 10634 11107 15151 10266 3594 16745 6374 12093 6135 9844 33 11378 13414 7902 17912 7149 8087 7470 9711 4958 1365 17630 2614 5350 8084 16607 10717 3411 17361 285 8716 12207 8854 6255 236 4583 4104 9766 8293 17180 2031 11024 9030 11069 6409 733 8985 12556 1087 4484 15439 8946 13347 6392 751 3492 310 11914 517 1559 10802 11511 7805 12077 9566 15255 14444 14277 14666 15099 85 13681 9042

    opened by saladcat 18
  • this code is not consistent with paper

    this code is not consistent with paper

            for k in range(0, self.n_layers):
                if self.layer_fun == 'gcf':
                    ego_embeddings_s = one_graph_layer_gcf(A_fold_hat_s, ego_embeddings_s, weights_s, k)
                    ego_embeddings_t = one_graph_layer_gcf(A_fold_hat_t, ego_embeddings_t, weights_t, k)
                if k >= self.n_layers - self.n_interaction and self.n_interaction > 0:
                    if self.fuse_type_in == 'la2add':
                        ego_embeddings_s, ego_embeddings_t = self.s_t_la2add_layer(ego_embeddings_s, ego_embeddings_t,
                                                                                   self.lambda_s, self.lambda_t,
                                                                                   self.domain_laplace)
    
                norm_embeddings_s = tf.math.l2_normalize(ego_embeddings_s, axis=1)
                norm_embeddings_t = tf.math.l2_normalize(ego_embeddings_t, axis=1)
    
                if self.connect_way == 'concat':
                    all_embeddings_s += [norm_embeddings_s]
                    all_embeddings_t += [norm_embeddings_t]
                elif self.connect_way == 'mean':
                    all_embeddings_s += norm_embeddings_s
                    all_embeddings_t += norm_embeddings_t
            if self.connect_way == 'concat':
                all_embeddings_s = tf.concat(all_embeddings_s, 1)
                all_embeddings_t = tf.concat(all_embeddings_t, 1)
            elif self.connect_way == 'mean':
                all_embeddings_s = all_embeddings_s / (self.n_layers + 1)
                all_embeddings_t = all_embeddings_t / (self.n_layers + 1)
    

    where

                norm_embeddings_s = tf.math.l2_normalize(ego_embeddings_s, axis=1)
                norm_embeddings_t = tf.math.l2_normalize(ego_embeddings_t, axis=1)
                if self.connect_way == 'concat':
                    all_embeddings_s += [norm_embeddings_s]
                    all_embeddings_t += [norm_embeddings_t]
                elif self.connect_way == 'mean':
                    all_embeddings_s += norm_embeddings_s
                    all_embeddings_t += norm_embeddings_t
    

    why you add norm_embedding to all_embeddings_s? this code is not consistent with paper !!!

    opened by saladcat 6
  • re-run the code you posted and found that it is not as high as reported in the paper, there is some details I missed?

    re-run the code you posted and found that it is not as high as reported in the paper, there is some details I missed?

    I re-run code as follow

    CUDA_VISIBLE_DEVICES=0 python main.py --dataset=electronic_cell --n_interaction=3 --lambda_s=0.8 --lambda_t=0.8
    CUDA_VISIBLE_DEVICES=1 python main.py --dataset=sport_cloth --n_interaction=3 --lambda_s=0.8 --lambda_t=0.8
    CUDA_VISIBLE_DEVICES=2 python main.py --dataset=sport_cell --n_interaction=3 --lambda_s=0.8 --lambda_t=0.8
    CUDA_VISIBLE_DEVICES=3 python main.py --dataset=electronic_cloth --n_interaction=3 --lambda_s=0.8 --lambda_t=0.8
    

    and dataset generated by run filter_data.py and split_data but I get thus a result image image

    did I have missed sth?

    opened by saladcat 4
  • how generate cell_electronic dataset

    how generate cell_electronic dataset

    I try to use filter_data.py and split_data.py to generate cell_electronic dataset by origin amazon rating file but there are 20447 user, which is different from you git repo ./Data. How can I reproduce this dataset?

    opened by saladcat 0
Owner
null
Collaborative variational bandwidth auto-encoder (VBAE) for recommender systems.

Collaborative Variational Bandwidth Auto-encoder The codes are associated with the following paper: Collaborative Variational Bandwidth Auto-encoder f

Yaochen Zhu 14 Dec 11, 2022
A Python implementation of LightFM, a hybrid recommendation algorithm.

LightFM Build status Linux OSX (OpenMP disabled) Windows (OpenMP disabled) LightFM is a Python implementation of a number of popular recommendation al

Lyst 4.2k Jan 2, 2023
A TensorFlow recommendation algorithm and framework in Python.

TensorRec A TensorFlow recommendation algorithm and framework in Python. NOTE: TensorRec is not under active development TensorRec will not be receivi

James Kirk 1.2k Jan 4, 2023
Persine is an automated tool to study and reverse-engineer algorithmic recommendation systems.

Persine, the Persona Engine Persine is an automated tool to study and reverse-engineer algorithmic recommendation systems. It has a simple interface a

Jonathan Soma 87 Nov 29, 2022
ToR[e]cSys is a PyTorch Framework to implement recommendation system algorithms

ToR[e]cSys is a PyTorch Framework to implement recommendation system algorithms, including but not limited to click-through-rate (CTR) prediction, learning-to-ranking (LTR), and Matrix/Tensor Embedding. The project objective is to develop a ecosystem to experiment, share, reproduce, and deploy in real world in a smooth and easy way (Hope it can be done).

LI, Wai Yin 90 Oct 8, 2022
A framework for large scale recommendation algorithms.

A framework for large scale recommendation algorithms.

Alibaba Group - PAI 880 Jan 3, 2023
Recommendation System to recommend top books from the dataset

recommendersystem Recommendation System to recommend top books from the dataset Introduction The recom.py is the main program code. The dataset is als

Vishal karur 1 Nov 15, 2021
An open source movie recommendation WebApp build by movie buffs and mathematicians that uses cosine similarity on the backend.

Movie Pundit Find your next flick by asking the (almost) all-knowing Movie Pundit Jump to Project Source » View Demo · Report Bug · Request Feature Ta

Kapil Pramod Deshmukh 8 May 28, 2022
Implementation of a hadoop based movie recommendation system

Implementation-of-a-hadoop-based-movie-recommendation-system 通过编写代码,设计一个基于Hadoop的电影推荐系统,通过此推荐系统的编写,掌握在Hadoop平台上的文件操作,数据处理的技能。windows 10 hadoop 2.8.3 p

汝聪(Ricardo) 5 Oct 2, 2022
Books Recommendation With Python

Books-Recommendation Business Problem During the last few decades, with the rise

Çağrı Karadeniz 7 Mar 12, 2022