当前位置: 代码迷 >> 综合 >> 贷款违约预测-Task4
  详细解决方案

贷款违约预测-Task4

热度:21   发布时间:2024-02-22 09:51:01.0

Task4:建模和调参

1、读取数据:

正常的读取数据流程是读取一个模型数据,然后对数据进行建模处理——即分离数据集,分成训练集和测试集;目的是为了利用交叉验证对模型性能进行评估。教程就是采用的这个正常的流程。

data_train =pd.read_csv(’…/train.csv’)
data_test_a = pd.read_csv(’…/testA.csv’)
data_train = reduce_mem_usage(data_train)
data_test_a = reduce_mem_usage(data_test_a)

X_train=data_train.drop([‘id’,‘issueDate’,‘isDefault’,], axis=1)
X_test=data_test_a.drop([‘id’,‘issueDate’], axis=1)
y_train = data_train.isDefault

2、建模

模型有很多种,我就不粘贴教程了,直接采用教程的Lightgbm模型开始搬砖。这个模型需要对上面提到的训练集数据进行划分,分成训练集和验证集,然后开始其他操作,步骤如下:

对训练集数据进行划分,分成训练集和验证集;
使用训练集数据进行模型训练;
对验证集进行预测;
计算AUC评价模型。
最后使用5折交叉验证对模型进行性能评估。

3、调参

模型建立完成后就要优化参数,一般有贪心调参、网格调参和贝叶斯调参。这里总结下贝叶斯调参的步骤:

定义优化函数(rf_cv)
建立模型
定义待优化的参数
得到优化结果,并返回要优化的分数指标
这样就得到优化后的参数啦!

4、确定最终模型

参数优化完成后,我们可以根据优化后的参数建立新的模型,降低学习率并通过cv函数寻找最优模型迭代次数;使用该迭代次数和优化参数建立最终模型,并用5折交叉验证进行模型评估;

通过5折交叉验证可以发现,模型迭代次数在13000次的时候会停之,那么我们在建立新模型时直接设置最大迭代次数为13000,并使用验证集进行模型预测和计算ACU;