金融风控建模评分卡系列:机器学习特征选择方法

在数据维度”泛滥”成灾的现代,如果不对特征进行筛选直接来建模的话不但会造成模型复杂度的提升,增加计算压力,同时也会因为数据的冗余浪费没有必要的数据费用支出。特别是在金融领域内,因为要求对模型的复杂度和可解释性都有很高的要求,所以在建模前的特征选择是及其重要的。因为每个人在建模时的习惯和方式有差别,所以在选择特征筛选方法的时候也会略有差异,以下会列举使用比较多的方法,你可以根据自己的需求进行使用。需特别说明一下特征选择没有固定的标准和尺度,这一部分需要读者根据自己的实际情况进行设计,但是总的宗旨是”降冗余”。

目录

1.缺失值删除

2.独值删除

3.相关性

4.多重共线性

5.P_value

6.系数法

6.不相关特征

8.特征重要性

9.PCA

10.方差筛选

11.过滤法(Filter)

12.包裹法(Wrapper)

13.嵌入法(Embedding)

一,缺失值删除

这部分对金融风控模型至关重要,我们不但要排查缺失值问题,而且还要解释缺失值问题。对于缺失不严重的数据,在金融风控建模的过程中基本上就是根据缺失的含义进行处理,或者填充一个特殊值。但是对于缺失比较严重(80%以上)的特征一般是不进入模型,但是这个特征如果效果很好,可以用作策略规则。

data_select.isnull().sum()/data_select.shape[0]

二,独值删除

这部分主要是查看一个特征里面单个值占比最大值,如0值占比99%等这类值。一个特征里面如果一个值的占比过大,这个特征可能产生的增益较小,但是也存在非最大独值那一部分区分度较好的情况,这部分变量如何取舍要根据自己的平台情况而定。一般情况下阈值大于一定值 的且有区分度的变量会拿过来做规则使用。

all_shape = data_select.shape[0]
for i in new_cols:
    max_num = data_select[i].value_counts().max()
    print("变量"+i+"最大独值率为:",max_num/all_shape)

三,相关性删除

这部分主要是剔除变量之间相关性比较高的变量,如果两个变量之间相关性比较大,一般会造成数据上的冗余,以及模型的可解释性变差,增加计算复杂度,甚至是模型的过拟合。所以在建模前要剔除相关性比较高的变量。

import seaborn as sns 
sns.set(rc={'figure.figsize':(16,10)}) 
sns.heatmap(data_select[new_cols[2:12]].corr(), 
            annot=True, 
            linewidths=.5, 
            center=0, 
            cbar=False, 
            cmap="PiYG") 

四,多重共线性删除

这部分变量是类似于相关性变量筛除的,相关性是两两之间的关系,多重共线性是多个变量之间的关系。通常使用方差膨胀因子 (VIF)进行表示。一般经验值(不是绝对的根据自己模型性质和数据情况而定)如下:

1.VIF = 1 表示无相关性

2.VIF = 1-5 中等相关性

3.VIF >5 高相关

from statsmodels.stats.outliers_influence import variance_inflation_factor 
vif = pd.Series([variance_inflation_factor(data_select[new_cols].values, i) for i in range(data_select[new_cols].shape[1])],
                index=data_select[new_cols].columns) 
 
index = data_select[new_cols].columns.tolist() 
vif_df = pd.DataFrame(vif, index = index, columns = ['vif']).sort_values(by = 'vif', ascending=False) 
vif_df[vif_df['vif']<5]
var_name vif
cols_48 3.577764
cols_55 3.153996
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Python金融大数据风控建模实战:基于机器学习》是一本介绍如何使用Python进行金融大数据风险控制建模的实践指南。本书主要包括以下内容。 首先,本书详细介绍了使用Python进行金融大数据处理的基础知识。读者将了解如何使用Python进行数据清洗、特征工程以及数据可视化等操作。这些基础知识对于建立可靠的金融风险模型至关重要。 其次,本书介绍了机器学习金融风控建模中的应用。读者将学习常用的机器学习算法,包括逻辑回归、决策树、随机森林等。同时,本书还介绍了如何使用交叉验证和网格搜索等技术来选择最佳的模型参数。 另外,本书还提供了一些实际案例,介绍了如何使用Python进行金融大数据风控建模的实战经验。这些案例包括信用评级、欺诈检测等实际应用场景,读者可以通过实际案例来学习如何将机器学习算法应用于真实的金融风控问题。 最后,本书还介绍了一些工具和库,如pandas、numpy和scikit-learn等,这些工具和库能够帮助读者更高效地使用Python进行金融大数据风控建模。 总的来说,《Python金融大数据风控建模实战:基于机器学习》是一本非常实用的书籍,对于想要学习如何使用Python进行金融大数据风控建模的读者来说,具有很高的参考价值。通过阅读本书,读者可以了解到如何使用机器学习技术来解决金融风险问题,了解如何应用Python工具和库进行数据处理和模型建立,并通过实际案例来提高实践能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值