如何向现有数据中添加行/条目以满足Kaggle竞赛提交要求
Kaggle竞赛缺失提交条目补充方案
基础预处理:补全全量ID
首先生成符合要求的完整PassengerId序列,和你现有数据做对齐即可拉出所有待填充的空条目,参考Python实现:
import pandas as pd # 生成要求范围内的全量ID full_id_df = pd.DataFrame({"PassengerId": range(250, 419)}) # 左连接合并已有数据,缺失的Survived会自动置为空 submit_df = full_id_df.merge(your_existing_data, on="PassengerId", how="left")
缺失Survived值填充方案(按优先级排序)
- 模型预测填充(最优)
用竞赛提供的训练集数据训练二分类模型,输入缺失Survived条目对应的乘客特征,输出0/1预测值填充即可,这是唯一能拿到有效竞赛得分的方案,常用基础模型包括逻辑回归、随机森林、XGBoost等,不需要复杂调参也能拿到合理结果。 - 基准规则填充(次优)
如果暂时没有训练好的模型,可以用通用基准规则填充,针对泰坦尼克生存预测场景,两个常用高准确率规则:- 按全局多数类填充:训练集未生还乘客占比更高,所有缺失值填
0,可以拿到约60%的准确率 - 按性别规则填充:女性乘客生还率远高于男性,女性条目填
1、男性条目填0,准确率可以达到75%~77%
- 按全局多数类填充:训练集未生还乘客占比更高,所有缺失值填
- 随机填充(仅用于测试提交流程)
直接随机生成0/1填充,得分波动极大,不建议用于正式提交。
提交前校验
填充完成后务必确认两个条件:
- 总条目数恰好为418条,PassengerId无重复、无遗漏
- Survived列所有值仅包含0和1,无空值、异常值
确认无误后导出为csv文件即可提交。
内容的提问来源于stack exchange,提问作者mimilo
相关产品推荐
相关产品推荐

