三、大数据实践——构建新特征指标与构建风控模型

一、建立新的信用指标评估体系

二、计算新的指标值

1、以年消费总额这个新指标为例

年消费总额 = transCnt_mean * transAmt_mean

把计算结果作为新特征,加入作为新列加入data

# 计算客户年消费总额。
trans_total = data['transCnt_mean']*data['transAmt_mean']

# 将计算结果保留到小数点后六位。
trans_total =round(trans_total,6)

# 将结果加在data数据集中的最后一列,并将此列命名为trans_total。
data['trans_total'] = trans_total

print(data['trans_total'].head(20))

其他几个新指标做类似上述方法处理

 

三、构建风控模型

1、构建风控模型流程

2、分层采样

由于目标标签属于非平衡数据,数据集中违约客户远少于未违约的客户,为了更客观构建风控模型和评估效果,应该尽量使训练集和测试集中违约客户的比例一致,因此需要采用分层采样方法来划分训练集与测试集。

划分过程: 分层、随即划分、合并

 

 可见,经过分层采样后,训练集与测试集中违约样本比例会保持一致。

 

 

from sklearn.model_selection import train_test_split

# 筛选data中的Default列的值,赋予变量y
y = data['Default'].values

# 筛选除去Default列的其他列的值,赋予变量x
x = data.drop(['Default'], axis=1).values

# 使用train_test_split方法,将x,y划分训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=33,stratify=y)

# 查看划分后的x_train与x_test的长度
len_x_train = len(x_train)
len_x_test = len(x_test)
print('x_train length: %d, x_test length: %d'%(len_x_train,len_x_test))

# 查看分层采样后的训练集中违约客户人数的占比
train_ratio = y_train.sum()/len(y_train)
print(train_ratio)

# 查看分层采样后的测试集中违约客户人数的占比
test_ratio = y_test.sum()/len(y_test)
print(test_ratio)

3、使用LogisticRegression建立风险评估模型

from sklearn.linear_model import LogisticRegression

# 调用模型,新建模型对象
lr = LogisticRegression()

# 带入训练集x_train, y_train进行训练
lr.fit(x_train,y_train)

# 对训练好的lr模型调用predict方法,带入测试集x_test进行预测
y_predict = lr.predict(x_test)

# 查看模型预测结果
p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值