目录
一、课题设计背景
二、设计方案概述
1. 数据预处理
1.1删除无意义的列
1.2 删除脏数据
1.3数据编码
2.XGBOOST算法
三、具体实现
1. 使用到的库
2.OneHot编码模型
3.导入文件
4. 数据处理
4.1 删除无意义的列
4.2 删除脏数据
4.3 对数据的非数值字段OneHot编码
5.数据切分
6.Xgboost 模型建立,参数选取
7.评价指标
8. 预测测试文件
四、结果及分析
1. 训练数据集结果
2.测试数据集提交结果
五、总结
一、课题设计背景
信贷用户逾期预测是新手入门必备的一个练习课题,每个银行都有大量的信用贷款客户,随着近年来银行面向个人的小额贷款业务的不断发展,防范个人信贷欺诈,降低贷款不良率,提高银行回款率是银行开展相关业务的首要目标。通过信贷用户的其他行为,利用大数据、人工智能、机器学习等方法,预测用户是否逾期。
文件包含训练集(train.csv)、测试集(test.csv)、提交样例(submission.csv),包含627个字段(附字段说明.xlsx)。
二、设计方案概述
1. 数据预处理
由于数据来源于某银行公布的网上公开数据集,为该银行真实信贷用户信息,应用于信用逾期预测、信用卡评分等业务场景。数据中存在不完整的(缺少某些感兴趣的属性值)、不一致的(包含代码或者名称的差异)、极易受到噪声(错误或异常值)的侵扰的等等,因此在进行数据预测之前先进行数据预处理。
1.1删除无意义的列
1.2 删除脏数据
因为文件中可能包含空值数据,NAN数据、重复等数据,因此使用panda库对数据进行清理。
1.3数据编码
文件中某些字段是非数值的,因此使用OneHot编码对数据进行处理。
2.XGBOOST算法
建立XGBoost模型,使用预处理数据,对模型进行训练,使用训练好的模型,对测试数据进行预测。
涉及到的参数
三、具体实现
1. 使用到的库
2.OneHot编码模型
3.导入文件
4. 数据处理
4.1 删除无意义的列
4.2 删除脏数据
4.3 对数据的非数值字段OneHot编码
5.数据切分
将数据按8:2划分为训练集、测试集。
6.Xgboost 模型建立,参数选取
7.评价指标
8. 预测测试文件
四、结果及分析
1. 训练数据集结果
2.测试数据集提交结果
五、总结
在进行此次实践时,一开始对于平台的使用并不是特别的了解,也不熟悉其中的相关操作,经过一段时间的使用后,也逐渐了解了对平台的使用。
在进行这次实践之前,思想只停留在相对基础的基础的集成学习上面,并且没有实战的经验,因此在开始阶段一头雾水。
首先,通过视频资料,对集成学习的发展史进行了解,了解大致情况,然后,通过详细的视频资料进一步学习,层层递进,并且通过阅读陈天奇博士的XGBoost论文,大致了解了XGBoost对于前一代GBDT算法的区别,大致区别我总结了一下几点:
GBDT算法只利用了一阶的导数信息,XGBoost对损失函数做了二阶的泰勒展开。XGBoost的目标函数多了正则项, 相当于预剪枝,使得学习出来的模型更加不容易过拟合。对缺失值的处理。对于特征的值有缺失的样本,XGBoost可以自动学习出它的分裂方向。
在学习过程中,我还学习了关于参数调节的方法:贪心调参方法、网格调参方法等等。
虽然此次实战选取的题目,数据量大,最终的分数也达到了满分,但由于选取的题目难度相对来说还是偏易,因此很多机器学习的知识并没有在这次实战中体现出来,但是在此次实战还是讲很多课上的理论知识运用到实际数据当中,关于模型的选取,参数的调节,数据的处理,也通过此次实践有了全新的认识。
数据集下载:用户逾期行为预测 竞赛 - DataFountain
完整代码:zhaozhao626/Machine_learning_course_design ()
如果觉得《DataFountain-用户逾期行为预测》对你有帮助,请点赞、收藏,并留下你的观点哦!