sports-trends-dataset
收藏资源简介:
Sports-Trends数据集是一个采用奖章湖架构的多体育项目比赛数据集,专注于足球、篮球、网球和板球比赛数据。它旨在为体育分析和机器学习研究提供防泄漏、可复现的数据骨干,每日自动更新。数据集遵循完整的medallion数据流水线:从不可变的原始数据摄取层(raw),经过清洗和标准化处理层(bronze/silver),最终形成机器学习就绪的黄金层(gold)。黄金层包含工程化的特征存储和按时间顺序划分的训练/验证/测试分割,所有特征均采用防泄漏方式计算(仅使用比赛日期前的历史数据)。核心特征包括Elo评分(自校正的队伍/选手实力)、近期表现(过去N场比赛的滚动表现)、历史交锋记录、休息天数(疲劳/赛程密集度)、主场优势(包括世界杯的中立场地处理)、联赛/锦标赛强度、阶段重要性(小组赛→淘汰赛→决赛的权重)以及社交关注度(用于排名,非核心结果)。预测标签为实际比赛结果(主场/平局/客场或按体育项目区分的双向结果)。数据集采用分区Parquet格式存储,按体育项目/日期/层级组织,并包括严格的时间顺序分割、自动化泄漏检查和模式验证等数据质量保障措施。更新频率为:每30分钟刷新实时/当日赛程和原始分区;每日更新推理窗口、重新生成的特征和次日预测;每周重建训练数据集以供模型重新训练。数据来源于免费体育API和公共领域数据源(如世界杯的OpenFootball数据),经标准化后形成通用模式。数据集结构、模式和工程特征采用MIT许可证,预期用于体育分析、机器学习研究、教育以及支持实时仪表板,但不提供投注建议。
Sports-Trends dataset is a multi-sport competition dataset based on the medallion lake architecture, focusing on football, basketball, tennis, and cricket match data. It aims to provide a leakage-proof and reproducible data backbone for sports analytics and machine learning research, with daily automatic updates. The dataset follows a complete medallion data pipeline: from an immutable raw data ingestion layer (raw), through cleaning and standardization layers (bronze/silver), to a machine learning-ready gold layer (gold). The gold layer includes engineered feature stores and chronologically partitioned train/validation/test splits, with all features computed in a leakage-proof manner (using only historical data before match dates). Core features include Elo ratings (self-correcting team/player strength), recent performance (rolling performance over past N matches), historical head-to-head records, rest days (fatigue/schedule density), home advantage (including neutral venue handling for events like the World Cup), league/tournament strength, stage importance (weights from group stage to knockout to final), and social attention (for ranking, not core outcomes). Prediction labels are actual match outcomes (home/draw/away or sport-specific two-way results). The dataset is stored in partitioned Parquet format, organized by sport/date/layer, with data quality assurances including strict chronological splits to ensure training data precedes validation and test data, automated leakage checks to validate feature/label separation and chronological order, and schema validation to ensure records comply with defined schemas. Update frequency is: every 30 minutes for real-time/todays schedules and raw partitions; daily updates for inference windows, regenerated features, and next-day predictions; and weekly rebuilding of training datasets for model retraining. Data sources include free sports APIs and public domain sources (e.g., OpenFootball data for the World Cup), standardized into a common schema. The dataset structure, schemas, and engineered features are licensed under MIT, intended for sports analytics, machine learning research, education, and supporting real-time dashboards, with an explicit disclaimer against providing betting advice.
数据集概述
Sports-Trends 数据集 是一个持续更新的、基于“奖章架构”(medallion-architecture)的多运动赛事数据湖,旨在提供无数据泄露(leakage-safe)且可复现的数据,用于体育分析、机器学习研究和教育。该数据集覆盖足球、篮球、网球和板球四类运动。
数据架构(奖章布局)
数据集按运动项目、日期和层级进行分区,结构如下:
- Raw(原始层):
raw/<sport>/provider=<p>/date=YYYY-MM-DD/fixtures.json- 只追加、不可变,保留从源API获取的完整溯源。
- Bronze(青铜层) / Silver(白银层):
- 清理和标准化数据,统一为单一规范模式,包含稳定ID和去重复。
- Gold(黄金层):
- 特征存储:
gold/features/<feature>/sport=<sport>/date=.../part.parquet - 训练/验证/测试数据集:
gold/training/<sport>/{train,validation,test}.parquet,按时间顺序划分,无数据泄露。 - 推理输入:
gold/inference/tomorrow/date=YYYY-MM-DD/inference_input.parquet
- 特征存储:
- 质量报告:
quality/{leakage_report,schema_validation,...}.json - 版本管理:
registry/{dataset_manifest,latest_versions}.json
内置特征(黄金层)
所有特征均以无数据泄露的方式计算,仅使用比赛日期之前的匹配数据:
| 特征名称 | 描述 |
|---|---|
| Elo评分 | 自我修正的球队/选手实力评估,每场比赛后更新。 |
| 近期状态 | 过去N场比赛的滚动表现。 |
| 历史交手 | 双方历史交锋记录。 |
| 休息天数 | 疲劳度/赛程密集度。 |
| 主场优势 | 场地效应,包括世界杯中主办国和中性场地的处理。 |
| 联赛/赛事强度 | 比赛级别的上下文权重。 |
| 阶段重要性 | 从小组赛到决赛的权重设定。 |
| 社交关注度 | 人气信号(用于排名,非核心结果预测)。 |
预测标签:每场比赛的实际结果(主队胜/平/客队胜,或按运动项目的二元结果)。
数据质量与防止数据泄露
- 时间顺序划分:训练数据严格按时间顺序排列,训练集早于验证集,验证集早于测试集,不进行时间边界的随机打乱。
- 数据泄露断言:自动化检查(
quality/leakage_report.json)验证特征与标签的独立性及时间顺序;回归测试通过模拟未来大比分比赛来确认赛前特征不变。 - 模式验证:记录依据规范模式进行验证(
quality/schema_validation.json)。 - 版本化清单:
registry/dataset_manifest.json记录版本、时间戳、覆盖的运动、层级及质量统计。
数据加载示例
使用 pandas 和 huggingface_hub 加载足球训练分割:
python import pandas as pd from huggingface_hub import hf_hub_download
REPO = "ruslanmv/sports-trends-dataset" train = pd.read_parquet(hf_hub_download(REPO, "gold/training/football/train.parquet", repo_type="dataset"))
或使用 datasets 库流式加载:
python from datasets import load_dataset ds = load_dataset("ruslanmv/sports-trends-dataset", data_files="gold/training/football/*.parquet")
更新频率
| 频率 | 更新内容 |
|---|---|
| 每30分钟 | 实时/今日赛程及原始分区。 |
| 每日 | 推理窗口、重新生成的特征、明日预测。 |
| 每周 | 重建训练数据集,用于模型重新训练。 |
所有更新通过 GitHub Actions 自动运行。
数据来源、许可与预期用途
- 数据来源:聚合自免费的体育API和公共领域数据(如OpenFootball的世界杯数据),并规范为通用模式。原始分区保留数据提供者溯源。
- 许可协议:MIT许可,涵盖本数据集的结构、模式和工程特征。请尊重底层上游数据提供者的条款。
- 预期用途:体育分析、机器学习研究、教育,以及驱动 ruslanmv.com/sports-trends 仪表板。
- 非投资建议:仅供信息和娱乐。
引用
bibtex @dataset{magana_sports_trends_dataset_2026, author = {Ruslan Magana Vsevolodovna}, title = {Sports-Trends: A leakage-safe multi-sport match data lake}, year = {2026}, url = {https://huggingface.co/datasets/ruslanmv/sports-trends-dataset}, note = {Live dashboard: https://ruslanmv.com/sports-trends/} }
补充信息
- 语言:英语
- 许可证:MIT
- 数据规模:10K < 样本数 < 100K
- 任务类别:表格分类
- 标签:体育、体育分析、足球、篮球、网球、板球、Elo评分、特征存储、Parquet、奖章架构




