《机器学习-Python实战(微课版)》课件 综合案例3-信用违约预测_第1页
《机器学习-Python实战(微课版)》课件 综合案例3-信用违约预测_第2页
《机器学习-Python实战(微课版)》课件 综合案例3-信用违约预测_第3页
《机器学习-Python实战(微课版)》课件 综合案例3-信用违约预测_第4页
《机器学习-Python实战(微课版)》课件 综合案例3-信用违约预测_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信用违约预测通过本章学习可以,你将能够:了解信用违约预测分析的基本流程;了解逻辑回归和随机森林算法在实际业务应用中的方法;能够提升采用随机森林算法解决实际问题的能力。学习目标案例背景介绍数据预处理模型训练信用风险已经成为了今年金融市场的重要主题之一,银行作为贷方,随时都面临着借贷者违约的风险。传统的专家规则在金融科技时代逐渐过时,机器学习和金融业务的交叉也延伸到信贷领域。违约预测就是其中一重要应用。本案例基于信贷业务场景中一个月内的抽样数据,数据集有34个维度,Target表示客户在接下来一个月是否有违约。模型生成后可使用当前月的数据预测接下来一个月客户是否会违约。案例背景数据集来源于开源数据集,主要包含用户的基础信息、资产信息和信用征信息等,共计34个维度。最终的目标是对用户是否违约进行预测。数据集介绍违约预测只有违约和没有预约两种结果,是个二分类问题。针对二分类问题,可使用的算法有逻辑斯谛回归、朴素贝叶斯、支持向量机、树模型等。考虑到实验的完整性和实用性,本案例选用业界常用的逻辑斯谛回归(广义线性模型)和随机森林(集成树模型)来做对比。考虑到样本极度不均衡,模型评价选用综合指标f1_score。方案介绍本实验在python3-jupyter环境下完成,同时需要安装seaborn和imblearn:seaborn:基于matplotlib的高级APIimblearn:处理样本不均衡问题的第三方库使用pip安装命令如下:pipinstallseabornpipinstallimblearn实验环境准备数据挖掘流程整体数据挖掘流程分为如下几步:案例背景介绍数据预处理模型训练数据预处理

–读取数据##读取数据importpandasaspdimportnumpyasnpImport

warningswarnings.filterwarnings("ignore")df=pd.read_csv('D:/credit_default/dataset.csv',encoding='utf-8')df.head()数据预处理–

相关性分析#统计各特征的缺失率df_missing_stat=pd.DataFrame(df.isnull().sum()/df.shape[0],

columns=['missing_rate']).reset_index()df_missing_stat.sort_values(by='missing_rate',

ascending=False)[:15]数据预处理–

缺失值处理配偶年收入箱图数据预处理–

数据洞察(1)配偶月均收入箱图数据预处理–数据洞察(2)中位数填补缺失值中位数填补异常值数据预处理–异常值处理将数据集作9:1的切分(传统的使用二八分或者三七分,但此处样本量有5959条,测试集保留500多条就可以评价模型),训练集共5259条负样本,104条正样本;测试集共584条负样本,12条正样本。数据预处理–数据集拆分引入相关库并对输入作标准化#引入StandardScaler标准化工具库fromsklearn.preprocessingimportStandardScalerfromsklearn.model_selectionimportStratifiedKFold,StratifiedShuffleSplit#分层分割fromsklearn.metricsimportmake_scorer,fbeta_score,recall_score,f1_score#对训练集和测试集做标准化std_scaler=StandardScaler().fit(df_after_dummy[x_cols])X_train_std=std_scaler.transform(X_train)X_test_std=std_scaler.transform(X_test)数据预处理–标准化案例背景介绍数据预处理模型训练及优化使用sklearn.linear_model.LogisticRegression分类器,优化算法选用双线性训练数据,并设置最大迭代次数为500。使用LogisticRegression建模对正样本过采样LogisticRegression优化(1)LogisticRegression中可调的参数有正则化系数(C)、正则化系数(penalty)、优化算法(solver)、类型权重参数(class_weight)、样本权重参数(sample_weight)等。这里调节常用的C和solver两个参数,使用网格搜索法。LogisticRegression优化(2)在测试集上的效果输出如下结果从模型在训练集和测试集上的表现看,测试集的f1得分为0.19,比训练集上低了,模型出现过拟合,初步推断,一部分是特征比较少、数据量不足导致的,特别是过抽样会加大过拟合风险。如果需要提升模型性能需要进一步增加样本、尝试其他算法来拟合数据。下面尝试使用随机森林。LogisticRegression评估使用RandomForest建模先初始化几个参数拟合尝试下RandomForest优化对n_estimators进行搜索输出如下结果:模型持久化对最优模型进行保存输出如下结果:本实验主要学习了使用Python进行数据预处理、数据分析,使用seaborn做可视化分析,使用SM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论