机器学习中的信用卡欺诈检测2025年3月17日 | 阅读 7 分钟 信用卡欺诈是指有人在不知情的情况下,使用他人的信用卡进行金融交易。信用卡是为了帮助消费者提高购买力而创建的;它们是与银行达成的协议,允许用户在偿还银行贷款时花费银行提供的资金,否则将产生利息费用。 随着电子商务的出现以及在新冠大流行期间 OTT 平台的蓬勃发展,信用卡以及其他支付方式的使用量急剧增加。由于自然界中的一切都是二元的,信用卡诈骗的数量也显著增加。这些盗窃行为每年给全球经济造成超过 240 亿美元的损失。因此,解决这个问题变得至关重要,并且在该价值 300 亿美元的市场中涌现了许多公司。因此,需要为如此不断增长的问题创建自动化模型,而机器学习是关键! 现在我们将尝试对信用卡交易是欺诈性还是真实性进行分类,并处理不平衡的数据集。 数据集属性
代码 导入库读取数据集![]() ![]() 输出 ![]() 输出 ![]() 输出 ![]() 输出 ![]() 输出 ![]()
数据可视化我们现在将可视化我们的数据。 目标变量可视化(Class)输出 ![]()
特征选择我们需要从数据集中选择某些特征。 相关矩阵输出 ![]()
输出 ![]()
ANOVA 检验输出 ![]()
输出 ![]() 输出 ![]() 数据平衡处理不平衡数据有两种选择
为了获得最佳结果,我们将结合使用欠采样和过采样。 我们将首先对多数类样本进行欠采样,然后对少数类样本进行过采样。 为了数据平衡,我们将使用 imblearn。 输出 ![]() 输出 ![]() 数据平衡计算
在这种情况下,
欠采样:减少多数类样本
过采样:增加少数类样本。
过采样后,
最终类样本
为了考虑预测中的潜在偏差,我们复制了不平衡数据集中的数据。由于此复制过程,我们使用合成数据进行建模,以确保预测不会偏向多数目标类值。 因此,仅根据准确率对模型进行评分将是具有欺骗性的。相反,我们将使用混淆矩阵、ROC-AUC 图和 ROC-AUC 分数来评估模型。 建模现在,我们将研究各种机器学习模型。 1. 逻辑回归输出 ![]() 输出 ![]() 2. SVM输出 ![]() 输出 ![]() 3. DTC输出 ![]() 输出 ![]() 4. RFC输出 ![]() 输出 ![]() 5. KNN输出 ![]() 输出 ![]() 结果表格基于相关性图的模型
基于 ANOVA 分数模型
特征是隐藏的,并且由于对问题的领域知识无法支持特征选择。统计检验在选择建模特征方面至关重要。 由于数据已通过 SMOTE 分析进行平衡,因此在这些合成数据上训练的模型无法通过准确率进行测试。因此,我们使用交叉验证分数和 ROC-AUC 分数来评估我们的模型。 下一主题KL 散度 |
我们请求您订阅我们的新闻通讯以获取最新更新。