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, 三角形模式, 云计算, 交易图, 凭据扫描, 动机特征, 区块链交易, 可疑账户识别, 图卷积网络, 图启发式, 图特征工程, 图神经网络, 图算法, 度中心性, 异常检测, 强连通分量, 时间序列图, 星型模式, 机器学习, 椭圆数据集, 欺诈检测, 比特币交易, 深度学习, 混合模型, 特权检测, 系统分析, 网络分析, 聚类系数, 规则引擎, 逆向工具, 链分, 随机森林