2018华为软件精英挑战赛初赛的思路和代码总结。
代码
github地址
用到的网址
思路
stacking
主要采用模型堆叠,stacking的方式,stack了包括拉格朗日均值、随机森林回归、线性回归、指数平滑等算法,利用本地调试脚本,进行参数优化。
序列预测的平滑处理
包括均值化、归一化、差分、滑动窗口。
装箱算法
实现了包括首次适应、多重背包、模拟退火等。
失败原因
华为的问题
- 高级测试用例格式与初级不符,浪费2次机会
- 规定时间60s不区分语言,python直接跑超时,浪费5次机会
自己的问题
- 代码的优化不好,事实上模拟退火本地应该做一个60s的测试,测最大数据量
- stack过多,这种比赛,模型越简单越容易
- 调参大赛,前期关注在初赛刷榜,关注点有问题
- python没有numpy等第三方库,实现一些算法很麻烦,效率又低