XGBoost 彩票预测 2020-1-18
- 项目自带少量数据,如果想要更多数据,则自己想办法去搞了。
- 运行prepare.py将数据集划为训练集,验证集和测试集
-
开始训练模型之前,先进行调参
-
运行 ball49_xgboost_train.py 中的下列方法
-
demo.best_estimators_depth() # 调节模型的迭代次数和深度
-
demo.best_lr_gamma() # 调节模型的学习率和gamma值
-
demo.best_subsmaple_bytree() # 调节子样本集和叶子数(即调节行和列)
-
demo.best_nthread_weight() # 调节最小子权重和线程数
-
demo.best_seek() # 调节随机种子
-
将调参寻找到的较优的参数,配置到 demo.best_param_xgboost() 方法中,开始训练
-
训练模型的时候,会绘制 ROC 曲线,方面目测效果的好坏。
-
如果不想展示,可以在 config.py 中将 __C.TRAIN.ROC_FLAG 设置为 False
-
多训练几次,寻找一个较好的模型。
- 加载权重,将训练好的权重 .m 文件放入models文件夹
- 运行 ball49_xgboost_test.py,对数据集进行预测输出,预测结果打印在控制栏上。
- 预测效果如下:
- 第 2019141 期 预测结果为 (双), 真实结果为 (02-双)
- 第 2019142 期 预测结果为 (双), 真实结果为 (20-双)
- 第 2019143 期 预测结果为 (单), 真实结果为 (47-单)
- 第 2019144 期 预测结果为 (单), 真实结果为 (17-单)
- 第 2020001 期 预测结果为 (双), 真实结果为 (40-双)
- 第 2020002 期 预测结果为 (单), 真实结果为 (08-双)
- 第 2020003 期 预测结果为 (单), 真实结果为 (39-单)
- 第 2020004 期 预测结果为 (单), 真实结果为 (01-单)
- 第 2020005 期 预测结果为 (双), 真实结果为 (坐等开奖收钱!...... )