在模型开发中,并不是所有的特征要全部筛选进模型,因为金融数据一般特征有很多,如果全部放入模型,一方面可能会引起“维度灾难”,另一方面得到的结果也许并不是最好的,因为有些特征之间的相关性较强。所以我们有必要对特征进行一定程度的筛选.数据的话可以去评分卡模型开发-数据集缺失值处理下载

import pandas as pd

import os

os.chdir("C:\\Users\\Administrator\\OneDrive\\步履不停\\评分卡制作\\数据")

df = pd.read_csv(".\\GermanCredit.csv",index_col=0)

df.head()

#将违约样本用"1"表示,正常样本用0表示

import numpy as np

df['credit_risk'] = df['credit_risk'].apply(lambda x:np.where(x=='good',0,1))

#获取定量指标

df.info()

continuous_vars = []

category_vars = []

for i in df.columns:

if df[i].dtype=='int64': #判断条件依据df.info()的结果而定

continuous_vars.append(i)

else:

category_vars.append(i)

X = df.loc[:,continuous_vars[:-1]]

X.head()

y = df.loc[:,continuous_vars[-1]]

y.head()

至此,我们将数据源中的所有特征分为了定量和定性,接下来我们讲讲怎么在python中选取定量特征

通过随机森林判断特征的重要性

from sklearn.ensemble import RandomForestClassifier

#无需对基于树的模型做标准化或归一化处理

forest = RandomForestClassifier(n_estimators=10000,random_state=0,n_jobs=-1)

forest.fit(X,y)

importances=forest.feature_importances_

importances

得到如下结果:

array([ 0.18996948, 0.34514053, 0.06920705, 0.07587584, 0.2470823 ,

0.04564897, 0.02707582])

接下来我们利用numpy中argsort函数得到imoortances中从大到小排列的索引值,并根据索引值将每个特征的重要性值排列出来

indices=np.argsort(importances)[::-1]

feat_labels=X.columns

for f in range(X.shape[1]):

print("%2d) %-*s %f " %(f+1,30,feat_labels[f],importances[indices[f]]))

得到如下结果:该结果是根据均值精度下降法得出来的

1) duration 0.345141

2) amount 0.247082

3) installment_rate 0.189969

4) present_residence 0.075876

5) age 0.069207

6) number_credits 0.045649

7) people_liable 0.027076

最后我们可以将其可视化:

import matplotlib.pyplot as plt

%matplotlib inline

plt.title('Feature Importances')

plt.bar(range(X.shape[1]),importances[indices],color='lightblue',align='center')

plt.xticks(range(X.shape[1]),feat_labels,rotation=90)

plt.xlim([-1,X.shape[1]])

plt.tight_layout()

1.png

python评分卡模型 简书_评分卡模型开发-定量特征筛选相关推荐

  1. python scatter 简书_【挖掘模型】:Python-DBSCAN算法 - 简书

    数据源:data (7).csv data (7).csv DBSCAN算法结果 DBSCAN模型 DBSCAN原理 # DBSCAN算法:将簇定义为密度相连的点最大集合,能够把具有足够高密度的区域划 ...

  2. python运维脚本简书_通过python+selenium3实现浏览器刷简书文章阅读量

    准备工作 下载python,本文以python3.6为例.python3.6下载地址:python3下载地址,选择合适的版本安装.安装成功后,打开命令提示符,在其中输入python,显示如下信息,则说 ...

  3. python飞机大战简书_飞机大战(pygame)开发实录一

    飞机大战,算是面向对象的程序语言入门必修程序,但大多教程只是点到为止,跳过了很多实际开发会遇到的问题,自然也错过了很多不错的经验.该系列文章针对python的pygame包,详细讲解了飞机大战的开发. ...

  4. python如何导入numpy简书_如何使用python3.x成功导入numpy?

    现在,来讨论这个问题.我成功地安装了numpy 1.7.0,虽然我必须先做一些注册表版本,但是在尝试将其导入shell时,我遇到了大量错误:Traceback (most recent call la ...

  5. 标准评分卡分数计算原理_评分卡模型监控(前端分析)

    1.评分卡模型监控主要可以分为前端分析(Front-End)和后端分析(Back-End) 2.前端分析关注样本人群的稳定性,指标主要有PSI和CSI 3.PSI用来衡量分数在开发样本和近期样本上的分 ...

  6. 标准评分卡分数计算原理_评分卡的形式、刻度及应用场景

     看到有伙伴提问: ①我们的评分卡做好后,后续的使用策略是什么呀,都有哪些方向? ②评分卡分数切割点如何定,制定的业务逻辑是什么? 其实,这个问题不好回答,也好回答. 一方面,不好回答是因为金融市场 ...

  7. 电影推荐系统 python简书_【记录|Spark】简单的电影推荐系统

    为了学习spark,在实验楼上找到的一个spark入门课程,在此记录一下学习过程. 我使用的Spark版本为Spark 2.2.0, 实验楼教程使用的是Spark 1.6.1 流程和算法介绍 这个简单 ...

  8. python scatter 简书_写给 Pythonist 的 Spacemacs 入门指北

    前言 最开始,使用 Sublime Text 编码,后来用 Vim 混合 PyCharm 写 Python. 前几天,Github 上的 Spacemacs 已经成功的突破一万 Star, 听说几个我 ...

  9. 电影推荐系统 python简书_分析9000部电影|一个简单的电影推荐系统

    不知道大家平时喜不喜欢看电影来消遣时光,我是比较喜欢看电影的.对我而言,当我看完一部电影,觉得很好看的时候,我就会寻找类似这部电影的其他电影.刚好有这么一个数据集,包含了很多部的电影,于是打算对其进行 ...

  10. python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

最新文章

  1. Vert.x 发送邮件
  2. 黄萱菁:自然语言处理中的可理解分析
  3. 日本社交巨头Line推出BCH交易服务,助力比特币现金蓬勃发展
  4. linux 修改超级权限密码,linux 修改用户密码
  5. openjudge-NOI 2.6-1759 最长上升子序列
  6. 11 Interior-point methods and Conclusions
  7. java office文件加水印_文档预览加水印——或可一用的防泄密方式
  8. java大作业私人管家系统_重庆管家婆软件丨管家婆工贸PRO的E-MES管理详解
  9. vim 环境写 markdown 的插件推荐
  10. 学了Java就有用,是本世纪最大的谎言
  11. JMETER 为什么需要分布式
  12. TCP/IP学习笔记(2)-数据链路层
  13. 两种方法递归斐波那契数列
  14. openmeetings2.0安装和开发
  15. BZOJ1085:[SCOI2005]骑士精神——题解+IDA*粗略讲解
  16. 《Go Web编程实战派——从入门到精通》学习笔记之第1章 Go基础入门
  17. Linux系统中的LVM与磁盘配额
  18. Python简单使用蓝本
  19. 死循环之----恐怖游轮
  20. 代码对比工具:我最喜欢用的还是这几个

热门文章

  1. Excel数据分析--客户对象分析
  2. javaw java_java与javaw区别
  3. 台式计算机模拟软件,全国计算机一级Office2010+win7版考试模拟软件
  4. 2022年iOS面试题简答题
  5. 局域网之间两台计算机同屏,如何实现内网多电脑同屏协同?
  6. 上海链家二手房交易数据分析
  7. APM 、PX4, PIXHAWK
  8. 新手入门:盘点Web测试与APP测试的异同点
  9. 看服务器硬盘序列号,获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)...
  10. python实现MD5加密工具