作者注:
创业就是你跳下悬崖,然后在下落的过程中组装飞机。
—— 里德 • 霍夫曼
要么起飞,要么坠落,
跳的时候这些情况都想好了吧?
你害怕嘛?
-----------------------------------------------------
曾写过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
-------------------------------------------------
领取专属 10元无门槛券
私享最新 技术干货