体育彩票大乐透怎么杀号?
本人是从事数学建模工作的,最近有幸参与了一个预测彩票的科研项目,利用机器学习的方法对体彩大乐透进行了预测,效果还不错。 项目用的是数据集,里面包含了大乐透历史开奖号码和投注号码。因为涉及到隐私所以不能放全量数据,但放部分数据还是没问题的。总共500k条记录。每条记录包含6个字段即:期号、前区、后区、红球、篮球、投注方式(0-自购;1-机选;2-跟号)。
首先,从样本的数据情况出发。可以发现,样本中红球和篮球的开奖数都是超过10种的,也就是存在大量重复的数据,此时直接使用传统方法进行学习可能会造成模型过拟合。需要先对数据进行处理。这里使用了主成分分析(PCA)对样本进行降维处理,把数据中的红色和蓝色标注点用绿色标注的点表示出来,可以看到,在红色和蓝色的第一个主成分上面几乎没有任何信息,大部分的信息都集中在第二个和第三个主成分上,因此可以舍弃第一主分量,这样既能达到降低维度的作用又能保留主要的信息。
接下来就是模型建立了。因为需要预测未来4+期的开奖结果,而历史数据和当前数据只有一个期数上的差别,因此建立历史数据的模型并预测未来的结果即可。我这里使用了随机森林和XGBoost两种方法,随机森林的树模型每个棵树通过参数调整的方式使得测试集的误差最小,XGBoost则是找到了一个最佳的切分样本的方法使得测试集的误差最低。两种方法的误差的定义都是采用留一法计算的。最终得到两个模型都可以接受的情况下取平均值作为最终的模型输出。