NBA-Machine-Learning-Sports-Betting

用机器学习预测NBA赛果,让博彩决策有数据支撑

这是一个利用机器学习预测NBA比赛结果并辅助体育博彩决策的开源项目。它解决了体育博彩中依赖主观经验和直觉、缺乏数据支撑的问题,通过数据驱动的方式提高预测准确性。项目核心能力包括:从多个数据源自动抓取和清洗NBA历史比赛数据、球员统计和赔率数据;使用多种机器学习模型(如XGBoost、随机森林等)进行训练和评估;提供特征工程、模型调参和回测功能;并输出每场比赛的预测概率和建议投注策略。项目代码结构清晰,包含数据获取、特征构建、模型训练、预测和回测等完整流程,适合对体育数据分析和机器学习应用感兴趣的开发者学习和二次开发。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1718
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队kyleskom
所属国家
官网地址
定价模式free
价格说明开源项目,本地部署,完全免费。
访问状态
是否开源是
开源协议
主要语言Python
技术栈/模型ai,data-science,deep-learning,gambling,gpt,keras,llm,machine-learning,nba,nba-analytics,nba-prediction,neural-network,python,sports,sports-analytics,sports-betting,sports-data,tensorflow
GitHub 星标★ 1718
30天Star增速
HF 下载量
上线时间2019-11-29 00:00:00
最近更新2026-09-23 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 25 分钟 部署方式:本地安装 8 步

环境要求

  • Python 3.11
  • 已安装 pip3 并能访问 PyPI
  • 需要网络访问 NBA 数据接口与 SBR 赔率源

安装与启动步骤

  1. 1克隆项目仓库

    从 GitHub 拉取项目源码到本地,后续所有命令都在该目录下执行。

    git clone https://github.com/kyleskom/NBA-Machine-Learning-Sports-Betting.git
  2. 2进入项目目录

    切换到克隆下来的项目根目录,确认能看到 main.py 和 requirements.txt。

    cd NBA-Machine-Learning-Sports-Betting
  3. 3安装 Python 依赖

    按 README 要求用 pip3 安装 Tensorflow、XGBoost、Pandas、Scikit-learn 等依赖包。

    pip3 install -r requirements.txt
  4. 4抓取球队数据

    README 说明 Get_Data 会从 NBA 接口抓取每日球队数据并写入 SQLite,需先准备训练数据。

    python3 Get_Data.py
  5. 5抓取赔率数据

    Get_Odds_Data 从 SBR 拉取博彩赔率与比分,存入独立的 SQLite 数据库。

    python3 Get_Odds_Data.py
  6. 6构建比赛特征

    Create_Games 合并球队数据、赔率、比分与休息天数,生成训练数据集。

    python3 Create_Games.py
  7. 7训练模型

    在 src/Train-Models 下运行 XGBoost/NN 脚本,分别拟合胜负与大小分模型。

    python3 src/Train-Models/Train-Models.py
  8. 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

项目介绍

NBA-Machine-Learning-Sports-Betting 是行业应用领域的开源项目,由 kyleskom 开发,2019 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,718)位列前 30%,在行业应用分类中处于中上游。

近 42 天,它的 GitHub 星标从 1,691 增加到 1,718,净增 27。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-23。本地部署,完全免费。

它主要面向的使用场景是:体育博彩爱好者进行赛前分析和投注参考。同类可对比的替代方案包括 sports-betting-ml、nba-prediction、basketball-analytics。

上一篇:EmoLLM

下一篇:BruteForceAI

同类项目推荐

xmgai-like 开源

换脸、艺术二维码随手玩,副业灵感一包带走。

本开源 AI 副业搞钱项目集成了强大功能,包括 AI 艺术二维码生成、AI 换脸、Delle3 绘画等···

★ 60 2026-08-09
spoken-to-signed-translation 开源

把口语文本一路转成手语视频的流水线

a text-to-gloss-to-pose-to-video pipeline for spoken to signed language translation

★ 102 2026-09-11
LiveTranslate 开源

直播看片实时翻译,字幕秒出,跨语言无压力

Real-time audio translation, captures system audio + mic, runs ASR (Whisper/SenseVoi···

★ 691 2026-08-13