1、ensemble的层次是这样的
baseline是常数,是训练集因变量的平均
xgb = w1*xgb1 + (1-w1)*xgb2
trees = w2*gbm + w3*xgb + (1-w2-w3)*baseline
final = w4*OLS + (1-w4)*trees
作者独立的model也是直接fork别人的,lightgbm/xgb without outliers/OLS,所以这个作者的亮点就在于如何设置这些权重,我浏览了作者的回复,总结起来:
- 经验
- 根据单独model的表现
- 2次逼近的方法,y=a*x^2 + b*x + c,y是LB score,x是优化目标,找三个点计算出a/b/c,然后求导,得到min
我还有个奇怪的地方,代码与作者相同但是lb score却有差异,难道是我linux装的lightgbm/xgb/OLS有一些差别导致吗?后来我发现kaggle可以直接fork然后在平台上跑,只是速度很慢
2、搜了下其他的ensemble方法,很多,比如voting,average,stacking,blending,需要细看领悟,似乎和我1中的方法都不搭边,average有些像
3、psi woe变化研究发现了之前的一些问题,修正了,猜想初始IV大应该是趋势更好,但却不明显,这一部分需要再次check
4、boss有一些土方法,但或许是行之有效的,回归预测结果只决定rank order,bin后看每一个分组预测值是否存在区隔和单调