开发者学堂课程【天池大赛算法教程及获奖选手答辩:阿里音乐流行趋势预测—冠军答辩(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/389/detail/4992
阿里音乐流行趋势预测—冠军答辩(二)
1.数据清洗
对每个艺人每一天播放量最大的5%用户占播放量的比重做了限制。
由于测评公式的原因,预测量应该就低不就高,一旦远离实际值,将会极大的影响得分。
得到数据尽可能贴近函数,红色异常数据持续时间很短,不会保持很长时间,最多就是一天就消失了。
如果一个值低的话,整个就有问题了。
2.规则算法
实际上把所有用户拿去预测,效果并不是很好。
事实上,模式二所导致的斜率 b 是很难回归的。
对八月份的异常要进行预判,这种回落实际很难刻画。因为异常增长的高度和幅度,时间,发生点,都不可预测,所以没办法刻画,只能用替代的方法,用后三十天播放量的均值比上前七天。如果后三十天的播放量比前七天低很多的话,那么就说明在下降的当中。用不同的阈值进行了分类。
◆不确定的经验:对于百万级别数据量的训练集,组合特征在数百维的量级上,对分类性能有益无害,可以放心的堆特征,请大家斧正。所以只用了播放容量和播放数据。
◆利用4个 GBDT 分类器,将艺人分为四组八个类别。
◆对每个类别分别线性回归出 abc 三个系数,最终得到四组预测值,分别是 pred1, pred2, pred3 pred4。
三、模型融合
对于不同阈值分类的准确的,可以线下,训练cv。准确值越高,阈值高,准确值越低,阈值也就越低 。因为第一列,第二列阈值比较低,对模型的参数影响不大。在整个比赛过程中,在线上比赛过程中,一直处于领先地位。换数据以后,数据量大,比其他选手领先幅度是在增加的。
因为用了四个不同类型的模型,符合机器学习好而不同的特点,得出来的结果其实差距很大,模型融合之后,可能没有特别高的影响,对更换数据完全不敏感,第一次成绩完全可以领先其他选手。
第二个,这个模型对自身参数的影响。对于这种分类,一般不调参数。调了参数之后,分类器得到了参数可能会有摆动,第二步融合之后得出来的结果几乎都非常稳定。
包括对其他参数,影响都不是特别大,如果其他不离谱的话,可以获得第一名这样的成绩。
.模型算法
主要应用于没有周期性这样的数据,如果预测60天,模型算法会出现这样的问题,要么设计60个模型,每个模型时间节点都不同,一个相同时间间隔的话,那你就需要把预测出来的数据作为训练集带到后面的值,这样,误差会累积,效果非常差。只能预测一个值,最后就是成为一条直线。
所以,没有在模型上花费太多的时间和精力,所以v型的模型更适合。
回归方法对数据量要求非常大,百万级别的训练集不能支持,维度要求非常低,对他的特征就会有影响,所以用了回归的这样的方法。
先分类再回归
因为是个探索性的尝试 所以直接利用了规则模型的概率输出,将四个分类的输出作为思维特征,对第一等于后30天播放量的均值比前七天播放量的均值进行了回归,最终可以得到后30天播放量均值的预测值。
加上周期波动和节假日的修正,最终得分499000。
遗憾的对测评公式理解不够透彻,赛后才学习到本次测评公示的最后预测值应该低于均值。
详见 H ttp://bogcsd.net /lugandong1/articl/detas /51933158 该方法还有提高的空间 而且与规则方法也有融合提高的空间。
其实不应该用均值来进行回归,因为均值不应该是单一值预测的最优值。
四、重要的事情
1、 始终保持概念清晰,对于任意模型函数系统,都要非常准确的把握自变量因变量,输入输出是什么 。
2、 挖数据挖掘的本质是获取信息,对于时间序列预测型竞赛来说,信息的来源留两个,数据集和测评系统得分 。
3、 融合模型总会具有更高的精度和更强的鲁棒性,应该尽可能的逻辑清晰简单而结构复杂的融合模型 。
4、数据清洗非常重要 大数据往往代表的是大量有问题的数据。
(1)对分类准确率高,比其他选手更好
(2)v 字型的模型更适合,效率高
(3)从实质性的角度考虑,运用交叉特征。
(4)从单个歌手分析以后数据,有可能信息不够,借鉴其他歌手,会考虑判断歌手的程度和趋势。
(5)对于评测有详细的记录,专门进入对比复习,查看数据的变化和趋势。
(6)找数据分布,可能相同,运用于线下评测。
(7)数据是用户的特征数据,用户的随机性如何产生发现,艺人的播放量是直线型。
(8)外部扰动下,这些弱因素没有意义
(9)数据清洗大概提高百分之二或三