信用评分系统运行原理上篇(3)

简介: 信用评分系统运行原理上篇(3)

检测出最小的异常值 用于替换异常值


minUpperBound = min([val for (val, out) in zip(df.DebtRatio, mad_based_outlier(df.DebtRatio)) if out == True])
这句话的意思是 mad_based_outlier(df.DebtRatio) 返回true的时候 说明大于阈值 是异常值
找到所有的异常值 然后取最小值 得到最小的异常值


  • 替换异常值


image.png


大于异常值的数都用异常值替换


查看这一列的数据情况


image.png


画一个箱线图


image.png


查看月收入的数据情况



image.png


同样的方式 找最小的异常值 大于最小异常值的数值都用异常值替换


其他参数类似 不重复说了


数据切分


将数据切分成训练集和测试集


  • 导入库


from sklearn.model_selection import train_test_split


  • 训练数据和测试数据分割


Y = df["SeriousDlqin2yrs"]
X = df.iloc[:, 1:]
# 测试和训练数据进行3:7的比例进行切分 random_state定一个值是的每次运行的时候不会被随机分
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=123)
train = pd.concat([Y_train, X_train], axis=1)
test = pd.concat([Y_test, X_test], axis=1)
train.to_csv('TrainData.csv',index=False)
test.to_csv('TestData.csv',index=False)


探索性分析


一般用直方图、散点图、箱线图分析
下面利用直方图和核密度估计画图,Age、MonthlyIncome、NumberOfOpenCreditLinesAndLoans大致呈正太分布,符合统计分析


fig = plt.figure()
# alpha:设定图表颜色
fig.set(alpha=0.2)
# subplot2grid 在一张大图里分列几个小图 
#在网格的特定位置创建轴对象
# 允许轴对象跨越多个行或列
# 纵轴2,横轴3 位于第一个位置
plt.subplot2grid((2, 3), (0, 0))
# hist 直方图 
# bins 设定直方图中分组的数量
# figsize 是一个tuple,用来指定width和height的inch(厘米)
train["age"].plot(kind="hist", bins=30, figsize=(12, 6), grid=True)
plt.title("Hist of Age")
# 解决中文的显示问题
plt.rcParams["font.sans-serif"]=["SimHei"]
# 解决保存图像是负号'-'显示为方块的问题
plt.rcParams["axes.unicode_minus"] = False
plt.tight_layout() # 调整子图之间的间距,紧凑显示图像
plt.show()


image.png


特征选择


1、变量分箱 将连续变量离散化 将多状态的离散变量合并成少状态
2、变量分箱重要性 
a 稳定性 避免特征中无意义的波动对评分带来波动
b 健壮性 避免极端值的影响
3、变量分箱优势
a 可以将缺失值作为独立的箱带入模型中
b 将所有的变量变换到相似的尺度上
变量分箱劣势
a 计算量大
b 分箱之后需要编码
4、变量分箱常用方法
a 有监督
a-1 Best-Ks
a-2 ChiMerge (卡放分箱)
b 无监督
b-1 等距
b-2 等频
b-3 聚类


后续


下一篇写下 特征分箱等实现逻辑
相关文章
|
4月前
|
设计模式 安全 关系型数据库
PHP开发涉及一系列步骤和技术
【7月更文挑战第2天】PHP开发涉及一系列步骤和技术
136 57
|
机器学习/深度学习
信用评分系统运行原理上篇(1)
信用评分系统运行原理上篇(1)
176 0
信用评分系统运行原理上篇(1)
信用评分系统运行原理上篇(2)
信用评分系统运行原理上篇(2)
139 0
信用评分系统运行原理上篇(2)
|
机器学习/深度学习 Python
信用评分系统运行原理下篇(3)
信用评分系统运行原理下篇(3)
125 0
信用评分系统运行原理下篇(3)
|
算法
信用评分系统运行原理下篇(1)
信用评分系统运行原理下篇(1)
186 0
信用评分系统运行原理下篇(1)
信用评分系统运行原理中篇-分箱逻辑(4)
信用评分系统运行原理中篇-分箱逻辑(4)
129 0
信用评分系统运行原理中篇-分箱逻辑(4)
信用评分系统运行原理中篇-分箱逻辑(3)
信用评分系统运行原理中篇-分箱逻辑(3)
208 0
信用评分系统运行原理中篇-分箱逻辑(3)
|
算法 编译器 Python
信用评分系统运行原理中篇-分箱逻辑(1)
信用评分系统运行原理中篇-分箱逻辑(1)
176 0
信用评分系统运行原理中篇-分箱逻辑(1)
|
算法 数据处理
信用评分系统运行原理中篇-分箱逻辑(2)
信用评分系统运行原理中篇-分箱逻辑(2)
151 0
信用评分系统运行原理中篇-分箱逻辑(2)
|
存储 XML JavaScript
日志原理与开发分析这篇完全指南就够了!适应各种规模!
日志原理与开发分析这篇完全指南就够了!适应各种规模!
923 0
日志原理与开发分析这篇完全指南就够了!适应各种规模!