ksumanthreddy/Fraud-Detection-in-Transaction-Graphs-using-GNNs-and-Graph-Heuristics
GitHub: ksumanthreddy/Fraud-Detection-in-Transaction-Graphs-using-GNNs-and-Graph-Heuristics
一个结合图神经网络与图启发式、机器学习集成的交易图欺诈检测系统,解决高度不平衡图数据中精准识别欺诈账户的问题。
Stars: 0 | Forks: 0
# 使用 GNN + 图启发式算法进行交易图欺诈检测
本项目结合图神经网络(GNN)与经典图算法,检测区块链网络中的欺诈交易。
交易被建模为图结构:
节点 → 交易
边 → 资金转账
系统集成:
深度学习(GCN)用于关系模式学习
图启发式算法 + 机器学习(XGBoost / 随机森林)用于从不同图算法中提取的结构洞察
通过以下方法构建健壮的欺诈检测系统:
* 图论(DFS、BFS、强连通分量、PageRank、聚类系数、度)
* 机器学习
* 深度学习(GNN)
## 数据集
**Elliptic 比特币交易数据集**
* `elliptic_txs_classes.csv` → 标签
* `1` = 非法(欺诈)
* `2` = 合法
* `-1` = 未知
* `elliptic_txs_features.csv` → 165 个特征 + 时间步
* `elliptic_txs_edgelist.csv` → 交易图
总交易数:203,769
## 探索性数据分析
* 严重的类别不平衡(欺诈案例极少)
* 基于时间的时间序交易趋势
* 使用 NetworkX 进行图可视化
## 图特征工程
我们使用经典算法生成了 **13 个基于图的特征**:
### 🔹 度特征
* 入度 → 资金聚合
* 出度 → 资金分散
### 🔹 强连通分量(Kosaraju)
* 检测环 → 潜在的欺诈模式
### 🔹 拓扑深度(Kahn 算法)
* 衡量在交易链中的位置
### 🔹 PageRank
* 识别有影响力的交易
### 🔹 聚类系数
* 检测密集的欺诈社区
### 🔹 模体特征
* 链分值
* 入星 / 出星
* 三角形模式
### 🔹 BFS / DFS 得分
* BFS → 多路径连通性
* DFS → 环密集行为
## 所用模型
### 1️⃣ 随机森林
* 准确率:**~83%**
* AUC:**0.85**
* 可解释性强
### 2️⃣ XGBoost
* 准确率:**~82%**
* AUC:**0.90**
* 欺诈召回率更高
### 3️⃣ 图神经网络(GNN)
**架构:**
GCNConv → ReLU → GCNConv → ReLU → Linear
* 准确率:**96%+**
* AUC:**0.95**
* 有效捕捉图结构
## 混合模型(主要贡献)
最终预测结合了 GCN 与 XGBoost:
P_final = α · P_GCN + (1 − α) · P_XGB
* 最佳性能出现在:**α = 0.5**
## 最终结果
| 模型 | 准确率 | 精确率 | 召回率 | F1 分数 | AUC |
| ------------- | --------- | --------- | --------- | --------- | --------- |
| 随机森林 | 0.83 | 0.34 | 0.68 | 0.45 | 0.85 |
| XGBoost | 0.82 | 0.34 | 0.82 | 0.48 | 0.90 |
| GCN | 0.96 | 0.80 | 0.78 | 0.79 | 0.95 |
| **集成模型** | **0.966** | **0.809** | **0.856** | **0.832** | **0.978** |
集成模型显著提升了性能
## 评估指标
* 准确率
* 精确率 / 召回率
* F1 分数
* 混淆矩阵
* ROC 曲线
* 精确率-召回率曲线
## 项目结构
```
├── data/ # (not included)
├── output_data/
├── models/
├── eda.py
├── heuristics.py
├── random_forest.py
├── xgboost_model.py
├── gnn_model.py
├── ensemble.py
├── evaluation.py
└── README.md
```
## 如何运行
### 1. 安装依赖
```
pip install -r requirements.txt
```
### 2. 运行管道
```
python eda.py
python heuristics.py
python random_forest.py
python xgboost_model.py
python gnn_model.py
python ensemble.py
python evaluation.py
```
## 关键洞察
* 图结构对欺诈检测至关重要
* 启发式特征提升可解释性
* GNN 捕捉深层关系模式
* 集成模型实现最佳性能
标签:Apex, BFS, DFS, GCN, GNN, PageRank, XGBoost, 三角形模式, 云计算, 交易图, 凭据扫描, 动机特征, 区块链交易, 可疑账户识别, 图卷积网络, 图启发式, 图特征工程, 图神经网络, 图算法, 度中心性, 异常检测, 强连通分量, 时间序列图, 星型模式, 机器学习, 椭圆数据集, 欺诈检测, 比特币交易, 深度学习, 混合模型, 特权检测, 系统分析, 网络分析, 聚类系数, 规则引擎, 逆向工具, 链分, 随机森林