采用scikit-learn进行银行贷款拖欠数据分析

经过数据探索与数据预处理,得到了可以直接建模的数据。根据挖掘目标和数据形式可以建立分类与预测、聚类分析、关联规则、时序模式和偏差检测等模型,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。

1.常用的分类与预测算法

回归分析
决策树
人工神经网络
贝叶斯网络
支持向量机

2.回归分析

回归分析是通过建立模型来研究变量之间相互关系的密切程度、结构状态以及进行模型预测的一种有效工具。
1. 线性回归:因变量和自变量是线性关系
2. 非线性回归:因变量和自变量不都是线性关系
3. logistic回归:因变量一般有1和0(是否)两种取值
4. 岭回归:参与建模的自变量之间具有多重共线性
5. 主成分回归:参与建模的自变量之间具有多重共线性

现在就用逻辑回归进行银行借款违约数据预测分析

先来数据截图这里写图片描述
再来代码描述

# -*- coding: utf-8 -*-
# 逻辑回归 自动建模
import pandas as pd

# 参数初始化
filename = 'data/bankloan.xls'
data = pd.read_excel(filename)
# x为xls表的前8列矩阵,如果改为4则为前4列
x = data.iloc[:, :8].as_matrix()
# y为第9列矩阵,如果改为5说明从第6项开始选取
y = data.iloc[:, 8].as_matrix()

from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR
rlr = RLR() #建立随机逻辑回归模型,筛选变量
rlr.fit(x, y) #训练模型
rlr.get_support() #获取特征筛选结果,也可以通过.scores_方法获取各个特征的分数
print rlr.scores_
print(u'通过随机逻辑回归模型筛选特征结束。')
print(u'有效特征为:%s' % ','.join(data.columns[rlr.get_support()]))
x = data[data.columns[rlr.get_support()]].as_matrix() #筛选好特征

lr = LR() #建立逻辑货柜模型
lr.fit(x, y) #用筛选后的特征数据来训练模型
print(u'逻辑回归模型训练结束。')
print(u'模型的平均正确率为:%s' % lr.score(x, y)) #给出模型的平均正确率,本例为81.4%

代码上有注释,也就不多解释了。
最后输出截图如下这里写图片描述
正确率越高说明模型建的越准确,特征与结果的相关性更高。然后就可以用这个模型来预测新数据。在现实生活中的场景就是录入一个人的工龄、地址、负债率、信用卡负债、就能预测他违约的概率高不高,银行就可以进行相应的贷款操作,当然生活中也不止这几个特征数据,预测也要比这繁琐。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值