kaggle竞赛——桑坦德银行客户满意度预测(二)

探索性数据分析(二)

分析带关键词前缀的特征

var前缀特征

在上一章中我们对主要的var特征进行过分析,现在我们可以看看var关键字特征有哪些

import re
[col for col in train.columns if col[:3] == 'var']
['var3', 'var15', 'var36', 'var21', 'var38', 'var15_below_23']

其中,var15_below_23是我们新创建的特征,代表用户是否小于23岁。那除了var关键字,是否还有其他的关键字呢?

f_keywords = {
   
   col.split('_')[0] for col in train.columns if (len(col.split('_')) > 1) &~ ('var15' in col)}#&~:满足前面但不满足后面
f_keywords

结果如下:

{'imp', 'ind', 'num', 'saldo'}
# 计算每种关键词前缀特征的计数
f_keywords = zip(f_keywords, np.zeros(len(f_keywords),dtype=int))
f_keywords = dict(f_keywords)
for key in f_keywords.keys():
    for col in train.columns:
        if key in col:
            f_keywords[key] += 1
f_keywords

关键字及其包含特征数如下:

key value
ind 32
num 64
imp 14
saldo 26

我们用直方图来直观的展示这个列表:

k = pd.Series(f_keywords)
ax = sns.barplot(x=k.index,y=k.values)
plt.title('特征关键词前缀的频数分布')
plt.ylabel('频数')
plt.xlabel('关键词前缀')
plt.show()

在这里插入图片描述

接下来我们先来分析特征最少的imp关键字特征。

imp特征

我们先来查看imp特征有哪些

imp = [col for col in train.columns if 'imp' in col]
imp
['imp_ent_var16_ult1',
 'imp_op_var39_comer_ult1',
 'imp_op_var39_comer_ult3',
 'imp_op_var41_comer_ult1',
 'imp_op_var41_comer_ult3',
 'imp_op_var41_efect_ult1',
 'imp_op_var41_efect_ult3',
 'imp_op_var41_ult1',
 'imp_op_var39_efect_ult1',
 'imp_op_var39_efect_ult3',
 'imp_op_var39_ult1',
 'imp_aport_var13_hace3',
 'imp_var43_emit_ult1',
 'imp_trans_var37_ult1']

共有14个特征,由于逐一分析难度较大且同一关键字特征的分布应该存在共性,所以我们随机选取其中一个进行分析。

random.seed(a = 0)
print('被随机选择中的imp特征:%s' % 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值