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

Day22 Kaggle泰坦尼克号训练实战

作业

自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码
kaggle泰坦里克号人员生还预测

一、流程

思路概述

  1. 数据加载 :读取泰坦尼克号的训练集和测试集。
  2. 数据预处理 :处理缺失值、对分类变量进行编码、提取特征等。
  3. 模型训练 :选择合适的机器学习模型并在训练集上进行训练。
  4. 模型预测 :使用训练好的模型对测试集进行预测。
  5. 结果提交 :将预测结果保存为符合 Kaggle 要求的 CSV 文件。

个人感觉kaggle竞赛平台是根据你自己交的.csv文件去和平台上完全正确的.csv文件进行比对。
从官网上下载数据集,判断每个特征的含义,以及数据类型,属性。

特征名称中文含义数据类型详细解释
PassengerId乘客编号整数每个乘客独一无二的标识,用于区分不同乘客
Survived是否幸存整数目标变量,0 表示未幸存,1 表示幸存
Pclass客舱等级整数乘客所购船票对应的舱位等级,1 为一等舱,2 为二等舱,3 为三等舱。一般等级越高,乘客社会经济地位越高
Name乘客姓名字符串包含乘客的全名,可能包含头衔信息,如 Mr.Miss.
Sex性别字符串乘客的性别,取值为 male(男性)或 female(女性)
Age年龄浮点数乘客的年龄,部分数据存在缺失值。年龄可能影响生存概率,例如儿童和老人可能在救援中更受照顾
SibSp兄弟姐妹及配偶数量整数乘客在船上的兄弟姐妹和配偶的总数。反映乘客的家庭关系情况
Parch父母及子女数量整数乘客在船上的父母和子女的总数。同样反映乘客的家庭关系情况
Ticket船票编号字符串乘客所持船票的唯一编号,格式多样,可能包含字母和数字
Fare船票票价浮点数乘客购买船票所支付的费用,与客舱等级可能存在关联
Cabin客舱编号字符串乘客所在的客舱编号,大量数据存在缺失值。不同客舱位置可能影响乘客在灾难发生时逃生的难易程度
Embarked登船港口字符串乘客登船的港口,C 代表瑟堡(Cherbourg),Q 代表皇后镇(Queenstown),S 代表南安普顿(Southampton)

二、解题代码

逻辑都写在注释里面了,参考别人的代码,不过可以看出来是很标准的机器学习训练及测试的代码。

import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import LabelEncoder
from sklearn.impute import SimpleImputer# 加载数据
train_data = pd.read_csv('./titanic/train.csv')
test_data = pd.read_csv('./titanic/test.csv')# 提取特征和标签
y = train_data["Survived"]features = ["Pclass", "Sex", "SibSp", "Parch", "Fare", "Embarked"]
X = train_data[features]
X_test = test_data[features]# 处理分类变量
label_encoders = {}
for col in ["Sex", "Embarked"]:le = LabelEncoder()# 处理训练集X[col] = le.fit_transform(X[col].astype(str))# 处理测试集X_test[col] = le.transform(X_test[col].astype(str))label_encoders[col] = le# 处理缺失值
imputer = SimpleImputer(strategy='median')
X = pd.DataFrame(imputer.fit_transform(X), columns=X.columns)
X_test = pd.DataFrame(imputer.transform(X_test), columns=X_test.columns)# 模型训练
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)

​​​​在这里插入图片描述

相关文章:

  • Kubernetes排错(十五):节点NotReady故障排查处理
  • uniapp-商城-53-后台 商家信息(更新修改和深浅copy)
  • 大模型项目:普通蓝牙音响接入DeepSeek,解锁语音交互新玩法
  • 【iOS】SDWebImage源码学习
  • 八股文-js篇
  • 【漫话机器学习系列】253.超平面(Hyperplane)
  • Python_day22
  • QT6 源(93)篇三:阅读与注释共用体类 QVariant 及其源代码,本类支持比较运算符 ==、!=。
  • 【计算机视觉】OpenCV实战项目:Text-Extraction-Table-Image:基于OpenCV与OCR的表格图像文本提取系统深度解析
  • 【愚公系列】《Manus极简入门》031-商业模式创新师:“模式筛选者”
  • MySQL数据库下篇
  • Python与矢量网络分析仪3671E:通道插损自动化校准(Vscode)
  • spring cloud loadbalancer实现机房感知的负载均衡
  • CSS:盒子阴影与渐变完全解析:从基础语法到创意应用
  • 大模型中的temperature参数是什么
  • LLMs之MCP:2025年5月2日,Anthropic 宣布 Claude 重大更新:集成功能上线,研究能力大幅提升
  • React+Springboot项目部署ESC服务器
  • 大学之大:东京工业大学2025.5.11
  • Pandas 时间处理利器:to_datetime() 与 Timestamp() 深度解析
  • 17.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--loki
  • 竞彩湃|热刺、曼联一周双赛不易,勒沃库森能否欢送阿隆索
  • 李在明正式登记参选下届韩国总统
  • 赵作海因病离世,妻子李素兰希望过平静生活
  • “一嗨租车”陷“五年后扣费”疑云,用户:违章处理莫名消失
  • 河南省平顶山市副市长许红兵主动投案,接受审查调查
  • 上海发布预付卡消费“10点提示”:警惕“甩锅闭店”套路