creep24/TS-GNN
GitHub: creep24/TS-GNN
本文提出 TS-GNN 模型,通过时间-语义差异建模提升信用卡欺诈检测中对抗伪装行为的能力。
Stars: 0 | Forks: 0
```markdown
此仓库提供了我们提出的模型 **TS-GNN**(Temporal-Semantic Graph Neural Network,用于信用卡欺诈检测)的匿名化实现。TS-GNN 旨在通过利用交易图中时间差异和语义差异来对抗欺诈伪装。该模型由三个核心模块组成:
* **TSDM**:时间-语义差异建模(Temporal-Semantic Discrepancy Modeling),用于量化连接节点之间的时间与语义差异。
* **DAT**:差异感知注意力机制(Discrepancy-Aware Attention Mechanism),根据差异感知边可信度分配注意力权重。
* **ARGU**:异常保留门控单元(Anomaly-Retaining Gated Unit),在保留异常模式的同时自适应更新节点状态。
我们在两个公开数据集上评估了 TSGNN:**IEEE-CIS** 和 **CreditCard**,展示了其在识别伪装成正常交易的欺诈案例方面的有效性。
## 📁 项目结构
```
.
├── models/ # Model modules: tsdm.py, dat.py, argu.py, tsgnn.py
├── data1.zip # Zipped dataset files (IEEE-CIS or CreditCard)
├── main.py # Entry point for training and evaluation
├── requirements.txt # Python dependencies
└── README.md # Project overview and instructions
```
## 📦 依赖要求
* Python >= 3.8
* PyTorch >= 2.0
* PyTorch Geometric >= 2.2
* pandas, scikit-learn, numpy
使用以下命令安装所有依赖:
```
pip install -r requirements.txt
```
## 🚀 快速开始
### 1. 解压数据集
在根目录中解压 `data1.zip`,它会自动创建 `data/` 文件夹,其中包含处理后的数据集文件:
```
unzip data1.zip
```
### 2. 验证数据内容
`data/` 目录应包含以下文件:
* `transaction.csv`:节点特征
* `label.csv`:节点标签
* `test_identity.csv`:测试集交易身份
* `train_identity.csv`:训练集交易身份
请确保目录结构如下:
```
data/
├── transaction.csv
├── label.csv
├── test_identity.csv
├── train_identity.csv
```
### 3. 训练模型
执行以下命令在特定数据集上训练 TS-GNN:
```
python main.py --dataset ieee
```
你可以自定义以下参数:
* `--layers`:GNN 层数
* `--hidden_dim`:隐藏状态维度
* `--lr`:学习率
* `--epochs`:总训练轮数
例如:
```
python main.py --dataset ieee --layers 2 --hidden_dim 64 --lr 1e-3 --epochs 200
```
```
标签:AI Security, Anomaly Detection, Apex, BSD, Credit Card Fraud, Graph Neural Network, PyTorch, PyTorch Geometric, Temporal-Semantic, Transaction Graph, 交易图, 信用欺诈检测, 凭据扫描, 图神经网络, 异常保留, 数据挖掘, 时序建模, 时间序列, 机器学习, 欺诈伪装, 欺诈识别, 注意力机制, 深度学习, 节点嵌入, 语义差异, 逆向工具, 金融风控