【数据挖掘】基于SPSS Modeler实现商业银行信用卡贷款风险识别
基于SPSS Modeler实现商业银行信用卡贷款风险识别
目录
SPSS Modeler软件对于数据挖掘任务而言是一项重要并且简单的工具,可以在不写代码的情况下轻松调用数个机器学习模型并且实现相应案例的预测。总之,简要掌握SPSS Modeler软件,一方面可以搞定课内的数据挖掘类课程,同时可以帮助实现竞赛中的预测型难题。这里以2020年全国大学生信息素养大赛本科组赛题为例。以下是本人在该案例中做的简要处理数据流图。
1.数据审核、缺失值、重设变量
在开始进行数据分析前,需要做好数据准备工作,包括对字段的审核,是否存在缺失值等情况。在这里所有字段都不存在缺失值,但有一个分类字段(贷款目的)的种类数过多,根据其语义关系将其重新分类,得到相应的新变量。
2.连续变量离散化
原始数据中存在很多连续型变量,包括年龄、活期存款等等。连续型数据都不能直接应用于机器学习模型,一定要经过离散化转化为分类型变量才可以进行建模。所以,加入“分箱”结点将所有的连续型变量转化为分类变量。分箱的原则采用了四分位数分箱,将每个变量转化为4个种类的变量。
3.字段过滤
数据中存在某些对于机器学习无实际意义的字段,如序号,编号等。
4.特征选择
由于字段数量太多,想要训练出较好的机器分类模型,就必须进行降维。在SPSS Modeler中提供了特征选择结点,可以根据每个字段对于目标变量的识别率进行重要性计算。只有当重要性指数在一定范围内(这里设定为皮尔森相关系数在0.95以上),才会被识别为有效字段。在机器学习模型中将使用到这些有效字段。
5.建模前的准备——数据分区
在建模以前,需要将数据进行横向划分——划分出训练数据集以及测试数据集。在训练机器模型,如神经网络模型、支持向量机SVM模型之前,可以在训练出模型参数后,使用测试数据集测验模型的准确度。划分数据集的标准一般采用二八原则,即训练集80%,测试集为20%,当然也可以三七分。
6.模型训练
由于分类模型的种类很多,很难辨识哪个模型的有效性最好。在SPSS Modeler中提供了“自动分类器”结点,可以将数据集一次性喂给所有的分类模型,在所有的机器学习模型训练完毕后,选择表现较好的几个模型进行保留。在最后的结果中,支持向量机模型SVM表现最好,准确率达到了99%左右。但是“自动分类器”模型不便于提取模型用于预测,所以单独使用SVM模型进行训练。
7.数据预测
对预测数据集进行类似的数据预处理操作后,可以将训练好的机器学习模型加入流中进行标签预测。