随着科技的发展,金融领域的数据量呈现爆炸式增长,而其中隐藏的风险也日益增多。为了更好地识别和预防这些风险,兴业银行与英特尔合作,探索如何利用先进的人工智能技术来构建和完善监测机制,以便及时发现异常账户和可疑交易。这不仅是金融安全的需要,也是对广大客户财产安全的负责。来自兴业银行的数金之光团队本次带来题为《基于机器学习的欺诈风险识别》的建模方案基于Intel®oneAPI工具进行数据预处理和建模分析。该方法既高效又精确,并在竞赛中获得了三等奖的佳绩。
本次由来自兴业银行的数金之光团队的罗柏荣、周杰分享的方案内容是基于机器学习的欺诈风险识别。包括构建和完善符合电信网络诈骗特征的异常账户和可疑交易的监测机制。展示数据仓库应用研发团队如何基于Intel®oneAPI工具进行数据预处理和建模分析,以构建涉赌涉诈账户算法识别模型,助力排查存量风险。
建模方案和特征工程
建模方案主要使用了三个oneAPI工具包,包括Modin、scikit-learn的英特尔扩展版和XGBoost。其中,Modin主要用于数据读取和加工;scikit-learn的英特尔扩展版则用于数据加工和建模准备,涵盖标签编码和数据集划分等功能;XGBoost是数据科学竞赛中的重要工具,可用于分类、回归和排序等任务。
建模流程包括六个部分:
1.使用Modin读取用户静态信息表、交易流水信息表和涉诈名单表;
2.按照75:25的比例划分训练集和测试集;
3.数据预处理,对文本数据进行独特编码,对流水信息进行格式转换;
4.特征工程,根据业务场景对交易时间、金额和频率等进行精细化加工;
5.使用XGBOOST分类器进行训练,采用5折交叉验证进行预测;
6.模型评估。
特征工程上,对交易方账号、交易渠道等信息进行详细计算,并对交易金额进行均值、标准差等统计。还考虑了交易时间的一阶差分等特征,并根据前期的数据探索发现的异常交易信息进行特征化。
处理大数据集是一大挑战。幸运的是,Intel®oneAPI工具Modin可以大大加速数据加工过程。
模型的训练和预测
因为需要更加经济有效地利用现有的数据,模型采用了5折交叉训练。将训练集中的15,450条训练数据划分为5个部分。每次取其中一部分作为测试数据,而剩下的4部分作为训练数据。重复上述过程5次,最终建立5个模型,每个模型都输出预测的概率结果。采用平权的方法对这5个预测概率进行融合,从而得到最终的预测概率结果。
在实际业务场景中,需要的是二分类标签,而模型输出的是概率值。因此,需要确定一个合适的阈值来转化为二分类标签。为了确定阈值,通过对5折交叉训练后的验证数据进行回测,从而得到一部分训练数据的袋外概率值。将这5份验证数据合并,得到整个训练数据的袋外概率值。基于这些袋外概率值和二分类标签进行预知搜索,最终确定了达到最佳F1分数的分割阈值。应用阈值到测试数据上,得到测试数据的二分类标签。
在模型训练层面,为了提高效率,使用了基于角色数的XGB和LGB模型。从训练时间上看,XGB和LGB并没有太大的差异。但在模型精度上,单折的XGB模型表现得比单折的LGB模型更好,因此,最终选择了XGB作为分类模型。5折交叉的XGB比单折XGB效果更佳。在5,150条测试数据上,5折XGB的F1分数高达97.99%,完全符合实际业务的精度要求。
总结
从数据中,可以看到,在经过Intel®oneAPI以及Modin的优化后,数据的读取和处理时间减少了大约30秒,效率提高了20.68%。同时,模型能够在3分26秒内完成15,450条数据的5折交叉训练,并在测试中达到了97.99%的F1分数,这实现了训练速度和精度的完美结合。当面对更大批量的数据处理和模型训练时,这套工具能够提供更为显著的效率提升,并保证模型的稳定性。