news 2026/7/5 15:23:52

手把手带你打 Kaggle!F1 进站预测实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手带你打 Kaggle!F1 进站预测实战

📌 前言:为什么要打 Kaggle?

Kaggle 是全球最大的数据科学竞赛平台,也是数据科学领域最实际的"刷题场"。不同于 LeetCode 刷算法、Kaggle 让你从头到尾体验一个真实的 ML 工作流程:

  • 下载真实数据
  • 阅读高手 Notebook 学招式
  • 提交预测结果看排名
  • 拿到Medal(奖牌)放进履历或作品集

不管你是要推甄研究所、找数据科学实习,还是纯粹想提升实力,打 Kaggle 永远是 CP 值最高的方式之一

🚀 Step 0:注册 Kaggle 帐号

前往 kaggle.com,点右上角Sign InRegister,用 Google 帐号直接一键登入。

⚠️第一次参加比赛的必要步骤:进入比赛页面后,先点选Rules分页,点Join Competition / Accept Rules。 没做这步,就看不到下载按钮,也无法提交结果

🏁 Step 1:选定比赛——Predicting F1 Pit Stops(S6E5)

本次选定的比赛是 Kaggle Playground Series Season 6 Episode 5:

🔗 Predicting F1 Pit Stops | Kaggle

为什么选这场?

表格

理由说明
🎯适合入门Playground Series 是 Kaggle 官方每月举办的练习赛,难度适中
📊Tabular 数据表格型数据,不需要深度学习,统计背景可直接上手
🏆有 MedalPlayground 比赛有正式奖牌制度,Top 10% 得铜牌、Top 5% 得银牌
🧠有趣的领域F1 赛车策略,比预测房价有意思得多

📥 Step 2:下载数据

进入比赛页面 → 点Data分页 → 点Download All,下载压缩包。

解压缩后你会看到3 个档案

plaintext

playground-series-s6e5/ ├── train.csv ← 训练集(有标签) ├── test.csv ← 测试集(要预测这个) └── sample_submission.csv ← 提交格式范本

🗺️ Step 3:先搞懂规则,再开始建模

下载数据后,千万不要立刻开始写模型!

就像打英雄联盟要先知道蓝 Buff 和红 Buff 的位置,打 Kaggle 也要先搞清楚这三件事:

① 任务目标 → ② 评分方式 → ③ 数据型态

这三步做好了,之后的每一个决策都会更有方向。

① 任务目标:这是什么问题?

→ 二元分类(Binary Classification)

比赛要你预测每一圈赛车下一圈是否会进站,目标栏位是PitNextLap

表格

意义
1这辆车下一圈会进站
0这辆车下一圈不会进站

但注意:你提交的不是 0 或 1 的硬预测,而是进站的机率(0.0 到 1.0 之间的小数)。

plaintext

# sample_submission.csv 长这样: id,PitNextLap 439140,0 ← Kaggle 给的 dummy baseline(全部填 0) 439141,0 439142,0 ...

你的任务:把这些 0 换成真实的机率预测,例如:

plaintext

439140,0.0823 439141,0.4156 439142,0.0341

② 评分方式:Leaderboard 怎么算分?

→ ROC AUC(Area Under the ROC Curve)

AUC 是二元分类机率预测最常用的指标,分数从 0 到 1:

表格

AUC 分数代表意义
0.50跟乱猜一样
0.80还不错的水准
0.90很强
0.95+目前 Leaderboard 顶尖水准
1.00完美预测

AUC 的关键特性(直接影响你的策略):

  1. AUC 只看排名顺序,不看绝对值

    • 你预测 A=0.9、B=0.1,和 A=0.6、B=0.4,对 AUC 的贡献是一样的(只要 A 排在 B 前面)
    • 所以「让进站和不进站的机率差距更大」比「把机率校准到完美」更重要
  2. 类别不平衡不会直接惩罚 AUC

    • 赛车一场比赛 50 圈,进站只有 1-3 圈,正例比例约 5-15%
    • AUC 对这种不平衡有天然的抵抗力,但训练模型时仍要处理
  3. 为什么 Blending(模型融合)特别有效?

    • 不同模型看到的「排名顺序」不同,融合后互补,AUC 就能提升
    • 这也是为什么 Kaggle 高手最后几天都在疯狂融合模型

③ 数据型态:数据长什么样?

→ 表格型时间序列数据(Tabular + Sequential)

这份数据是以「一圈一列」为单位的 F1 赛事记录,共33 个栏位

下载数据后,立刻执行这段 EDA 诊断码

python

import pandas as pd train = pd.read_csv('train.csv') test = pd.read_csv('test.csv') # 基本形状 print(f"Train: {train.shape}") print(f"Test: {test.shape}") # 目标分布 print("\n目标栏位分布:") print(train['PitNextLap'].value_counts()) print(f"进站比例: {train['PitNextLap'].mean():.2%}") # 栏位型态 print("\n栏位与数据型态:") print(train.dtypes) # 缺失值 print("\n缺失值统计:") missing = train.isnull().sum() print(missing[missing > 0] if missing.any() else "无缺失值") # 数值统计 print("\n描述统计:") print(train.describe())

根据原始 F1 Strategy Dataset,预期看到的栏位大致分为:

表格

栏位类型包含栏位对预测的重要性
🔑 识别栏id,RaceID,DriverID不直接用,但分组用
🏎️ 赛况LapNumber,Position,Stint
🔴轮胎(最重要)Compound,TyreLife(已被移除!)极高
⏱️ 圈速LapTime,Sector1/2/3Time高(退化信号)
📍 位置差距GapToLeader,IntervalToNext
🚨 赛况旗帜TrackStatus(安全车)
🎯 目标PitNextLap只在 train 有

⚠️ 比赛的关键陷阱:被刻意拿掉的 Normalized_TyreLife

这场比赛最大的挑战在官方说明里就写了:

"We intentionally removeNormalized_TyreLifewhich makes the prediction trivial."(我们刻意移除了Normalized_TyreLife,因为有了这个栏位预测就太简单了。)

轮胎寿命是 F1 进站决策最核心的因素——轮胎跑越久越退化,圈速变慢就该进站换胎。Kaggle 刻意拿掉这个栏位,让你用其他特征自己重建「轮胎寿命」的代理变数

这是这场比赛的破关关键,我们会在下一篇详细讲特征工程的方法。

📋 本篇总结:三件事搞清楚了吗?

表格

问题答案
这是什么任务?二元分类,预测下一圈进站机率
怎么评分?ROC AUC,越接近 1 越好
数据是什么型态?表格型时间序列,33 栏,需要重建轮胎寿命特征

🔮 下一篇预告

第二篇:EDA 实作 + 特征工程——如何重建被偷走的「轮胎寿命」?

我们会用 Python 实际跑完整的探索性数据分析,并设计以下特征:

  • 用累积圈数重建轮胎寿命代理变数
  • 滚动圈速趋势(退化信号)
  • 安全车旗帜的进站时机特征
  • 与队友的策略差异特征

💬 互动区

你也在打 Kaggle 吗?欢迎在评论区告诉我:

  • 你目前的 Kaggle Rank 是什么?
  • 第一次提交时最大的困惑是什么?

觉得有帮助的话,点个 👍 或收藏吧!这个系列会持续更新到拿到奖牌为止。

🔗 相关链接

  • 比赛页面:Predicting F1 Pit Stops(S6E5)
  • 原始数据集:F1 Strategy Dataset
  • Kaggle Playground Series 总览

标签:Kaggle机器学习数据科学PythonF1赛车二元分类ROC AUC竞赛实战特征工程LightGBM

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 15:19:02

AI写论文会被发现吗?2026年AIGC检测与智能降重避坑全攻略

一、AI写论文被发现的真实案例2026年,某高校的一名研究生因为在论文中大量使用AI生成内容,被学校的AIGC检测系统识别出来,最终论文被判定为不合格,延期毕业。类似的新闻近年来屡见不鲜,让很多想用AI辅助写论文的同学心…

作者头像 李华
网站建设 2026/7/5 15:18:35

技术深度解析:ImageDedup的图像去重算法实现与架构设计

技术深度解析:ImageDedup的图像去重算法实现与架构设计 【免费下载链接】imagededup 😎 Finding duplicate images made easy! 项目地址: https://gitcode.com/gh_mirrors/im/imagededup ImageDedup是一个专注于图像重复检测的Python库&#xff0…

作者头像 李华
网站建设 2026/7/5 15:17:50

luogu----P1000 超级玛丽游戏

题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用。 建议完成本题目后继续尝试 P1001、P1008。 另外强烈推荐新用户必读帖。学术版与题目总版内发帖、回复需要达到 受信任的用户 的权限,在洛谷经常做题、参与比赛即可快速达到该权限等级。 题目…

作者头像 李华
网站建设 2026/7/5 15:17:15

用optiland绘制光扇图

文章目录光扇图的基本概念测试RayFan光扇图的基本概念 Ray Fan即光扇图,是光学设计中用于分析一维截面上几何像差的核心工具。与点列图展示二维平面上的光斑分布不同,Ray Fan 将三维的光线追迹结果降维,通过二维曲线直观地展示横向像差&…

作者头像 李华
网站建设 2026/7/5 15:17:13

Explainability of Large Language Models: Opportunities and Challenges toward Generating Trustwort...

文章核心总结与创新点 主要内容 文章聚焦大型语言模型(LLMs)的可解释性,围绕局部可解释性和机制可解释性两大核心方向展开。首先梳理了LLMs的发展背景与Transformer架构基础,系统综述了现有局部可解释性(如思维链推理、检索增强生成等)和机制可解释性(如注意力头分析、…

作者头像 李华
网站建设 2026/7/5 15:16:48

别再上传你的文件了!浏览器本地处理PDF/图片的完整技术方案

前言 作为一名有几十年经验的运维,我见过太多在线工具把用户数据传回服务器的案例。免费的 JSON 格式化工具背后偷偷收集 API 响应数据,PDF 转换工具保存用户上传的合同文档。 所以我花了几个月时间,从零搭建了一个100%本地处理的在线工具箱…

作者头像 李华