当前位置: 首页 > 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)

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

http://www.xdnf.cn/news/392599.html

相关文章:

  • java加强 -List集合
  • LeetCode百题刷003(449周赛一二题)
  • 文件包含3
  • Qt 信号与槽及元对象系统
  • 判断两台设备是否在同一局域网内的具体方法
  • Unity 红点系统
  • Rockchip RK3308 开发(二)
  • 【人工智能】全面掌控:使用Python进行深度学习模型监控与调优
  • Springboot整合Swagger3
  • HttpServletResponse的理解
  • 【音视频工具】ffplay介绍
  • Redis 分布式锁
  • iOS实名认证模块的具体实现过程(swift)
  • 串口通讯
  • Docker使用ClickHouse | ClickHouse 配置用户名密码 | ClickHouse 可视化 | windows系统 | 镜像
  • [强化学习的数学原理—赵世钰老师]学习笔记01-基本概念
  • lampiao靶场渗透
  • # KVstorageBaseRaft-cpp 项目 RPC 模块源码学习
  • TikTok 账号运营干货:AI 驱动优化
  • Python----神经网络(基于Alex Net的花卉分类项目)
  • 按钮样式统一
  • Kids A-Z安卓版:儿童英语启蒙的优质选择
  • 特励达力科LeCroy推出Xena Freya Z800 800GE高性能的800G以太网测试平台
  • LLM 论文精读(四)LLM Post-Training: A Deep Dive into Reasoning Large Language Models
  • 基于多层权重博弈与广播机制的仿生类脑 AI 决策框架
  • 组合模式(Composite Pattern)详解
  • FR2012A富芮坤ADC:频繁调用adc_get_data要延时
  • 使用lldb看看Rust的HashMap
  • 三、c语言练习四题
  • Linux网络编程实现FTP服务器