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 中。

还使用 SQL 在 Databricks 中查看了数据。

## 步骤 2:理解模式
我检查了不同的列,以查看欺诈是否存在某种模式。
一些特征显示出较弱的模式:
* 年龄
* 账户类型
* 设备类型
* 交易类型
* 商户类别
* 位置
示例:






在交易金额中存在一个中等程度的模式:

## 步骤 3:特征工程
创建了新列以帮助模型更好地理解行为。
* 高金额
* 交易小时
* 夜间交易标志
* 客户交易次数
* 每位客户的平均金额
* 与平均值的差异

## 步骤 4:准备数据
将特征和目标变量分开。

然后创建了训练集和测试集划分并应用了模型。

## 步骤 5:模型评估
使用了 Random Forest 模型。
准确率很高,但由于数据集不平衡,欺诈检测率较低。

## 结论
* 大多数特征的模式较弱
* 特征工程有助于创建更好的信号
* 模型准确率很高,但欺诈的召回率较低
* 需要更好地处理不平衡问题以改善结果
## 未来改进
* 处理类别不平衡
* 尝试其他模型
* 改进特征工程
* 更加关注欺诈召回率
标签:Apache Spark, Apex, 多线程, 数据科学, 机器学习, 欺诈检测, 特征工程, 资源验证, 逆向工具, 金融风控