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

【Python打卡Day22】kaggle泰坦尼克@浙大疏锦行

作业:

自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码

kaggle泰坦里克号人员生还预测

主要步骤概括如下

1. 数据加载与准备
   分别读取训练集(`train.csv`)和测试集(`test.csv`)
   从训练集中提取目标标签`y`("Survived"列)
   选择6个特征字段:`["Pclass", "Sex", "SibSp", "Parch", "Fare", "Embarked"]`

2.特征预处理
  分类变量编码:对"Sex"和"Embarked"列使用`LabelEncoder`进行数值化转换
     训练集:`fit_transform`(学习映射关系并转换)
     测试集:`transform`(应用相同的映射关系)
     缺失值处理:使用中位数填充缺失值
     通过`SimpleImputer(strategy='median')`统一处理训练集和测试集

3. 模型训练*
   初始化随机森林分类器:`RandomForestClassifier`
     关键参数:100棵树(`n_estimators=100`),最大深度5(`max_depth=5`)
   使用处理后的训练特征`X`和标签`y`训练模型

4. 预测与输出
   对预处理后的测试集`X_test`进行生存预测
   将预测结果与乘客ID组合成DataFrame
   保存结果为`submission.csv`文件

核心流程总结:
> 数据加载 → 特征选择 → 分类编码 → 缺失值填充 → 训练随机森林模型 → 预测测试集 → 输出提交文件

关键特点:
统一处理训练/测试集保证数据一致性
使用简单但有效的特征工程(分类编码+中位数填充)
随机森林模型兼顾性能与效率
生成符合Kaggle竞赛要求的提交格式

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)

@浙大疏锦行

相关文章:

  • 黑马点评,请求被取消,首页店铺类型和blog列表无法正常展示
  • Spring MVC 处理静态资源请求 - ResourceHandler
  • Python多态的简单分享
  • HarmonyOS性能优化——感知流畅优化
  • C++ 第一阶段 基本语法 - 第一节:变量与数据类型详解
  • 19.数学函数
  • eps8266作为AP服务端 esp32c3作为STA客户端
  • LVS +Keepalived 高可用群集
  • 稀疏大模型架构与训练算法研究
  • 【排坑指南】MySQL初始化后,Nacos与微服务无法连接??
  • 什么是gateway以及在微服务中是如何使用的
  • openEuler安装BenchmarkSQL
  • 使用YOLO模型进行线程安全推理
  • 如何高效实现公司文件管理
  • HarmonyOS5 分布式测试:断网情况支付场景异常恢复验证
  • 筑牢安全防线:电子文件元数据驱动的 AI 知识库可控管理方案
  • Redis从库读取主库创建且已过期的key
  • 断言(Assertion)中常用的正则表达式
  • 《汇编语言:基于X86处理器》第2章 x86处理器架构
  • Neo4j 入门到精通(Cypher语言详解)
  • 资金盘网站开发多少钱/互联网哪个行业前景好
  • 网站上地图怎么做的/自动连点器
  • 北京市住房和城乡建设委网站/怎么seo关键词优化排名
  • 连云港网站制作/b2b网站
  • 网站html模板下载/如何创建一个app平台
  • 公司怎么与网站进行活动推广/南京百度快速排名优化