Kaggle竞赛介绍: Home Credit default risk(四)

请点击上方“AI公园”,关注公众号


本文选自Kaggle

作者:Will Koehrsen

编译:ronghuaiyang

Kaggle的信用卡违约风险预测竞赛,非常有参考价值,做风控和大数据挖掘的同学可以参考一下,非常详细,非常适合入门,从数据处理到模型的构建,非常全面,文章比较长,分几次发出来,这是第四部分,主要讲构建基线模型。

基线模型

我们建立一个逻辑回归模型作为基线。

逻辑回归的实现

我们这里会聚焦于模型的实现而不是解释模型的细节,如果想了解更多的算法方面的细节,可以去看看统计机器学习方面的书籍以及使用Scikit-Learn和TensorFlow来做机器学习的书籍。

我们会使用所有的经过编码之后的类别变量来构建我们的基线模型。我们会补全缺失值归一化特征的范围。下面的代码就是这些预处理的步骤。

In [39]:

 
   
 
   

我们使用Scikit-Learn中的LogisticRegression来构建我们的第一个模型。我们对默认的设置要做的唯一的修改就是减小正则化参数的值,这个参数控制了过拟合的程度。这会让我们的模型比默认的设置要好一点,这个是我们未来的模型的下界。

然后我们使用我们熟悉的Scikit-Learn的语法:先创建一个模型,再使用fit方法进行训练,然后再使用predict_proba来对测试数据进行预测。

In [40]:

 
   

Out[40]:

 
   

现在,模型训练好了,我们可以开始使用这个模型进行预测了。我们需要预测的是不还贷款的概率,我们使用predict.proba这个方法,这个方法返回一个mx2的数组,m是样本的个数,第一列是target是0的概率,第二列是target是1的概率,所以对于每一行,两个概率值的和必须为1。我们需要的是不还贷款的概率,所以我们选择第二列。

下面的代码对测试数据进行了预测,选择了正确的列。

In [41]:

 
   

预测的格式需要和sample_submission.csv中的一样,里面只有两列, SK_ID_CURRTARGET,我们会创建一个dataframe和这个格式一样,叫做submit。

In [42]:

 
   

Out[42]:


SK_ID_CURR TARGET
0 100001 0.087750
1 100005 0.163957
2 100013 0.110238
3 100028 0.076575
4 100038 0.154924

这个预测是一个概率,如果需要进行分类,还需要设置一个阈值。

In [43]:

 
   

这个逻辑回归模型基线模型的分数应该在0.671左右。

模型的提升:随机森林

为了打败我们的这个基线模型,我们可以升级一下算法。我们可以试试随机森林的方法。当我们使用数百颗树的时候,随机森林会是个更加强大的算法。这里,我们使用100颗树。

In [44]:

 
   

In [45]:

 
   
 
   

In [46]:

 
   

这个模型提交之后的分数在0.678左右。

使用特征工程之后的特征进行预测

多项式特征和领域知识是否能提升模型的能力,只有模型训练了之后才知道。我们对比一下做了特征工程和没有特征工程的模型表现。

In [47]:

 
   

In [48]:

 
   
 
   

In [49]:

 
   

这个模型的分数是0.678,和没有做特征工程完全一样。这表明特征工程在这个场景中并没有什么用。

测试领域特征

现在我们看看领域特征有没有什么帮助。

In [50]:

 
   
 
   

In [51]:

 
   

分数是0.679,这说明领域知识在这个模型中也没有什么用。(但是使用Gradient Boosting模型是有用的)

在后面的内容中,我们会做更多的特征工程,使用外面的数据信息。从经验来看,这样会很有帮助。

模型的解释:特征的重要性

通过随机森林中的特征重要性,我们可以看到哪个变量是最重要的。从我们之前分析的数据相关性来看,我们会期待 EXT_SOURCEDAYS_BIRTH是最重要的特征。我们也许可以使用这些特征重要性来进行降维。

In [52]:

 
   

In [53]:

 
   

Kaggle竞赛介绍: Home Credit default risk(四)_第1张图片

和期待的一样,最重要的特征是 EXT_SOURCEDAYS_BIRTH。我们看到,只有一些特征对模型有着比较大的重要性。这表示我们也许可以丢到大量的特征,而不影响最终的表现(甚至是模型能力的提升)。特征的重要性并不是模型解释性的最重要的方法,我们只是从这个开始。

In [54]:

Kaggle竞赛介绍: Home Credit default risk(四)_第2张图片

我们看到,我们手工特征工程的4个特征到到了top-15的重要特征里面。这表明我们的领域特征做的还是可以的。

(未完待续)


本文可以任意转载,转载时请注明作者及原文地址。


640?wx_fmt=jpeg

请长按或扫描二维码关注我们


你可能感兴趣的:(Kaggle竞赛介绍: Home Credit default risk(四))