《Python金融数据挖掘》-课件第15章.pptx

上传人(卖家):ziliao2023 文档编号:6267440 上传时间:2023-06-20 格式:PPTX 页数:47 大小:4.84MB
下载 相关 举报
《Python金融数据挖掘》-课件第15章.pptx_第1页
第1页 / 共47页
《Python金融数据挖掘》-课件第15章.pptx_第2页
第2页 / 共47页
《Python金融数据挖掘》-课件第15章.pptx_第3页
第3页 / 共47页
《Python金融数据挖掘》-课件第15章.pptx_第4页
第4页 / 共47页
《Python金融数据挖掘》-课件第15章.pptx_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、Python金融数据挖掘 高等教育出版第十五章第十五章综合案例综合案例1 1:信用:信用卡虚假交易识别卡虚假交易识别【知识框架图】【知识框架图】基于数据挖掘算法的虚假交易鉴别业务流程目 录目 录Contents第一节第一节案例背景案例背景第二节第二节算法评价指标算法评价指标第三节第三节数据概况数据概况第四节第四节操作流程操作流程 本章本章学习目标学习目标1信用卡虚假交易识别案例背景案例背景第一节 案例背景l信用卡虚假交易是指通过不存在的、伪造变更的实体商品或者服务交易,来套取信用卡内资金的违法行为。l进行虚假交易的持卡人往往缺乏正常健康的还款能力,因此会给信用卡发行机构的资金安全带来威胁。l同

2、时,虚假交易套取的资金往往流向了限制或者禁止资金进入的领域,助长了违法犯罪活动的发生。l因此,对信用卡的虚假交易进行识别,是信用卡发行机构和各国政府执法部门密切关注的一项日常任务。l信用卡虚假交易识别,先后经历了人工甄别、规则判断和大数据人工智能识别等三个阶段。第一节 案例背景l目前,虚假交易识别已进入大数据人工智能识别阶段。该阶段借助信用卡交易大数据记录和飞速发展的数据挖掘算法,能在第一时间发现可疑的虚假交易,从而避免损失、遏制违法犯罪活动。l基于数据挖掘算法的虚假交易鉴别业务流程第一节 案例背景l第一步:是对原始业务记录数据进行清洗,得到满足算法输入要求的训练集数据。因为银行交易记录一般是

3、非常规范和完善的,因此这一步的工作往往集中对数据项进行合理地数值化。账户的基本信息和每一笔交易信息,是算法训练集的属性;而对该笔交易进行人工分析或者事后反馈的结果,则是分类标签。l第二步:是选用某种数据挖掘算法进行模型训练。l第三步:是算法参数调优。l第四步:训练好的算法模型可以用来对第四步的新交易信息进行分类预测。l第五步:算法的输出即为预测的分类结果,可以及时地判定当前新交易是否有虚假交易的可能,从而采取相应的措施。算法评价算法评价指标指标第二节 算法评价指标l要评价一个数据挖掘算法效果的好坏,必须有可以量化的评价指标。l假设有一个数据集,一共有100个样本,其中包含60个逾期还款(阳性)

4、样本,40个正常还款(阴性)样本。分类算法的目标是能够对正常和逾期还款的样本进行正确分类。假设某个分类算法将100个样本分成两类,每一类均为50个样本,其中分类到阳性逾期类别的样本中只有40个是真实的阳性逾期样本,另外10个样本属于阴性正常类别,即分类算法出现了错误分类,一方面将10个阴性样本误分为阳性,另一方面将20个阳性样本误分为阴性。第二节 算法评价指标l假设分类算法的预测类别分为阳性Positive和阴性Negative两类,预测结果的正确性用正正确(True)和错误(False)表示,则预测标签和数据真实标签之间的关系有以下四种:TP(正确预测的阳性逾期结果,即TruePositiv

5、e)、TN(正确预测的阴性正常结果,即TrueNegative)、FP(错误预测的阳性逾期结果,即FalsePositive)和FN(错误预测的阴性正常结果,即FalseNegative)。按照这种表示方法,样本的分类情况可由表 15-1表示。预测结果总计 逾期阳性正常阴性实际类别逾期阳性TP=40FN=20P=60正常阴性FP=10TN=30N=40 总计5050表 15-1 分类算法预测结果第二节 算法评价指标第二节 算法评价指标l其他用来衡量分类算法性能的指标还包括:错误率(Error Rate=1-Accracy)、灵敏度(Sensitive=TP/P)、特效度(Specificity

6、=TN/N)以及算法计算速度、可扩展性、鲁棒性(算法处理异常值和缺失值的能力)和可解释性等。混淆矩阵混淆矩阵l在Python数据挖掘的应用中,很多算法训练后将得到表 15-1的结果报告,称之为混淆矩阵(Confusion Matrix),进而计算得到上面提到的衡量指标。第二节 算法评价指标算法训练、测试与算法训练、测试与评估评估l很多数据挖掘算法会将AUC的值和混淆矩阵一起输出,便于使用者对算法的分类效果进行评估。图 15-3 算法训练、测试与评估第二节 算法评价指标l图 15-3描述了算法训练、测试与评估的主要过程。首先将原始数据拆分成训练集和测试集。l训练集用于数据挖掘算法模型的学习,从而

7、得到模型的各项参数(即知识)。l测试集用于检验模型的分类效果,即将测试样本集输入到模型中,查看模型的输出是否与实际相符。l通过对预测分类结果和实际样本标签进行比较,就得到算法的评估情况。第二节 算法评价指标l在开展数据挖掘业务的过程中,模型接收的一般是一个静态数据集。l比方说我们的数据集是银行个人贷款的资料,其中包含了客户的个人信用信息、账户流水信息、以及客户是否逾期还款信息(即分类标签)。l这个数据集通常会分为两部分:训练集和测试集。l训练集可能占据整个数据集的8090%,用来训练数据挖掘模型。l模型训练完后,使用测试集检验模型的分类预测情况,得到一个分类结果(不会逾期/会逾期)。l这个预测

8、结果和测试集里的实际结果进行对比,就是表 15-1混淆矩阵中TP、FN、FP、TN数据。数据概况数据概况第三节 数据概况数据说明数据说明lKaggle网址:https:/。第三节 数据概况l数据文件来自一个欧洲的信用卡发卡机构,记录了2013年9月中某两天的信用卡刷卡活动。l数据下载地址:https:/ 数据概况数据说明数据说明l经过事后分析判断,在数据文件记录的284807次交易行为中,有492次虚假交易行为。l因为涉及到商业秘密和客户隐私,数据文件是原始记录经过主成分分析法PCA(从较多维度数据中提取出有价值的较少维度的数据,从而降低数据挖掘算法的计算难度)以后提取出来的。l一共有2848

9、07条记录,每条记录对应一次交易的持卡人信息或者交易信息。l每条记录由28个字段,用V1,V2V28表示,除了交易时间和交易金额是原始数据之外,其他字段都经过了转换。“Class”属性取1,则表示是一个虚假交易;0则表示是正常交易。操作流程操作流程第四节 操作流程一、数据一、数据清洗与清洗与因素分析因素分析l首先,准备好所需的Python工具包:NumPy、Pandas和Matplotlib等三个基础包;支持数据挖掘算法还的Sklearn包;用于统计数据可视化的seaborn包等。下列代码主要用于加载程序中要用到的工具包。第四节 操作流程l对于实际的大数据处理和数据挖掘应用案例来说,数据准备阶

10、段占据的比重很大,也非常重要。下列代码主要用来读取数据,并展示数据的基本情况。读入交易数据,显示数据概况:第四节 操作流程l输出:图 15-4 正常交易与欺诈交易饼图可以看出,原始数据包括Time,V1,V2V28,Amount,Class等列,共有284807行,没有缺失值。如果按照Class的取值分类绘制饼图,可以发现正常交易占了绝大多数比重。按照原始数据文件说明,虚假交易的比例是492/284807=0.1727%。第四节 操作流程l接下来提出几个猜想,例如虚假交易是否和交易金融有关?是否和交易时间有关?然后验证这些猜想。第四节 操作流程l输出结果:图 15-5 交易量与时间的关系第四节

11、 操作流程l真实/欺诈交易与交易金额的关系第四节 操作流程l输出结果:图 15-6 交易量与金额的关系从图 15-5和图 15-6来看,虚假交易和正常交易在交易时间和交易金额这两个维度上都没有表现出明显的不一致。也就意味从交易时间和交易金额上不能有效区分虚假和真实交易。第四节 操作流程l接下来对V1-V28个属性进行逐个验证,看看在哪一个属性上,虚假交易和真实交易有比较明显的区别。第四节 操作流程l输出:正常/欺诈交易在各属性下的分布关系图 15-7 可以看到,在属性V14上,虚假交易和正常交易的分布区分比较明显;而在属性V15上,虚假交易和正常交易是叠加在一起的,很难区分。如果要做进一步的相

12、关性分析的话,V14和V15会有截然不同的结论。第四节 操作流程l很明显,如果只选取部分属性作为欺诈交易监测的目标,那么应该重点关注像V14这样的属性。因为在这个属性上,正常交易和欺诈交易有明显的差异。在实际应用中,是否要进行属性选择,取决于业务特征、数据规模、运算资源、决策时效等因素。本案例后续的分析中,选择了全部属性参与模型训练。l接下来使用该数据集来训练Sklearn内置的逻辑回归、随机森林和支持向量机等三种算法模型。第四节 操作流程二、模型训练二、模型训练l首先要将数据集分成训练集和测试集。第四节 操作流程l将70%的数据作为训练集,30%作为测试集数据,也可以按照75%-25%分拆。

13、l使用数据集依次对三种算法进行训练与测试。需要强调的是:每次运行的最终结果可能会有一些微小的差异,这主要是由样本的随机抽样结果和算法本身的数学特性导致的。第四节 操作流程1.逻辑逻辑回归回归方法方法第四节 操作流程l输出结果:从逻辑回归的结果来看,在85443个测试样本中,有85283个正常交易样本被识别,84个虚假交易样本被识别。但是,也有12个正常样本被错误标识成虚假交易,而64个虚假交易样本被错误标识成正常。第四节 操作流程2.随机随机森林森林算法算法l以决策树为基础,随机森林算法将多棵树集成为一片森林:每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会

14、有N个分类结果。l而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出。l因为随机森林算法是一个统计投票结果,因此那些随机扰动产生的错误会在很大程度上被缓解,其结果会更加稳定,准确率也比较高。Scikit中已经集成了随机森林算法,可以直接调用。第四节 操作流程l随机森林算法程序如下:第四节 操作流程l输出结果:第四节 操作流程3.支持支持向量机向量机算法算法第四节 操作流程l输出结果:从支持向量机的结果来看,在85443个测试样本中,有85163个正常交易样本被识别,只有10个虚假交易样本被识别。有132个正常样本被错误标识成虚假,而138个虚假样本被错误标识成正常。第四节

15、 操作流程l在这个案例中,预测效果最好的是随机森林模型;运行速度最快的是逻辑回归;l而支持向量机的表现比较差,大部分的虚假交易样本都没有被检测出来,同时算法标识的虚假交易中有很多被错误标识的正常交易。l可见,在真实的案例中,并不是数学理论复杂的方法一定会有好的效果。l本例的三个分类算法中,随机森林算法相对较简单,但在预测效果和执行速度上,都取得了更好的结果。第四节 操作流程三、模型应用三、模型应用l模型训练好以后,就可以使用模型进行预测了。从x_test测试集中随机抽取一条记录,考察用三种训练好的模型对它进行正常/欺诈交易分类的结果。第四节 操作流程l输出结果:明显地,对于输入的这样一组由V1

16、,V2V28项数据构成的一个样本,三个模型都给出相同的结果0,也就意味着这是一个真实的信用卡交易。请注意,因为x_test测试集由随机抽取产生,所以每次运行取第10条得到的new_input很可能是不同的,当然,测试结果也会有差异。本章小结本章小结l早期鉴别虚假交易主要依靠人工甄别:信用卡交易结束后,收单行人工将刷卡凭证传递到发卡行,发卡行根据凭证进行资金清算,在资金清算过程中甄别虚假交易。人工甄别虚假交易具有时间滞后和易遗漏等不足。l随着计算机和网络通信技术的发展,虚假交易识别进入了规则判断阶段:联网的POS机实时将交易数据传递到发卡行或者信用卡发行机构的服务器上,由程序根据事先总结出来的经验规则对于异常的刷卡地点、时间、金额、频率进行判断,从而在交易中实时发现可能的虚假交易。l目前,虚假交易识别已进入大数据人工智能识别阶段。该阶段借助信用卡交易大数据记录和飞速发展的数据挖掘算法,能在第一时间发现可疑的虚假交易,从而避免损失、遏制违法犯罪活动。重要概念重要概念1.信用卡虚假交易2.虚假交易鉴别业务流程3.人工甄别4.规则判断5.大数据人工智能识别复习思考题复习思考题1.自己上kaggle网网站:https:/ 下节课见下节课见

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《Python金融数据挖掘》-课件第15章.pptx)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|