信用卡违约客户的预测模型的选择(二)验证过程

台湾地区信用卡客户贷款违约预测 数据集地址:链接:https://pan.baidu.com/s/1vQgkQs1aTC-zm6zcDH4kKQ提取码:6ois。 阅读详情

验证过程

该数据集包含23个输入变量(input variable)和一个响应变量(response variable)。该数据集来源于UCI machine learning repository,为某银行的信用卡客户信息数据,共有30000个样本,包括过去六个月的账单还款情况。

 

Y:下个月还款违约情况(1=逾期,0=未逾期)

X1:信用额度,包括其个人和家庭补充信用。

X2:性别(1=male;2=female)

X3:教育(1=研究生,2=大学,3=高中,4=其他)

X4:婚姻状况(1=已婚,2=单身,3=其他)

X5:年龄,age

X6-X11:过去六个月的还款情况。X6(2005年九月还款情况)。。。X11(2005年四月还款情况)。其中XN=-1,代表按时还款,XN=1,代表延时一个月还款,XN=2,代表延时两个月还款,。。。,XN=n,代表延时n个月还款,

X12-X17:过去六个月的账单数额情况。X12(2005年九月账单数额情况)…X11(2005年四月账单数额情况)。

X18-X23:过去六个月的还款数额情况。X18(2005年九月还款数额情况)…X23(2005年四月还款数额情况)。

环境配置

操作系统:windows7+64位

内存:4G

Cpu: intel core i5@2.6GHz2.6GHz

Python version: python 3.6.0

Python平台:pycharm


首先获取数据,将原始csv文件转化为txt文件,逐行读取数据,为利于后期回归运算将变量格式的数据统一转化为float格式。在变量选取中我们本着类别变量均等,训练矩阵随机,训练与测试矩阵28原则。

如下:

float(listFromLine[i])

分别定义标签矩阵和变量矩阵,读入客户数据。

此模型预测变量为0或1。其中类别为1的变量6636个,类别为0的变量23364个。我们选择相等的两类样本数0和1分别6600个。

首先进行数据集进行拆分,使用sklearn的cross_validation进行数据拆分。

from sklearn.cross_validationimport train_test_split

X_train,X_test, y_train, y_test=train_test_split(ran_M,rand_V)

(正例1662个,负例1638个。)

我们选择13200个样本,为了使得选取的样本具有随机性,由于原始样本按照账户号输入,可能存在一定的序列关联性,打破原始顺序的方法函数如下:

dataIndex = list(range(randM))
for j in range(randM):
   
randIndex = int(random.uniform(0, len(dataIndex)))
   
retm[j, :] =retm1[dataIndex[randIndex]]
    classV[j] =classV1[dataInde[randIndex]]
    del (dataIndex[randIndex])

首先定义一个list序列,然后利用随机数函数,对序列取值,将取得的样本值顺序赋予新的序列矩阵。

变量筛选

计算输入变量之间的相关系数,输入变量与预测之间的相关关系。当数据量较大时,在进行corrcoef进行相关性计算时,超过了内存容量,出现memory error.我们只是为了大概掌握变量之间的相关程度,为避免memory error需进行矩阵的缩减,在这里选取前5000行进行相关性计算。

从预测变量与输入变量之间的相关系数可见,预测变量与大多数输入变量之间的相关性较小,选取相关系数绝对值大于0.1的变量为LIMIT_BAL、PAY_1、PAY_2、PAY_3、PAY_4、PAY_5、PAY_6。

Corrcoef

default of credit account

LIMIT_BAL

-0.100

SEX

-0.013

EDUCATION

0.037

MARRIAGE

-0.039

AGE

0.020

PAY_1

0.293

PAY_2

0.220

PAY_3

0.203

PAY_4

0.175

PAY_5

0.172

PAY_6

0.140

BILL_AMT1

-0.004

BILL_AMT2

0.000

BILL_AMT3

0.001

BILL_AMT4

0.004

BILL_AMT5

0.001

BILL_AMT6

0.003

PAY_AMT1

-0.078

PAY_AMT2

-0.081

PAY_AMT3

-0.039

PAY_AMT4

-0.066

PAY_AMT5

-0.037

PAY_AMT6

-0.049

在进行变量处理时,可选择归一化、标准化、特征化处理,也可根据变量大小进行类别化处理。LIMIT_BAL数值较大,求其百分位数,使用函数np.percentile(LIMIT_BAL),对变量进行重新设置,选择分位数80,50,30,0对应的值设置为(4,3,2,1)。

Percentile

Value

100

1000000

90

360000

80

270000

70

210000

60

180000

50

140000

40

100000

30

70000

20

50000

10

30000

0

10000

首先我们来验证逐步增加变量的方法。首先选取LIMIT_BAL、PAY_1、PAY_2、PAY_3、PAY_4、PAY_5、PAY_6以及常量系数。

 


kaggle——信用卡欺诈检测项目实战 笔记第一步:了解题目,确定任务第二步:场景分析第三步:数据预处理看是否有缺失值查看样本类别分布数据不均衡解决办法数据值标准化/归一化第四步:特征工程1)查看特征分布情况,把不同类别下特征分布相差不大的特征删除掉2)特征缩放第五步:模型训练处理不平衡样本交叉验证求取最好的模型参数第六步:模型评估使用下采样数据训练与测试使用下采样数据训练与测试(不同的阈值对结果的影响)使用下采样数据训练,原始数据进行测试原始数据进行K折交叉验证使用原始数据进行训练和测试查看ROC曲线逻辑回归阈值选择过采样总结 第一步:了解题目 阅读详情

相关推荐

机器学习:基于逻辑回归对某银行客户违约预测分析

逻辑回归用于二分分类问题,回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。

阿极的博客 1万+

python数据分析案例-信用卡违约预测分析

信用卡违约预测分析

m0_62638421的博客 4141

数据分析:预测汽车违约风险

本文通过分析汽车贷款违约情况,利用多种机器学习模型进行预测。首先,对数据进行预处理,包括处理缺失值、异常值等,然后使用线性回归、决策树、随机森林、支持向量机 (SVM) 和 K-近邻 (KNN) 等模型进行训练和预测。最后,通过绘制 ROC 曲线并计算 AUC 来评估模型的性能。

HYHnb6的博客 7402

信用卡违约率分析

信用卡违约率分析加载数据探索数据数据规范化数据集划分模型创建模型训练模型评估 加载数据  这个数据集是台湾某银行 2005 年 4 月到 9 月的信用卡数据,数据集一共包括 25 个字段,具体含义如下: 探索数据 数据规范化 数据集划分 模型创建 模型训练 模型评估 ...

qq_22017379的博客 1833

信用卡违约预测实战:从特征工程到模型调优的完整链路

在金融风控领域,机器学习模型正成为识别信贷风险的核心工具。以信用卡违约预测为例,这类二分类问题不仅考验算法选型,更涉及从数据清洗、特征构造到样本不均衡处理、模型评估与可解释性的系统工程。业务场景中,用户的历史还款行为、额度使用率等结构化特征蕴藏着强预测信号,而随机森林、XGBoost、LightGBM等树模型在处理此类表格数据时,凭借出色的非线性拟合能力和可解释性优势,成为工业界的主流选择。合理运用特征工程与交叉验证调参,可显著提升AUC与召回率;同时,借助SHAP值分析模型决策逻辑,能让风控结果更透明、更

weixin_29054245的博客 352

基于机器学习的银行信用卡违约预测:从数据清洗到模型上线的完整流程

信用卡违约预测是风控领域的经典问题,其核心在于利用机器学习模型从历史账单和还款行为中自动识别违约风险。通过特征工程构建额度使用率、还款覆盖比等衍生变量,并结合逻辑回归与LightGBM等算法,可显著提升预测精度。该技术广泛应用于银行风控、信贷审批等场景,帮助机构降低坏账率。本文围绕信用卡违约预测,详细讲解数据清洗、特征构造、模型选型与阈值优化,并分享避坑经验与可复现验证方法。

weixin_29168675的博客 90

python信用卡客户_银行信用卡客户价值分析(Python数据分析)

import pandas as pdfrom sklearn.preprocessing import StandardScalerfrom sklearn.cluster import KMeansdata = pd.read_csv(r'credit_card.csv',sep=',',encoding='gbk')print(data.columns)#1.处理信用卡异常值data1 = ...

weixin_35319894的博客 1743

UCI_Credit_Card.csv数据集信息 此数据集包含有关2005年4月至2005年9月台湾地区信用卡客户的默认付款

SAS 信用卡 UCI数据 数据集信息 此数据集包含有关2005年4月至2005年9月台湾地区信用卡客户的默认付款,人口统计因素,信用数据,付款历史和账单的信息。 内容 有25个变量: ID:每个客户的ID LIMIT_BAL:以新台币计的给定信用额度(包括个人和家庭/辅助信用额) 性别:性别(1 =男性,2 =女性) 教育程度:(1 =研究生院,2 =大学,3 =高中,4 =其他,5 =未知,6 =未知) 婚姻:婚姻状况(1 =已婚,2 =单,3 =其他) 年龄:岁 PAY_0:2005年9月的还款状态(-1 =正常付款,1 =延迟一个月的付款,2 =延迟两个月的付款,... 8 =延迟八个月的付款,9 =延迟九个月的付款,以及以上) PAY_2:2005年8月的还款状态(与上述相同) PAY_3:2005年7月的还款状态(与上述相同) PAY_4:2005年6月的还款状态(与上述金额相同) PAY_5:2005年5月的还款状态(与上述相同) PAY_6:2005年4月的还款状态(与上述相同) BILL_AMT1:2005年9月的帐单金额(新台币) BILL_AMT2:2005年

信用卡违约客户的预测模型的选择(一)相关技术介绍

在进行建模之前,前期需要准备的包括数据提取、清洗,字段验证选择,分类模型的选择。 变量处理方法 数据处理方法包括最小-最大规范化、标准化、特征化处理等,根据数据字段特点也可避免前期数据处理,直接借用挖掘函数计算。 最小-最大规范化,即归一化 proValue=(v-min(x))/(max(x)-min(x)),min(x),max(x)分别为v所在列的最小值和最大值。对数据

ksh007的博客 8176

uci 信用卡数据集.rar

背景描述 本项目采用了UCI数据仓库,这是一个自1970年代中期以来广泛使用的公认资源。它在学术界享有盛誉,因其数据集涵盖了从生物信息学到社会科学等多个领域的真实世界问题,确保了研究成果的实用性和相关性。我们可以通过 Python 中的 ucimlrepo 库直接访问这些数据集,这样显著提高了数据获取的效率,简化了预处理流程,从而让我们能够迅速投入到实证分析中去。 而且还有还很重要的一点:该数据集的普及性和熟悉度为我们的研究提供了一个共同的基准,使得方法论的通用性和比较性得到加强。同时,数据的真实性和可复刻性也为项目带来了额外的价值。我们的分析不仅可以由同行学者验证,而且还可以促进知识的积累,为未来的科学探索提供基石。这种方法论和数据来源的选择可以确保你的项目或者算法能够在数据科学界得到广泛的认可和应用。 数据说明 这份数据是 uci 数据仓库中的 Default of credit card clients 数据集。读取方法可以参考我的相关项目。 该数据集包含 30,000 名客户及其在台湾一家银行的信用卡交易数据。除了客户的静态特征外,该数据集还包含某年4月至9月的信用卡账单支付历史,以及客户信用卡的余额限制。目标是客户是否会在接下来的一个月,即该年10月拖欠信用卡付款。 ID:信用卡客户ID号 LIMIT_BAL:以新台币计算的信贷金额(包括个人和家庭/补充信贷)/ 信用卡限额 SEX: 性别 (1代表男性,2代表女性) EDUCATION:受 教育程度(1=研究生, 2=大学, 3=高中, 4=其他 5=未知, 6=未知) MARRIAGE:婚姻状况(1=已婚,2=单身,3=其他) AGE:年龄 X1:信用额度,包括其个人和家庭补充信用 X2:性别(1=male;2=female) X3:教育(1=研究生,2=大学,3=高中,4=其他) X4:婚姻状况(1=已婚,2=单身,3=其他) X5:年龄,age X6-X11:过去六个月的还款情况。X6-X11为9-4月的还款情况。其中,-1,代表按时还款;1,代表延时一个月还款;2,代表延时两个月还款.......依次类推,XN=n,代表延时n个月还款, X12-X17:过去六个月的账单数额情况。X12-X17为9-4月账单数额情况 X18-X23:过去六个月的还款数额情况。 X18-X23为9-4月还款数额情况 Y:目标属性,客户下个月还款违约情况(1=逾期,0=未逾期) 通常会用于分类模型,应用场景十分广泛。尤其适用于金融机构在风险评估和信贷审批过程中,以判断客户是否有资格获得其他贷款产品,例如汽车贷款。通过包含的23个输入变量,如信用额度、性别、教育程度等,以及目标变量,即客户的还款违约情况,研究者能够对信用风险进行准确评估。这些细致的数据为研究者提供了理解和预测客户行为的全面视角。

基于R的数据挖掘之信用卡是否违约预测分类

本文分析了台湾某银行客户的违约支付情况,提出了基于数据挖掘技术的预测客户违约可能性。从风险管理的角度来看,预测的违约概率的准确性可以用来对可信的或不可信的客户进行分类。 本文首先对数据集进行了初步处理,将数据拆分为2000个训练集与1000个测试集。每个客户信息中有23个自变量,根据其各个因素的相关性进行了调整然后使用了5挖掘方法,包括KNN,分类树,随机森林,Logistic回归,神经网络进行建模,比较这5种方法中违约概率的预测准确性。其中神经网络的预测效果最好,预测准确率达到了83.3%;其次,分类树(81.8%)和随机森林(80.1%),然后是Logistic回归(78.3%)。KNN的

R语言数据分析案例33-基于logistic回归下的信用卡违约情况分析

基于logistic回归下的信用卡违约情况分析

m0_62638421的博客 2357

credit_card_default-数据集

个人贷款违约预测模型(逻辑回归)

1. 数据介绍 本案例所用数据来自一家银行的个人金融业务数据集,可以作为银行场景下进行个人客户业务分析和数据挖掘的示例。这份数据中涉及 5300 个银行客户的 100 万笔交易,而且涉及 700 份贷款信息与近 900 张信用卡的数据。通过分析这份数据可以获取与银行服务相关的业务知识。例如,对于提供增值服务的银行客户经理来说,希望明确哪些客户有更多的业务需求,而风险管理的业务人员可以及早发现贷款的潜在损失 (1)账户表(Accounts):每条记录描述了一个账户(account_id)的静态信息,共 45

agoldminer的博客 1万+

数字IC后端设计实战:从floorplan到powerplan的优化策略

本文深入探讨了数字IC后端设计中从Floorplan到Powerplan的核心优化策略。文章强调了Floorplan作为布局基础的重要性,并详细解析了Powerplan规划,特别是针对低功耗设计中MTCMOS的应用与IR Drop分析。通过实战经验分享,提供了从模块摆放到电源网络构建、再到IR Drop问题层层递进的解决方案,旨在帮助后端工程师构建稳健高效的芯片物理设计。

weixin_28338005的博客 352

从零构建个人知识库:Obsidian与Git实践打造可生长的第二大脑

在信息爆炸的时代,如何有效管理个人知识资产,构建一个可检索、可关联、可生长的个人知识库,成为提升学习效率和创造力的关键。其核心原理在于通过系统化的信息架构与工作流设计,将碎片化信息转化为结构化的知识网络。从技术价值看,这不仅是笔记方法的升级,更是个人知识管理(PKM)和思维模式的革新,能有效对抗信息过载与知识孤岛。实践中,以Obsidian为代表的本地Markdown笔记软件,结合双向链接和关系图谱功能,为知识网络的构建提供了强大支撑;而引入Git进行版本控制,则确保了知识资产的历史可追溯性与安全备份。这种

weixin_28836989的博客 302

【baseline】Kaggle新赛!信用违约预测大赛

日前,Kaggle发布了American Express - Default Prediction 信用违约预测大赛。要求参赛者:运用机器学习技能来预测信用违约这是一个金融风控场景下的结构化数据挖掘任务,对本领域感兴趣的小伙伴,千万不要错过。下面是本场比赛的baseline。加我回复“运通”获取baseline+数据集01PART赛题分析+baseline1、赛题链接ht...

datayx的文章 1168

卫星动力学仿真模型开发之AI初试

以下是通过AI生成的一个简单的C语言仿真模型,用于模拟卫星的姿态、轨道动力学和运动学。该模型基于基本的物理公式,假设卫星在近地轨道上运行,并忽略了一些复杂的扰动因素(如大气阻力、太阳辐射压等)。姿态动力学描述了卫星绕其质心的旋转运动。轨道动力学描述了卫星在引力作用下的运动。姿态运动学描述了卫星姿态随时间的变化。

xspace的博客 569

数据驱动的消费金融违约风险预测方法【附数据】

📊 金融数据分析与建模专家 金融科研助手 | 论文指导 | 模型构建✨ 专业领域:金融数据处理与分析量化交易策略研究金融风险建模投资组合优化金融预测模型开发深度学习在金融中的应用💡 擅长工具:Python/R/MATLAB量化分析机器学习模型构建金融时间序列分析蒙特卡洛模拟风险度量模型金融论文指导📚 内容:金融数据挖掘与处理量化策略开发与回测投资组合构建与优化金融风险评估模型期刊论文✅✅ 感恩科研路上每一位志同道合的伙伴!

算法与数据 623

全国青少年信息素养大赛图形化(Scratch)编程考点总结

全国青少年信息素养大赛图形化(Scratch)编程考点总结

伶俐角少儿编程 382

ZooKeeper 实战:使用 Docker Compose 部署 ZooKeeper 集群

ZooKeeper是一个开源的分布式协调服务,用于管理大型分布式系统中的数据。它由Apache软件基金会提供,最初是Hadoop的一个子项目,但后来发展成为一个独立的顶级项目。ZooKeeper提供的一致性协调服务对于构建分布式应用和服务非常重要,特别是在需要精确的领导选举、配置管理、命名服务、分布式同步和提供分布式锁等功能时。

SmartSi 1541

[AMEX] LGBM Optuna美国运通信用卡欺诈赛 kaggle

我们将从此处加载@raddarKaggle数据集并在此处进行讨论。然后我们将在此处和此处的笔记本中设计@huseyincot建议的功能。我们将使用RAPIDS和GPU快速创建新功能。我将使用XGBoost入门笔记本(2)中介绍的功能和数据预处理方法。使用Optuna进行超参数调整。流程和特征工程师训练数据。.........

具身机器人和通用AI 1435

7.91版本unidbg调用方式

【代码】xhs最新7.91版本unidbg调用方式。

Codeooo 博客 1107
上一篇: 信用卡违约客户的预测模型的选择(一)相关技术介绍
下一篇: 信用卡违约客户的预测模型的选择(三)线性回归
jesuswalks
博客等级 码龄18年 40粉丝 13原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值