决策树 v.s.逻辑回归

作者注:

创业就是你跳下悬崖,然后在下落的过程中组装飞机。

—— 里德 • 霍夫曼

要么起飞,要么坠落,

跳的时候这些情况都想好了吧?

你害怕嘛?

-----------------------------------------------------

曾写过Binning原理

Binning最直观的好处在于可以强行掰直变量,比如双曲的,合理分箱,可以线性化。

后来FICO的小伙伴又在Binning基础上发展了WOE变量,两个好处,一是建模更容易(虽然多了一个步骤),二是一定程度上解决过拟合(Overfitting)问题。

本文讨论下WOE、原始变量,以及混合变量,关于各个模型的关系,也会加入under-sampling,降维,调参,考察对模型的影响情况。

下文可能用到的名词:

Cross Validation CV

交叉验证,这种方法存在的意义,还是针对小样本的情况,交叉验证可以提升模型的可靠程度。

具体操作如下:

将训练集分成5份(你也可以分成10份),将其编号1、2、3、4、5;

每次用四份训练,用 一份测试,例如1-4训练,5测试,抑或2-5训练,1测试;这样遍历地走一遍,每次训练测试会输出某个指标,诸如F1 Score,或者AUC;

对上述所有输出的指标取平均,比如5个AUC的简单平均,就是Cross Validation AUC

图示如下:

图来自百度百科

F1 Score

提到F1 Score,必然要提一下Precision,Recall,Accuracy。

笔者将这个概念整理如下,科普级别。

图原创

计算方式如下

图原创

F1 Score的好处就是,可以从预测和实际两个角度来看模型预测的TP是否足够好。

实验结论

WOE变量对线性模型(LR)效果更好,相比于决策树模;

当Feature Set增大时,对决策树更有提升作用,相比于线性模型(LR);

Under-sampling对于小样本集的作用不大

实验结果

WOE变量下,LR的拟合效果最好,AUC最高。

原始变量的效果都要弱于WOE变量,主要由于WOE变量有强行掰直的作用。

在混合了一些变形的变量,也就是拓宽了Feature Set后,发现XGBoost就发挥实力了,而且优于一开始LR的区分力。

当然,本身问题集具有一定局限性,即如果换一个数据集,更多样本,更多特征,结果可能就是另一番风景。

该实验样本量20000左右,特征100-200个。

决策树(DT) v.s. 逻辑回归(LR)

不少论调都说LR和DT没啥差异,但我总觉得哪里不对劲,今天来论证下,欢迎怕转。

先看一个XGBoost的视觉化效果(就是某个Gradient Boost Tree)

图中点的大小,代表了变量的重要程度。

假设节点2由于某种原因只能到右边支路,那线上运行的所有样本,就只有节点4带来的两种情况;但如果是线性模型,节点2的变量挂掉之后,依然能有丰富的线性组合出来的概率值。

这就是我觉得不太对的地方。

总结一下上次Tomas给的Task。

有好的想法也可以提示我一下。:P

-------------------------------------------------

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180707G00NH400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券