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 的预测结果,恭喜你正式迈出了数据科学之路的第一步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值