eFraudCom: An E-commerce Fraud Detection System via Competitive Graph Neural Networks
March 17, 2022 ยท View on GitHub
Overview
This repository is PyTorch implementation of Competitive Graph Neural Network (CGNN) proposed in
"eFraudCom: An E-commerce Fraud Detection System via Competitive Graph Neural Networks".
1. Requirements
-
numpy== 1.19.5 -
torch== 1.6.0 -
scikit-learn== 0.23.2 -
scipy== 1.4.1
2. MOOC student drop-out
2.1 Data
In the dataset MOOC student drop-out, we regard students as users and actions as items;
-
action_features.mat: the attributes of edges, the last column is the labels of edges; -
bipartitie_action.mat: the bipartitie graph of students and actions; -
item_features_matrix.mat: the attrbutes of actions; -
user_features_matrix.mat: the attrbutes of students; -
edge_item_features_matrix.mat: the concatenation of attributes of edges and corresponding actions; -
edge_item_features_matrix.mat: the concatenation of attributes of edges and corresponding students.
2.2 Structure
-
MOOC student dropout/data/new_mooc.mat: the dataset which containsaction_features.matbipartitie_action.matitem_features_matrix.matuser_features_matrix.matedge_item_features_matrix.matedge_item_features_matrix.mat -
MOOC student dropout/main.py: training the model and training options; -
MOOC student dropout/model.py: CGNN implementaions; -
MOOC student dropout/preprocess.py: utils; -
MOOC student dropout/dgi.py: CGNN implementaions;
2.3 Run
To train the model, run MOOC student dropout/main.py
3. Bitcoin-Alpha
3.1 Data
Bitcoin-Alpha/data/alpha/alpha_graph_u2u.pickle: the pickled sparse adjacency matrix about users;
Bitcoin-Alpha/data/alpha/alpha_graph_u2p.pickle: the pickled sparse adjacency matrix about users and items;
Bitcoin-Alpha/data/alpha/alpha_labels.pickle: the pickled user labels.
3.2 Structure
-
Bitcoin-Alpha/aggregators.py: the convolution layers in GraphSAGE implementations; -
Bitcoin-Alpha/encoders.py: CGNN implementations; -
Bitcoin-Alpha/model.py: CGNN implementations and training the model.
3.3 Run
To train the model, run Bitcion-Alpha/model.py