当前位置: 首页 > news >正文

Kaggle比赛入门攻略(以 Titanic 为例)

为什么选择 Kaggle 入门比赛?

Kaggle 是全球最大的数据科学竞赛平台。入门比赛 Titanic: Machine Learning from Disaster 是初学者的理想起点,数据量小、结构简单、题目经典。


Step 1:注册并加入比赛

  1. 访问比赛地址:https://www.kaggle.com/c/titanic
  2. 注册或登录 Kaggle 账号
  3. 点击右上角 Join Competition
  4. 同意比赛规则(必须完成这步,才算正式参赛)

Step 2:理解比赛任务与数据

比赛目标:

预测泰坦尼克号乘客的生还情况(二分类问题:0 = 死亡,1 = 生还)

数据文件:

  • train.csv:训练数据(已知生还结果,共891人)
  • test.csv:测试数据(未知生还结果,共418人)
  • gender_submission.csv:官方示例提交文件

Step 3:创建 Notebook 并加载数据

在比赛页面点击 CodeNew Notebook,复制以下代码执行:

import pandas as pd# 加载数据
train_data = pd.read_csv("/kaggle/input/titanic/train.csv")
test_data = pd.read_csv("/kaggle/input/titanic/test.csv")# 查看前几行
train_data.head()

Step 4:数据探索(EDA)

查看性别和生还率的关系:

# 女性生还率
women = train_data.loc[train_data.Sex == 'female']["Survived"]
print("女性生还率:", women.mean())# 男性生还率
men = train_data.loc[train_data.Sex == 'male']["Survived"]
print("男性生还率:", men.mean())

输出显示女性生还率高达 ~75%,男性仅约 19%


Step 5:训练一个简单模型(随机森林)

from sklearn.ensemble import RandomForestClassifier# 选择特征列
features = ["Pclass", "Sex", "SibSp", "Parch"]
X = pd.get_dummies(train_data[features])
X_test = pd.get_dummies(test_data[features])
y = train_data["Survived"]# 模型训练
model = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)
model.fit(X, y)# 生成预测结果
predictions = model.predict(X_test)# 保存提交文件
output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
output.to_csv('submission.csv', index=False)
print("预测结果已保存为 submission.csv")

Step 6:提交结果并查看排名

  1. 点击右上角 Save Version → 选择 Save & Run All
  2. 稍等片刻,Notebook 会执行完毕
  3. 在右上角点击版本号 → 进入 Viewer
  4. Data 页点击 Submit 按钮提交
  5. 页面底部可看到你的 Public Score 和排行榜位置

Step 7:下一步可以做什么?

  • 添加更多特征:Age、Fare、Embarked 等
  • 处理缺失值:如用中位数填充 Age
  • 尝试其他模型:Logistic Regression、XGBoost、LightGBM
  • 学习课程:
  • Intro to Machine Learning
  • Pandas 基础

总结

阶段内容
注册参赛加入比赛并同意规则
数据理解train/test 数据结构清晰
创建 Notebook无需本地环境,在线运行
探索数据找到性别、舱位等关键特征
构建模型使用 sklearn 快速上手
提交预测自动保存为 CSV 并提交评分
持续提升学习课程,改进特征,调参优化

如果你成功提交了 Titanic 的预测结果,恭喜你正式迈出了数据科学之路的第一步!

相关文章:

  • 【KWDB 创作者计划】_深度解析KWDB存储引擎
  • C++负载均衡远程调用学习之基础TCP服务
  • 如何做表征对齐?
  • 艺术与科技的双向奔赴——高一鑫荣获加州联合表彰
  • C# 类的基本概念(从类的内部访问成员和从类的外部访问成员)
  • PXI总线开关卡80个交叉点组成的中密度 PXI矩阵开关模块
  • WPF框架中常用算法
  • BT137-ASEMI机器人功率器件专用BT137
  • 【论文阅读】APMSA: Adversarial Perturbation Against Model Stealing Attacks
  • LeetCode209_长度最小的子数组
  • MCP 自定义python实现server服务,支持离线调用和远程接口访问形式
  • Flink之DataStream
  • ActiveMQ 可靠性保障:消息确认与重发机制(一)
  • ActiveMQ 可靠性保障:消息确认与重发机制(二)
  • ag-grid-react 列表导出csv列表getDataAsCsv (自定义导出列表配置)自定义新增,修改导出内容
  • 使用模块中的`XPath`语法提取非结构化数据
  • 单体项目到微服务的架构演变与K8s发展是否会代替微服务
  • 【SpringBoot】基于mybatisPlus的博客系统
  • windows系统 压力测试技术
  • 简易APP更新功能
  • 央行就《关于规范供应链金融业务引导供应链信息服务机构更好服务中小企业融资有关事宜的通知》答问
  • 新片|《我仍在此》定档5月,《新·驯龙高手》同步北美上映
  • 澎湃回声丨23岁小伙“被精神病”8年续:今日将被移出“重精”管理系统
  • 许峰已任江苏省南京市副市长
  • 阿里开源首个“混合推理模型”:集成“快思考”、“慢思考”能力
  • 上海74岁老人宜春旅游时救起落水儿童,“小孩在挣扎容不得多想”