朴素贝叶斯(Naive Bayes)是一种简单的分类预测模型,本篇文章将使用机器学习库scikit-learn中的Gaussian Naive Bayes算法对贷款历史数据进行建模。并通过模型对新贷款用户的逾期情况进行模拟预测。
准备工作
首先是开始前的准备工作,导入所需的库文件。依次为数值计算库numpy,科学计算库pandas,交叉验证库cross_validation和朴素贝叶斯算法库GaussianNB。
1 2 3 4 5 6 7 8 |
|
读取并查看数据表
读取并创建名为loan_status的贷款历史数据。这里我们只包含了两个特征和极少的数据用于说明计算的过程。在真实的环节中要预测贷款的逾期情况所需数据量要大得多。按宜人贷公布的信息,他们的风控系统包含了250个特征和超过100万条的历史贷款数据,并且还有一个黑名单系统。
1 2 |
|
以下是贷款数据表中具体的内容,两个特征分布为借款人的年龄,借款天数。结果显示了这笔贷款最终的状态。
1 2 |
|
使用columns获得数据表的列名称。
1 2 3 |
|
设置模型特征X及目标Y
将借款人的年龄和借款天数设置为特征X,将贷款的最终还款状态设置为目标Y。
1 2 3 4 |
|
分布查看特征和目标数据的维度。
1 2 3 |
|
将数据分割为训练集和测试集
使用交叉检验库通过随机方式将特征数据和目标数据分为测试集和训练集,其中训练集为原数据集的60%,测试集为40%。
1 2 |
|
再次查看训练集和测试集数据的维度。
1 2 3 4 5 6 |
|
建立高斯朴素贝叶斯模型。
1 2 |
|
使用训练集数据对模型进行训练。
1 2 3 |
|
使用测试集数据对训练后的模型进行测试,模型预测的准确率为69%。
1 2 3 |
|
使用模型进行分类预测
使用训练后的高斯朴素贝叶斯模型对新贷款用户的数据进行分类预测。首先查看分类的结果。与之前的目标Y一样,结果为Charged Off和Fully Paid。
clf.classes_
array([‘Charged Off’, ‘Fully Paid’], dtype='<U11′)
[/code]
输入一组贷款用户特征,年龄为25岁,借款天数30天。模型预测这笔贷款的结果为Fully Paid。
clf.predict([[25,30]])
array([‘Fully Paid’], dtype=’蓝鲸网站分析博客”。
本文为专栏文章,来自:蓝鲸,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/43820.html 。