kaggle比赛--罗斯曼商店销售预测,xgboost回归

作者:zhaikun 风控建模屌丝一枚,现居于北京 Python爱好者社区--专栏作者
个人微信公众号:Python数据分析与评分卡建模
公众号:Python爱好者社区




一直做分类模型,很少做回归模型,今天看了kaggle大神的一个代码,然后用我自己理解的方法改进了一下,在这里分享一下思路和部分代码





这是1个商店连锁店老板,把相关数据放到kaggle上,并提供奖金,希望用准确的模型对未来进行统筹安排,同时这个连锁店也招收数据科学家。


好吧,这不是个体户,是商超集团,很先进的思想啊。


数据获取方式可以在kaggle上下载,具体网址:kaggle.com/c/rossmann-s,也可以关注Python爱好者社区微信公众号,回复商店获取数据。


变量字典:





评价标准:





为了方便大家理解,我还是翻译成中文





预览一下








上面加载的是商店信息,1113个id,说明连锁店是1113个,9个特征,有缺失值。因为我这在MAC下用的notebook,一直不会弄成中文。


现在加载训练集,关于销量数据








选择营业信息,选择销量>0的样本,合并








老规矩,分为连续变量和分类变量,批量显示分类变量水平:





商店等级是有序变量,我们特征抽象转成1、2、3.


再显示连续变量密度分布图





这里做个转换,偏度0.75以上的连续变量用对数转换一下





然后再归一化和one-hot编码








xgboost建模,最后结果是均方根误差0.059,还算不错。


这个比赛觉得有点坑人的地方是:

测试集时间跨度很少,不包括训练集衍生出的季节_1、季节_2、洲假日_B、洲假日_C,最关键的是,居然没有重要变量 客户数量,觉得这更倾向于做时间序列模型

发布于 2018-04-09 10:03