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

Python打卡Day22 kaggle泰坦尼克号生存预测

import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline# 加载数据
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')# 特征工程函数
def feature_engineering(df):# 创建家庭规模特征df['FamilySize'] = df['SibSp'] + df['Parch'] + 1# 创建是否独行特征df['IsAlone'] = (df['FamilySize'] == 1).astype(int)return df# 应用特征工程
train_data = feature_engineering(train_data)
test_data = feature_engineering(test_data)# 定义预处理步骤
categorical_cols = ['Pclass', 'Sex', 'Embarked']
numeric_cols = ['Age', 'Fare', 'SibSp', 'Parch', 'FamilySize', 'IsAlone']# 数值特征处理管道
numeric_transformer = Pipeline(steps=[('imputer', SimpleImputer(strategy='median'))
])# 分类特征处理管道
categorical_transformer = Pipeline(steps=[('imputer', SimpleImputer(strategy='most_frequent')),('onehot', OneHotEncoder(handle_unknown='ignore'))
])# 组合预处理步骤
preprocessor = ColumnTransformer(transformers=[('num', numeric_transformer, numeric_cols),('cat', categorical_transformer, categorical_cols)])# 构建完整管道
model = Pipeline(steps=[('preprocessor', preprocessor),('classifier', RandomForestClassifier(n_estimators=100,max_depth=5,random_state=42))
])# 准备训练数据
X_train = train_data.drop('Survived', axis=1)
y_train = train_data['Survived']# 训练模型
model.fit(X_train, y_train)# 预测测试集
predictions = model.predict(test_data)# 创建提交文件
output = pd.DataFrame({'PassengerId': test_data.PassengerId,'Survived': predictions
})
output.to_csv('submission.csv', index=False)print("提交文件已保存为 submission.csv")

@浙大疏锦行

http://www.dtcms.com/a/295149.html

相关文章:

  • 基于Informer+BiGRU-GAtt的并行预测模型
  • Java开发岗面试记录合集
  • 二分查找----3.在排序数组中查找元素的第一个和最后一个位置
  • 语音增强相关技术
  • 【世纪龙科技】新能源汽车维护与故障诊断-汽车专业数字课程资源
  • 第八讲:C++中的vector
  • Ⅹ—6.计算机二级综合题5---6套
  • Fast Frequency Estimation Algorithm by Least Squares Phase Unwrapping
  • OpenLayers 快速入门(三)Source 对象补充
  • 车载绝缘子放电状态检测系统数据分析软件需求说明书
  • android15 wifi信号格数DB值对应关系及wifi回连时间
  • Python3常见接口函数
  • 详解FreeRTOS开发过程(四)-- 任务切换
  • 进程间通信之-----零拷贝
  • 【已解决】Jetson Orin NX apt更换国内源
  • 网络基础DAY18-动态路由协议基础
  • 零增益扰动!纯相位旋转:二阶全通滤波器实现精准超前矫正
  • 压测软件JMeter安装配置以及创建桌面快捷方式(详细图解)
  • 【每日算法】专题十八_BFS 解决拓扑排序
  • 前端开发性能监控详解
  • OpenCV(02)图像颜色处理,灰度化,二值化,仿射变换
  • 高可用架构模式——如何设计计算高可用架构
  • 前端学习日记(十一)
  • Spark 之 DataFrame
  • Android模块化实现方案深度分析
  • 深度学习的Logits:logist 是什么,上一维度的隐藏向量怎么获取
  • Linux C: 函数
  • 洪水预报中的序列到序列模型及其可解释性扩展
  • 设置低秩适配器(LoRA)
  • 优化:Toc小程序猜你喜欢功能