AdilMalook/Credit-Card-Fraud-Detection-Using-Machine-Learning
GitHub: AdilMalook/Credit-Card-Fraud-Detection-Using-Machine-Learning
基于机器学习的信用卡欺诈检测端到端项目,通过对比五种分类算法在高度不平衡数据上的表现来识别欺诈交易。
Stars: 0 | Forks: 0
任务 07 — 使用机器学习进行信用卡欺诈检测
1.数据集
- 10,000 笔信用卡交易 | 特征:金额 (amount)、交易小时 (transaction_hour)、商户类别 (merchant_category)、境外交易 (foreign_transaction)、位置不匹配 (location_mismatch)、设备信任得分 (device_trust_score)、过去 24 小时频次 (velocity_last_24h)、持卡人年龄 (cardholder_age)
- 目标:is_fraud (1 = 欺诈,0 = 正常)
- 类别不平衡:1.51% 欺诈 | 98.49% 正常
2. 训练的模型(共 5 个)
i. Logistic Regression
ii. Decision Tree
iii. Random Forest
iv. K-Nearest Neighbors (KNN)
v. XGBoost(额外增强)
3. 关键技术
- SMOTE:合成少数类过采样以平衡类别
- StandardScaler:针对基于距离的模型进行特征缩放
- Label Encoding:将 merchant_category 转换为数值
- 评估:Accuracy、Precision、Recall、F1-Score、ROC-AUC、混淆矩阵 (Confusion Matrix)
4.
- 将 XGBoost 作为第 5 个模型(总体性能最佳)
- 在一张图表上对比所有 5 个模型的 ROC-AUC 曲线
- 特征重要性分析(Random Forest)
5. 结果
- 最佳模型:XGBoost(F1-Score 和 ROC-AUC 最高)
- 关键欺诈信号:location_mismatch、foreign_transaction、device_trust_score
6. 生成的可视化图表
7. 类别分布(饼图 + 柱状图)
8. 欺诈与正常的金额分布
9. 按商户类别的欺诈率
10. 按交易小时的欺诈率
11. 特征相关性热力图
12. 风险因素:境外、位置不匹配、设备信任度
13. 模型性能比较(所有指标)
14. 混淆矩阵(所有 5 个模型)
15. ROC-AUC 曲线(所有 5 个模型)
16. 特征重要性(Random Forest)
作者:Adil Malook
标签:Apex, XGBoost, 分类模型, 数据科学, 机器学习, 欺诈检测, 资源验证, 逆向工具, 金融风控