查看原文
其他

预测 2022 年 FIFA 世界杯冠军大概率是荷兰!自制机器学习预测模型技术原理详解

周捷光 AI前线 2022-12-07


作者 | DolphinScheduler Committer 周捷光

2022 FIFA 世界杯火热进行中!这段时间,这场盛宴吸引了全球球迷的目光。除了让人心跳加快的赛况和被大家调侃像馄饨皮的吉祥物之外,预测和投注哪支队伍将会夺冠绝对是球迷最大的乐趣之一。

我也是众多想要知道今年谁会夺冠的球迷之一。想到就要去做!于是我花了 2 天时间,用 DolphinScheduler 制作了一个机器学习预测模型来预测 2022 年 FIFA 世界杯的冠军,而且每天能获得一个 betting_stratrgy。

这个事情并不复杂,实际上只需要 3 个步骤就可以完成预测,我把实现的过程在 GitHub 上分享出来了:https://github.com/jieguangzhou/FIFA-World-Cup-2022/tree/master

这是我的预测结果:

我还录制了一个视频来解释整个工作的过程和原理,希望能帮助你享受这场体育盛宴,或者只是娱乐一下:)

我还录制了一个视频来解释整个工作的过程和原理,希望能帮助你享受这场体育盛宴,或者只是娱乐一下:)


视频口误纠正:41s 处应为“塞尔维亚获胜的几率”,12:15s 处应为“葡萄牙 vs. 加纳”。
视频中演示所用的 GitHub 地址:https://github.com/jieguangzhou/FIFA-World-Cup-2022/tree/master

下面是这个项目的具体实现方法,感兴趣的朋友不妨试试。

赛事播报

世界杯冠军预测

使用两种不同预测方法的结果:

1. 基于球队获胜概率模拟 1000 次世界杯预选赛结果
获得冠军的概率

前四名
2. 选择获胜概率高的球队


所有比赛结果可在以下两个文件中查看
  • https://github.com/jieguangzhou/FIFA-World-Cup-2022/blob/workflow-pro/results/predict.txt
  • https://github.com/jieguangzhou/FIFA-World-Cup-2022/blob/workflow-pro/results/results.csv
以上结果来自分支 workflow-pro。该分支将训练更长的模型并运行更多次的模拟比赛。

赛事播报

我是如何建立这个模型的?

1

三步构建预测系统

  • Step-1 启动 DolphinScheduler
我们可以使用 Docker 启动 Dolphinscheduler 独立服务
docker run --name dolphinscheduler-standalone-server -p 12345:12345 -p 25333:25333 -d jalonzjg/dolphinscheduler-fifa
如果没有安装 Doker,可到 https://www.docker.com/ 下载

接着,你可以在 http://localhost:12345/dolphinscheduler/ui 登录 DolphinScheduler
用户:admin 密码:dolphinscheduler123


  • Step-2 提交流程
python3 -m pip install apache-dolphinscheduler==3.1.1
export PYDS_HOME=./python3 pyds.py
您可以单击Project -> FIFA

然后,我们可以看到 2 个工作流程
  • training:使用 FLAML 训练模型
  • predict:使用模型预测哪个国家会赢得世界杯


  • Step-3 运行工作流
    • 开始训练工作流程

我们可以在工作流完成后查看日志。


    • 开启预测工作流

工作流完成后可查看日志。


2

赛事时间表

附上比赛时间表,看球愉快!

赛事播报

加入社区

对 Apache DolphinScheduler 感兴趣的朋友,欢迎添加小助手(Leonard-ds)加入社区交流群!


 加入 Slack:https://bit.ly/dolphinscheduler

赛事播报

参与贡献

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:


贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。


社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689


非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22


如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html



你也「在看」吗? 👇


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存