1、2023.6电脑编程技巧与维护1概述运用数据挖掘技术分析信用风险,对信用卡行业甚至整个信贷市场进行有效的信用风险预测至关重要。关于信用违约预测的研究有很多,Ramakrishnan等1以某企业为研究对象进行贷款违约预测,将集成分类器与逻辑回归、决策树等单一分类器模型进行比较;Namvar等2对分类器和采样技术进行组合后应用于不平衡信贷数据集上;Daoud3分别把XGBoost(极端梯度提升)和CatBoost(梯度提升加类别型特征)模型应用在信用数据上。关于集成学习算法的研究也有很多,Dai等4提出一种基于AdaBoost(迭代算法)的迁移学习TrAdaBoost算法;Chen等5对GBDT算
2、法(梯度提升决策树)进行改进并提出XGBoost算法;陈霞6对信用预测模型中的随机森林算法、XGBoost算法、TrAdaBoost迁移学习算法进行分析,对比得出TrAdaBoost迁移学习算法模型的预测效果较为显著的结论。综合以上模型思想,拟将两种典型的集成学习算法进行融合,将集成后的模型用于解决信用违约预测问题,期望能够提高集成模型的分类精度和泛化能力,从而进一步提高对违约风险的识别率。2集成模型的构建2.1数据获取与处理选择阿里云天池数据集上公开的信用违约预测数据集。该数据来自某信贷平台的贷款记录,总数据量超过30万条,变量主要包括贷款人个人基本信息、贷款额度、债务信息几种类型。从中选取
3、20万条数据作为训练集、5万条作为测试集。接下来对数据进行缺失值处理,由于缺失数据占比不到10%,结合实际情况,有些缺失数据可能是借款本人没有填写,在此将贷款年限特征中的缺失值进行删除,对于匿名系列中的缺失数据用众数对缺失值进行填充。2.2特征衍生与筛选只有特征的缺失值超过50%以上,才能对特征进行删除,因此对所有特征变量都予以保留,先按照商业情景的需要对特征进行衍生,包括数字型和类别型的特征衍生,再将衍生的特征变量与原始的特征变量进行合并,共计149个特征变量。用随机森林对所有的特征进行特征筛选。根据随机森林中变量的重要程度按由高到低的顺序排序后,设定临界值为0.003,筛选出有效特征。按照
4、上述步骤处理后,一共筛选出51个变量。2.3数据平衡处理SMOTE过采样(合成少数类过采样)会生成噪声数据,导致模型出现过拟合;在Tomek Links欠采样(相反类样本配对)过程中一些重要样本可能会被误判删除,因此模型效果不理想。基于以上两种因素,为提高不平衡数据集中少数类的分类精度,在建立模型的过程中,先用SMOTETomek算法进行混合采样,再训练构造TrAdaBoost集成模型。具体算法步骤如下。(1)把少数类样本作为基样本,记为Xi。(2)按照knn近邻算法,从Xi的最近邻k个样本中随机采样一个样本,记为Xij,j=1,2,k,并重复采取n次。(3)将抽取的Xij按照公式(1)得到新
5、的样本,记为Yi1,在Xi和Xij之间随机插入Yi1,并重复n次,得到n个新样本,记为Yi1,Yi2,Yin。如公式(1)所示:Yi1=Xi+(Xij-Xi),0,1(1)(4)对所有的Xi重复(2)、(3)步骤,合成一个作者简介:汤晶晶(1998),硕士。基于集成 TrAdaBoost 模型的信用违约预测汤晶晶(东北大学,沈阳110819)摘要:针对目前信用卡经营中的信用风险问题,在集成学习的基础上,试图对两种算法展开融合改进,提出了基于引导聚集算法(Bagging 算法)集成迁移学习框架(TrAdaBoost)的预测模型,发挥 Bagging 与提升算法(Boosting)两种算法各自的优
6、势,提升集成模型的泛化性能与预测精度,并使用 SMOTETomek 混合采样(合成少数类过采样加相反类样本配对技术)算法平衡数据集,进而期望在信用风险预测领域开辟新途径。通过阿里云天池网上公开的信用违约数据集的实验结果表明,融合后的模型 AUC 值为0.9258,其他指标值相较于其他模型都有所提升,表明该模型对信用违约的预测效果较好。关键词:集成学习;TrAdaBoost 算法;Bagging 算法;SMOTETomek 混合采样35DOI:10.16184/prg.2023.06.0212023.6电脑编程技巧与维护正负样本数相似的数据集。(5)计算每个Yi1与其他样本之间的欧式距离,得出的
7、最近邻。(6)如果Yi1和Yi1的最近邻是不同类别,则Yi1和Yi1的最近邻构成TomekLink对,删除Tomek Link对中的多数类样本;如果这两个样本属于相同类别,则不予处理。2.4集成 TrAdaBoost 模型TrAdaBoost算法的思想是对训练集T的每个样本赋予权重,如果一个源域Tb中的样本被错误分类,就认为这个样本“难分类”,加大其权重,增加下次训练时该样本的比重;同理如果Ta中的样本被错误分类,就减少其权重,这个思想和AdaBoost算法相同。TrAd-aBoost算法的步骤如下:输入训练集Ta和Tb,合并训练集T=TaTb,未标注的测试集S,基本分类算法Learner,迭
8、代次数N。(1)初始权重向量,如公式(2)所示:(2)其中,(2)设如公式(3)所示:(3)其中,For t=1,N。(3)设pt如公式(4)所示:(4)(4)调用Learner,根据T上的权重分布pt和S,得到一个在S上的分类器ht:XY;(5)计算ht在Tb上的错误率,如公式(5)所示:(5)(6)设t如公式(6)所示:(6)(7)设新的权重向量如公式(7)所示:(7)输出最终分类器,如公式(8)所示:(8)在每次迭代过程中,若一个Ta被错误分类,则可对其进行降权处理,乘以|ht(xi)-c(xi)|,0,1。重复迭代多次后,Ta中符合Tb的数据权重会增加,不符合Tb的数据权重会降低。接下
9、来建立9个TrAdaBoost基分类器进行Bagging集成,用这9个基分类器分别对测试集进行预测,得到9个分类结果,基于Bagging的思想用投票算法对所有的分类结果投票,将取得票数多的类别作为最终的分类结果。3模型评估与对比分析3.1评价指标采用F值、G-mean值、ROC曲线和AUC值作为评价指标,验证模型效果。其中,F值、G-mean值的计算公式如公式(9)和公式(10)所示:(9)(10)公式(9)和(10)中的,。以信用违约数据为例,真正类(TP)为未违约用户且被正确预测;假负类(FN)为未违约用户但被预测为违约;假正类(FP)为违约用户但被预测为未违约;真负类(TN)为违约用户且
10、被正确预测。3.2模型对比实验均在Python语言下编程,集成开发环境在Jupyter(Python语言的一种工具)下完成。分别建立调参后的随机森林、XGBoost、未集成的TrAdaBoost模型,并将测试集上的预测结果进行对比分析,基于6个评价指标进行模型对比,证实在此构建的Bagging TrAd-aBoost模型优于其他模型。所有模型的ROC曲线图如图1所示。可以看到Bagging TrAdaBoost模型的ROC位于最左上方,AUC值为0.9258,比其他模型的AUC值都大。图1所有模型的ROC曲线图TrAdaBoost AUC=0.9183Random Forest AUC=0.9
11、077Xgboost AUC=0.9040Bagging TrAdaBoost AUC=0.9258True Positive Rate1.00.80.60.40.20.00.00.20.40.60.81.0False Positive RateReceiver Operating Characteristic(下转第40页)362023.6电脑编程技巧与维护所有模型的辅助评价指标值如表1所示。可以看到Bagging TrAdaBoost模型的辅助评价指标均优于其他模型。4结语以信用风险预测为研究背景,以阿里云公开的信用违约数据集为研究对象,着重在集成学习领域展开研究。经过数据预处理和特征工程
12、后,用SMOTETomek算法对不平衡数据集进行混合采样,构建基于Bagging的集成TrAdaBoost模型,以此建立一个有效的信用违约预测模型。此外,还将多个模型进行对比,通过对比发现该模型在信用违约预测效果上表现较好。参考文献1RAMAKRISHNAN S,MIRZAEI M,BEKRI M.Corpo-rate default prediction with adaboost and bagging clas-sifiers J.Jurnal teknologi,2015,73(2):40-43.2NAMVAR A,SIAMI M,RABHI Fetal.Credit risk pre
13、-diction in an imbalanced social lending environmentJ.ArXiv e-prints,2018:1801-1805.3DAOUD A E.Comparison between XGBoost,lightGBMand catboost using a home credit dataset J.Interna-tional journal of computer and information eEngineer-ing,2019,13(1):6-10.4DAI W,YANG Q.Boosting for Transfer Learning,P
14、roc.24th Intl Conf J.Machine Learning,2007,14(6):193-200.5CHEN T,GUESTRIN C.Xgboost:A scalable tree boost-ing system C.Proceedings of the 22nd acm sigkddintermational conference on knowledge discovery anddata mining,2016:785-794.6陈霞.信用逾期预测中不同机器学习模型对比分析J.计算机系统用,2022,31(10):382-388.模型F值G-mean值0类准确率1类准
15、确率总准确率TrAdaBoost0.87090.87620.91840.88710.9044随机森林0.86260.86650.89630.87290.8967Xgboost0.85440.85390.88920.87050.8936Bagging TrAdaBoost0.88860.88610.92950.89310.9237表1所有模型的辅助评价指标结果getImg(address+图片,crawl _ content(url)根据队列内根网页爬取num个子网页的信息def reptile _ all(num):for i in range(1,num+1):url=pop _ Link(
16、)while url=javascript:;:url=pop _ Link()print(url)try:reptile(url,i);append _ Link(crawl _ content(url)except:var=print(bcolors.FAIL+爬取+url+信息失败!+bcolors.ENDC)5产品优势(1)具有菜肴教学视频并配套文字说明(写明操作步骤和所用配料用量)。(2)根据现有的果蔬、心情和天气状况给用户推荐菜谱,每种状态至少有两份套餐可供用户选择,并且保证每日推荐菜式不一致,制作方法简单,让用户轻松上手就可吃到自己制作的美味菜肴。用户在上手制作时,可在相应菜谱语音输入简单的制作步骤,系统会根据用户的步骤做出相应的语音提醒,提高用户对制作菜肴的满意度。(3)借助网络的社交功能,把烹饪美食作为突破口,设置DIY厨房私聊功能,方便用户间的相互交流、设置客服中心,方便开发人员依据用户提供的使用建议进行不断改进、创新、完善。认真对待用户的合理建议,改善软件环境,提高服务质量。6结语了解到很多忙于事业和学业的人,没有很多时间去学习做菜,用餐大多数在食堂或者外面的饭馆