kavikumaran555/Bank_Transaction_fraud-detection-with-feature-engineering

GitHub: kavikumaran555/Bank_Transaction_fraud-detection-with-feature-engineering

基于 Spark 和随机森林的银行交易欺诈检测机器学习项目,通过客户行为分析与特征工程识别欺诈交易。

Stars: 0 | Forks: 0

# 银行欺诈检测 ML 本项目旨在使用机器学习检测欺诈交易。 我使用了银行交易数据集,并尝试找出有助于识别欺诈的模式。 ## 步骤 1:加载数据 使用 spark 将数据加载到 dataframe 中。 ![加载数据](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f597855e07163418.png) 还使用 SQL 在 Databricks 中查看了数据。 ![数据集预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8804ecde0c163423.png) ## 步骤 2:理解模式 我检查了不同的列,以查看欺诈是否存在某种模式。 一些特征显示出较弱的模式: * 年龄 * 账户类型 * 设备类型 * 交易类型 * 商户类别 * 位置 示例: ![年龄模式](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d732a2312f163428.png) ![账户类型](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/240c12bc77163434.png) ![设备类型](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0bc67afc8c163440.png) ![交易类型](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8b38bbff97163446.png) ![商户类别](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/236aef9d82163452.png) ![位置模式](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/195299bb6a163458.png) 在交易金额中存在一个中等程度的模式: ![金额模式](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7e8adba466163504.png) ## 步骤 3:特征工程 创建了新列以帮助模型更好地理解行为。 * 高金额 * 交易小时 * 夜间交易标志 * 客户交易次数 * 每位客户的平均金额 * 与平均值的差异 ![特征工程](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c036abe136163509.png) ## 步骤 4:准备数据 将特征和目标变量分开。 ![特征与目标分割](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/95904d3368163515.png) 然后创建了训练集和测试集划分并应用了模型。 ![模型训练](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/58f15e1478163521.png) ## 步骤 5:模型评估 使用了 Random Forest 模型。 准确率很高,但由于数据集不平衡,欺诈检测率较低。 ![模型结果](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2cb5eeff00163527.png) ## 结论 * 大多数特征的模式较弱 * 特征工程有助于创建更好的信号 * 模型准确率很高,但欺诈的召回率较低 * 需要更好地处理不平衡问题以改善结果 ## 未来改进 * 处理类别不平衡 * 尝试其他模型 * 改进特征工程 * 更加关注欺诈召回率
标签:Apache Spark, Apex, 多线程, 数据科学, 机器学习, 欺诈检测, 特征工程, 资源验证, 逆向工具, 金融风控