用R语言构建神经网络模型评估银行客户信用的好坏

随着银行业务的扩展、P2P的出现、第三方支付提供个人贷、以及X宝等借贷平台的出现,使得个人信用评估在银行、第三方支付、商业借贷平台等上的应用越来越重要。本文利用BP人工神经网络对商业银行针对个人的信用等级评价进行了探讨,建立了神经网络的评价模型,对此做出了实例分析。

个人信用等级评估指标体系 商业银行个人信用等级评估指标体系设立的目的简述为银行通过评估借款人的“3C”,即品德(Character)、能力(Capacity)以及抵押(Collateral),对借款人在债务期满时偿债能力(Ability to pay)和还款意愿(Willingness to pay)等进行预测。根据指标体系设立原则,参照国际标准、国内外银行经验和企业信用等级评估方法,综合考虑商业银行特点及所在地区情况,通过对以往借款人群的考察,以专家判断为基础,可选择4大类21个指标全面评价个人信用等级。

可行性分析 我国个人信用等级评估起步较晚,相关信息残缺,而BP人工神经网络具有强大并行处理机制,高度自学习、自适应能力,内部有大量可调参数,因而使系统灵活性更强。

进行个人信用等级评估与预测时,有些因素带有模糊性,而BP人工神经网络的后天学习能力使之能够随环境的变化而不断学习,能够从未知模式的大量复杂数据中发现规律,与传统的评价方法相比,表现出更强的功能。

BP人工神经网络方法克服了传统分析过程的复杂性及选择适当模型函数形式的困难,它是一种自然的非线性建模过程,无需分清存在何种非线性关系,给建模与分析带来极大的方便。

BP人工神经网络可以再现专家的经验、知识和直觉思维,较好地保证了评估与预测结果的客观性。

模型建立

R语言AMORE包是个前馈神经网络工具包,类似的还有nnet,RSNNS等。AMORE比nnet参数要丰富一些。AMORE用来构建前馈神经网络的函数是newff()。

newff(n.neurons,
      learning.rate.global,
      momentum.global, 
      error.criterium, 
      Stao, 	
      hidden.layer,
      output.layer, 
      method)

其中。n.neurons是个数值向量,包含在每个层的神经元的数目。第一个数是输入神经元的数量,最后是输出神经元的数量,其余的都是隐藏层神经元的数量。

learning.rate.global全局的学习率。

momentum.global全局的动量值(貌似是步长)

error.criterium误差衡量算法,如用误差平方和,选“LMS”。

hidden.layer隐藏层激活函数。

output.layer输出层激活函数。

method 学习方法,如梯度下降。

数据准备

本文数据下载:

german.data-numeric是德国一家银行的数据集,共1000行,前24个变量是用户的各种存款贷款记录,最后一个变量是信用好坏,只有1和2两种情况。

#加载包

library("AMORE")

#读入数据,因为分隔符不确定,所以不写,空格和制表符都行

x <- read.table("D:/data/german.data-numeric",header=F)

#数据最后一行为1和2表示信用好和信用不好,对其进行归一化

x$V25[x$V25 == 1] <- 0

x$V25[x$V25 == 2] <- 1

#把训练数据和测试数据拆开

T <- x$V25

P <- x[,1:24]

#把输入样本归一化 这里使用y=(x-MinValue)/(MaxValue-MinValue)来处理

maxP <- apply(P,2,"max")

minP <- apply(P,2,"min")

P <- t(P)

mm <- maxP-minP

mm[mm ==0] <- 1 #避免除0

P <- (P-minP)/mm

P <- t(P)

#抽样300作为测试集

testc <- sample(1:nrow(x),300,replace=F)

trainP <- P[-testc,]

trainT <- T[-testc]

testP <- P[testc,]

testT <- T[testc]

#创建网络

net <- newff(n.neurons=c(24,24,1), learning.rate.global=1e-4, momentum.global=0.01,error.criterium="LMS", Stao=NA, hidden.layer="tansig", output.layer="purelin", method="ADAPTgdwm")

#训练

model <- train(net, trainP, trainT, error.criterium="LMS", report=TRUE, show.step=100, n.shows=10 )

#测试testO <- sim(model$net, testP)testO[testO <0.5] <- 0testO[testO >= 0.5] <- 1table(testO,testT)

正确率:(187+42)/(187+42+24+47)=0.76,效果还不错!

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

入门必看 | 深度Q-learning简介【RL系列】

今天,我们将构建一个深度Q网络,为环境中的agent实现一个可以获取环境状态信息以及近似Q-value的神经网络。

594
来自专栏AI科技大本营的专栏

玩音乐,敲架子鼓,一个被“耽误了”的机器学习高手

多数伏在案前敲击键盘的程序员或许都曾憧憬:黑框眼镜、格子衬衫、脚踩凉拖背后的另一番模样的自己。

663
来自专栏AI派

机器学习法则:ML工程的最佳实践

Martin Zinkevich 在2016年将 google 内容多年关于机器学习相关的经验分享了出来,这篇文章是对该分享的一些翻译+解读,如果想查看原文请参...

1103
来自专栏james大数据架构

你必须要了解的大数据潮流下的机器学习及应用场景

  机器学习是一门人工智能的科学,能通过经验自动改进的计算机算法的研究。       机器学习是一个多学科交叉的领域,会涉及到计算机、信息学、数学、统计学、神经...

3798
来自专栏AI科技评论

干货 | 意想不到的盟友:改善隐私问题可以带来表现更好的机器学习模型

AI 科技评论按:Nicolas Papernot 在 2017、2018 连续两年的 ICLR 上都发表了关于差分隐私方法 PATE 的论文。如今大家都意识到...

913
来自专栏AI研习社

IJCAI 2018 广告算法大赛落下帷幕,Top 3 方案出炉

雷锋网 AI 研习社消息,IJCAI-18 阿里妈妈搜索广告转化预测比赛近日落下帷幕,本次比赛为阿里妈妈与 IJCAI2018、天池平台联合举办,总奖池 370...

753
来自专栏CDA数据分析师

访谈 | 与吉林大学统计系教授聊聊时间序列分析

本文由经管之家CDA数据分析师独家整理,转载请注明来源 前不久,经管之家邀请到了吉林大学数据学院概率统计系教授朱复康博士参与了论坛的线上互动问答,与广大坛友就时...

17910
来自专栏AI科技评论

动态 | 4分钟训练ImageNet!腾讯机智创造AI训练世界纪录

注:腾讯机智机器学习平台由TEG架构平台部和运营管理部团队携手,并和香港浸会大学计算机科学系褚晓文教授团队深度合作联袂打造。本文转载自腾讯技术工程公众号

641
来自专栏专知

【攻克Dota2基础算法】深度Q学习介绍

【导读】最近,OpenAI在dota2的5v5比赛中,使用基于强化学习的AI bot击败了人类玩家,震惊业界。那么强化学习是如何操纵游戏人物一步步达成胜利的呢?...

1457
来自专栏机器之心

入门 | 从Q学习到DDPG,一文简述多种强化学习算法

25913

扫描关注云+社区