
NBA-Machine-Learning-Sports-Betting
用机器学习预测NBA赛果,让博彩决策有数据支撑
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1775
技术标签
使用教程
环境要求
- Python 3.11
- 已安装 pip3 并能访问 PyPI
- 需要网络访问 NBA 数据接口与 SBR 赔率源
安装与启动步骤
-
1克隆项目仓库
从 GitHub 拉取项目源码到本地,后续所有命令都在该目录下执行。
git clone https://github.com/kyleskom/NBA-Machine-Learning-Sports-Betting.git -
2进入项目目录
切换到克隆下来的项目根目录,确认能看到 main.py 和 requirements.txt。
cd NBA-Machine-Learning-Sports-Betting -
3安装 Python 依赖
按 README 要求用 pip3 安装 Tensorflow、XGBoost、Pandas、Scikit-learn 等依赖包。
pip3 install -r requirements.txt -
4抓取球队数据
README 说明 Get_Data 会从 NBA 接口抓取每日球队数据并写入 SQLite,需先准备训练数据。
python3 Get_Data.py -
5抓取赔率数据
Get_Odds_Data 从 SBR 拉取博彩赔率与比分,存入独立的 SQLite 数据库。
python3 Get_Odds_Data.py -
6构建比赛特征
Create_Games 合并球队数据、赔率、比分与休息天数,生成训练数据集。
python3 Create_Games.py -
7训练模型
在 src/Train-Models 下运行 XGBoost/NN 脚本,分别拟合胜负与大小分模型。
python3 src/Train-Models/Train-Models.py -
8运行预测
执行 main.py 抓取当日赛程并输出预测、期望值,用 -odds 指定博彩公司自动获取赔率。
python3 main.py -xgb -odds=fanduel
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
-odds | 否 | 指定自动抓取赔率的博彩公司,省略则改为手动输入赔率 | fanduel |
-xgb | 否 | 使用 XGBoost 模型进行胜负与大小分预测 | -xgb |
-nn | 否 | 使用神经网络模型进行预测 | -nn |
-A | 否 | 一次性运行全部可用模型(XGBoost 与神经网络) | -A |
-kc | 否 | 输出凯利公式建议的投注资金比例 | -kc |
如何确认成功
main.py 正常打印当日比赛的胜负/大小分预测概率、期望值,未报模型缺失或数据加载错误即成功。
常见问题
Q:-odds 支持哪些博彩公司?
A:README 列出的支持项为:fanduel、draftkings、betmgm、pointsbet、caesars、wynn、bet_rivers_ny。若省略 -odds,脚本会提示你手动输入赔率与大小分。
Q:必须按什么顺序执行脚本?
A:建议先 Get_Data 抓球队数据、Get_Odds_Data 抓赔率,再 Create_Games 合并特征,然后用 src/Train-Models 训练模型,最后运行 main.py 预测。
Q:Python 版本有要求吗?
A:README 明确要求 Python 3.11,其他版本可能因 Tensorflow、XGBoost 等依赖不兼容而安装失败。
Q:不训练模型能直接预测吗?
A:不能。main.py 需要加载已训练的模型文件来输出预测,请先在 src/Train-Models 下完成模型训练。
注意事项
- 数据与赔率分别存放在两个 SQLite 数据库,重复抓取前注意是否会覆盖或追加历史数据。
- 赔率抓取依赖 SBR 等外部来源,接口变动或访问受限会导致 Get_Odds_Data 失败。
- README 未给出各脚本的详细参数说明,使用前建议先阅读对应源码。
- 本项目仅用于数据分析与机器学习学习,预测结果不构成任何投注建议。
核心亮点
- 完整的数据抓取和预处理流程,支持多赛季历史数据
- 集成多种主流ML模型,并提供特征工程和回测框架
- 代码模块化清晰,易于扩展和定制自己的预测策略
不足之处
- 依赖外部数据源,数据更新可能受限于API稳定性
- 文档相对简略,新手入门需要一定机器学习基础
适用场景
- 体育博彩爱好者进行赛前分析和投注参考
- 数据分析师研究体育赛事预测模型
- 机器学习学习者实践完整的数据科学项目
替代项目
sports-betting-ml、nba-prediction、basketball-analytics
上一篇:EmoLLM
下一篇:BruteForceAI
同类项目推荐
sec-af
开源
让AI智能体自动审计代码,用证据链证明漏洞可利用性
AI-native code security auditor on AgentField that proves exploitability with verdic···
garmin-health-data
开源
一键把Garmin健康数据下载到本地,随时分析
A simple Python CLI to download Garmin Connect data as local files and load them int···
Noor
开源
一个入口读听看古兰经,多格式整合
A Digital Platform for the Service of the Holy Quran A digital platform for the ser···
book-translator
开源
本地离线整本书翻译,术语一致还能对照校对
Tolmach — open-source AI book translator powered by Ollama. Translate EPUB, PDF, DO···
awesome-LLM-AIOps
开源
一页看清 LLM 做智能运维的全部论文与落地案例
A list of awesome academic researches and industrial materials about Large Language ···
OpenSRE
开源
自托管 AI 事故调查员,记住每次故障,快速定位根因
OpenSRE — the memory-first AI SRE. Self-hosted incident investigation with episodic···
ALwrity
开源
AI 驱动,一站式搞定内容营销全流程
ALwrity - AI-first Digital Marketing Platform. AI Content Strategy and Planning, Mul···
GoldenDict-OCR
开源
截图即查词,大词典库也能秒开秒搜
GoldenDict++: Optimizations for faster dictionary loading and searching, even with l···
mine-ai
开源
用AI守护支付安全,自动识别链上欺诈与洗钱风险
Open-source reference implementations for AI-enabled payment security, blockchain fr···