sql数据导入错误代码: 0x80004005_SQL入门第八关 项目实战

不知不觉,学SQL已经一个多月了,每天下班学一个小时,有空做做练习题。从之前的焦虑到现在已经有了一定的自信了,猴子的课程真的很适合小白入门,尤其是SQL学习群里,助教老师很尽责,每个问题都会解答。当然更多的还是需要自己多加练习,查资料,看书,当自己遇到自己不会的问题时,通过自己研究解决问题的感觉太棒了,久违的成就感。

因为本身自己是做金融行业的,今天的项目实战就选取金融行业的实战数据进行一个简单的风控策略分析,其中不乏一些解决问题的心路历程,有点啰嗦,闲话少说,实战开始:

一、数据选取及导入

首先拿到数据的时候我是懵逼的:

3f38c195a7f468512a7a192598c9447d.png

从网盘上下载的数据选取的数据总共57356条,其实不算多。但主要是有69列,字段名都是因为英文,很多金融行业的专业词汇,自己只能看懂一些,虽然有部分释义,但只有几个,而且没办法一一对照着看,在Google的帮助下勉强把列名翻译成了我能看懂的中文,大概是这样:

5926159731a7baa53698b56c278c92d2.png
我尽力了

(一)在做数据导入之前,先弄清楚两个问题:自己有什么?自己想要干什么?

1.自己有什么?数据总共69个字段,包含了客户的贷前贷中贷后的各个标签维度,我们将逾期客户定义为坏客户,非逾期客户定义为好客户。

2.我想要什么?我想要的是如何通过已知客户的数据分析得出结论,设置风控策略,将其中一部分坏客户拒掉。这其中有一个假设,就是未来的客户表现在概率上的特征与存量数据客户在概率上是一致的。也就是说,我们通过已有的数据分析得出坏客户标签最明显的那部分客户,可能是一个、也可能是多个标签,将这部分客户剔除掉,就能使得我们的逾期率得到改善。由于是要做的是贷前风控策略,所以我们把其中贷中和贷后的数据都暂时删除掉。

最终经过自己的初步筛选,除了主键以外,我们选取的列还剩下20个可供我们进行分析。

(二)数据的导入

按照数据的步骤进行操作,结果第一步就卡壳了,EXCEL表打不开,在公众号上查了解决方案后,发现需要去网上下一个微软的数据导入读取插件,accessdatebaseengine之类的。在网上找到下载以后就能打开了。

紧接着一路顺畅,到了最后一步发现又难住了,提示错误。

eb7508480cecab9762f6bc8bc05f7972.png

直接将错误代码百度了一下,发现是字段太多了,字段太长导致超标了‘too large’,于是在上一步把255改成了100,实际可以视业务和字段情况而定,我这里就是图省事儿。

然后就好了

8241d2aa81e50138db84bf86a8e0d705.png

接下来就可以开始分析了

二、数据分析

首先,我们分析原数据里‘是否逾期’这一列直接用的0和1来表示的,也就是说我们要分析的Y变量可以直接用SUM(是否逾期)来表示我们的坏客户

第一步,我们先看看这组数据整体的逾期率,取出来是29.66%,可以说是很高了,也就是说我们需要从其他变量中选取一些变量来分析坏客户,然后假设把他们剔除掉以优化我们好客户的占比,目标是降低29.66%这个数:

fc51e77d6c8a49836a6dca1735fc729f.png

第二步,对各个列进行分析(这里有一个重要的小技巧,也是在助教老师的提示下才解决的)

首先,按信用评分分组统计,我的结果是这样的:

3c9494af212febd0d02462aa0b03470e.png

这里我发现其中B,C,D和HR,NC,E可以进行三三分类,因为他们的逾期率相差不大。如何运用SQL语句实现这一点,说实话我想了很久,最后还是在群里助教老师的提示下,茅舍顿开,才有了下面的语句实现了这一点:

bb24887c548d69539bfa2ed0d9c9c5d3.png

59c7a8c5232230dbcb65241882993667.png

把语句格式问题解决了,接下来就简单了,把所有需要分析的字段分别分组列出来就行了,这里由于篇幅有限,只放区分度最好的两个,除了上面的信用评级,还有征信总查询次数,具体SQL语句都大同小异:

下图是征信查询次数

79b53b712c86552bc58cb417d25619f5.png

最终我们得到的数据结果分组后,在EXCEL上显示如下图

c1ff860d13bf865ccf772f17aab840c6.png

三、计算提升度和评估执行后的效果

为什么要计算提升度?计算提升度是指——我们通过运用数据来计算各分组最差的那一档的客户,占总逾期账户数的权重是多少。具体公式是:分组最差档位逾期客户数/总逾期客户数/分组用户占比。

3d02664f16ab414182fd1d17e44fd6a1.png

这里得到的数值,我们称之为提升度。。大概逻辑是:最差这一档逾期客户占比除以这一档所占的权重。将以上各个分组计算后,于是我们得到了下面这个图:

cabf1f731a585889b8854f49c8b08ef4.png

从图中我们可以看出:“征信总查询次数”和“信用等级”这两个字段最差档位的逾期客户的提升度最大。

接下来我们就可以拟定我们的风控策略了:

3cc6a4d2dc46e245167efcb271d97f54.png

两种策略的执行结果分别是:

若征信查询次数>=21则拒绝,总逾期率会下降1.69%,但会拒绝掉5.44%的客户。

若信用评级为“E,HR,NC”则拒绝,总逾期率会下降3.54%,但会拒绝掉12.09%的客户。

根据这两天策略,我们可以直接给出建议,看是为了选择3.54%的逾期率降幅去牺牲掉12.09%的客户(这其中有7.66%的好客户)呢?还是只选择降低1.69%的逾期率,只牺牲掉5.44%的客户(这其中有3.17%的好客户)?这就要看公司决策层的战略和风险偏好了,后者对风险的容忍度较高。

四、总结和感悟

实际上,在信贷行业的策略中,我们要做的永远都是一个平衡问题,如何去找到收益和风险之间的那个点。

目前头部的几家互联网金融公司和各大银行所采用的风控模型都是基于大数据量下的风控,所以数据分析能力在当今的信贷行业相当重要,在客户数据达到一定量级以后,我们关注的都是大数据条件客户逾期的概率问题。总体所设定的风险策略是自己能风险偏好能接受的,同时能产生收益最大化,也就是我们信贷风险分析的终极目标。

这其中有几个问题值得我们进一步学习和探讨:

1.自己所做的分档是根据数据表现人工抉择表现接近的归为一档的分档方式,是否有更科学的分箱规则,如何来实现?

2.单维度的风控策略逻辑相对简单,但现实中我们往往遇到的多维度和更加细化的策略抉择问题:例如‘信用评级’最低的那一个档位里,有没有其他变量又能从中区分出坏人中的好人,或者是坏人中的‘铁坏人’,这就涉及到不同变量之间的交叉分析,到底哪几个特征综合在一起抓住坏人的概率更高?

基于以上两个问题,我想机器学习和PYTHON运用 能告诉我答案,咱们高级课程见。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟主机选择php版本,虚拟主机的php版本如何选择

虚拟主机如何选择php版本?虚拟主机选择PHP版本,这是根据网站程序设置的。例如,新版本的WordPress需要PHP5.6和更高版本,而旧版本,如WordPress4,可以使用PHP5.2、5.3和其他更低版本。虚拟主机的PHP版本是什么…

有十五个数按由大到小顺序存放在一个数组中_数据结构基础 (代码效率优化, 线性表, 栈, 队列, 数组,字符串,树和二叉树,哈希表)...

作者:张人大代码效率优化复杂度 -- 一个关于输入数据量n的函数时间复杂度 -- 昂贵与代码的结构设计有着紧密关系一个顺序结构的代码,时间复杂度是O(1), 即任务与算例个数 n 无关空间复杂度 -- 廉价与数据结构设计有关数据结构 -- 考虑如何去组织计算机中…

图片马赛克去除工具_图片太多该如何进行排版呢?

胖友们大家好呀,我是三儿昨天三儿刚讲了多文字如何排版就有胖友在后台留言说问三儿如何对图片较多的内容排版那么今天三儿就来教大家图片较多时我们该怎样排版!赶紧拿着小本本做好笔记哦!图片的重要性图片在排版设计中,占有很大的…

神经网络人口预测matlab,BP神经网络预测(人口)程序(matlab)

自己测试人口预测的matlab实现:x[5416755196563005748258796602666146562828646536599467207662076585967295691727049972538745427636878534806718299285229871778921190859924209371794974962599754298705100072101654103008104357105851107507109300111026112704…

php如何监听页面滚动,html5中在元素滚动条在滚动时触发的事件onscroll

实例元素滚动时执行 JavaScript定义和用法onscroll 事件在元素滚动条在滚动时触发。提示: 使用 CSS overflow 样式属性来创建元素的滚动条。浏览器支持语法HTML 中:JavaScript 中:object.οnscrοllfunction(){myScript};JavaScript 中, 使用 addEventListener() 方…

可观测性PHP秩判据,线性系统的可控性与可观测性

现代控制理论中用状态方程和输出方程描述系统,输入和输出构成系统的外部变量,而状态为系统的内部变量,这就存在着系统内的所有状态是否可受输入影响和是否可由输出反映的问题,这就是可控性和可观测性问题。如果系统所有状态变量的…

matlab中的nlinfit,matlab中nlinfit问题!!!!!!!!!!!!

matlab中nlinfit问题!!!!!!!!!!!!mip版 关注:272 答案:3 悬赏:40解决时间 2021-01-19 04:20已解决2021-01-18 13:28muinline(beta(…

电机控制系统php,电机控制系统的未来发展变化趋势

在智能化生产系统的发展过程之中,网络化分布式生产设备的实现意味着我国机器设备之间可以达到信息沟通的能力,而在这种沟通之中良好的控制系统则承担了枢纽的职责。在这种地机控制系统的发展之中迎合了我国智能联网时代的发展需求,将人机交互…

微信wechat.class.php,laravel使用组件实现微信网页授权登入

laravel框架中的实现简单实现微信网页授权登入首先引入基于laravel的easywechat的组件,laravel版本5.8$ cd laravel$ composer require "overtrue/laravel-wechat:~5.0"然后呢因为下载过程会比较缓慢所以可以先根据官方提供的方式配置一下该组件的中间件根据官方提供…

qc成果报告范例_质量引领创新 扬子江勇夺医药行业QC“十五连冠”

近日,第40届全国医药行业QC小组成果发布交流会圆满落幕,扬子江药业集团勇夺QC一等奖总数“十五连冠”。会上,业界人士共享新成果、带来新思考、集聚新视野。扬子江人凭借高标准、高要求的精益求精的创新精神,在产品质量、技术、人…

oracle 11g安装时设密码 database control,安装oracle 11g 保护Database Control时出错,Database Control已在非安全模式下启动...

错误解决:打开cmdC:\Users\lin>emctl status dbconsoleEnvironment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.C:\Users\lin>C:\Users\lin>set oracle_sidorclC:\Users\lin>emca -config dbcontrol dbE…

oracle fs1 2多少u,甲骨文FS1系列闪存的“大道至简”

近年来,存储技术中,闪存技术顶着“最高效挖掘数据能力”和“最小容量需求”的称号试图颠覆传统存储的技术架构和竞争格局。据IDC预测,全闪存存储阵列市场规模在2015年将增至12亿美元,而到2016年这一市场将增至16亿美元&#xff0c…

django oracle 性能,4.利用Django在前端展示Oracle 状态趋势

利用Django在前端展示Oracle 状态趋势2017-12-15 Python 宅必备开发环境操作系统:CentOS 7.4Python版本 :3.6Django版本: 1.10.5操作系统用户:oms数据处理:pandas前端展示:highcharts通过上面我们已介绍了如何定时获取系统Oracle状态语句以及如何利用pandas处理成highcharts识别…

linux 格式化 目录,Linux 磁盘分区、格式化、目录挂载

实验环境: Citrix虚拟化, RHEL6.4系统环境本文目的: 熟悉Linux的基本磁盘分区、格式化、目录挂载。1.显示当前主机目录2.磁盘分区3.磁盘格式化4.挂载目录1. 显示当前主机目录命令df -h[rootlocalhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/map…

linux用分词系统,Linux(CentOS 6.4)Solr4.8.1中文分词配置(IK分词)

1、环境准备CentOS6.4、Tomcat6.0、Jdk1.7、Solr4.8.1、IK Analyzer 2012FF_hf12、配置步骤(1)下载IK Analyzer分词包,解压缩(2)将IKAnalyzer2012FF_u1.jar拷贝到solr服务的目录solr/WEB-INF/lib下cp /usr/download/IK Analyzer 2012FF_hf1/IKAnalyzer2012FF_u1.jar…

linux c程序加args,C/C++可变参数,“## __VA_ARGS__”宏的介绍和使用

在阅读代码的时候,在一个宏定义语句中,发现了个之前未曾见过的编译器预定义宏:“__VA_ARGS__”。当时,从代码语句中推测它代表宏参数:“…”(本文称之为省略号),依稀记得printf函数声明中有使用这个省略号&…

linux看java堆大小,linux 改java堆内存大小

linux 改java堆内存大小[2021-02-08 23:06:29] 简介:linux查内存大小的方法:首先打开应用程序;然后选择系统工具选项,并单击系统终端选项;接着在系统终端命令行输入【free -h】命令;最后在结果中找到total即可查看到系…

arch linux简体中文,User-mode Linux (简体中文)

本文或本节需要翻译。要贡献翻译,请访问简体中文翻译团队。什么是 user-mode-linux?User-mode-linux (UML) 是让一个linux作为一个独立进程运行在另一个linux上。 请在[1] 查找 uml 的详细安装使用指南。这篇 wiki 文章是 这帖[失效链接 2020-08-06 ⓘ] 概要。 如果…

cad常用字体包_CAD制图初学入门如何学好CAD?CAD大神总结5点诀窍,必须收藏

现在有很多的小伙伴们都加入到了CAD这个大家庭中,一开始都是都是一脸懵的状态,更不知要从何入手!小编才开始也是,但是只要掌握好CAD的技巧和脊髓,一切都不是事。CAD大神总结5点诀窍,悄悄告诉你,…

栈windows linux,Linux+Windows: 程序崩溃时,在 C++ 代码中,如何获取函数调用栈信息...

一、前言程序在执行过程中 crash 是非常严重的问题,一般都应该在测试阶段排除掉这些问题,但是总会有漏网之鱼被带到 release 阶段。因此,程序的日志系统需要侦测这种情况,在代码崩溃的时候获取函数调用栈信息,为 debug…