You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kaggle泰坦尼克项目:Python DataFrame浮点型转整型问题求助

解决泰坦尼克号预测结果的浮点转整型问题

嘿,作为Kaggle和Python新手,复现教程时遇到这种数据转换问题太正常啦!我看你现在输出的Survived列都是0.184、0.761这类浮点概率值,想要转成0或1的整数,这其实很容易解决,给你几种靠谱的方法:

方法1:先转换概率再创建提交DataFrame

你的final_prediction应该是模型输出的生存概率(比如用了predict_proba()方法),我们只需要设置一个阈值(通常取0.5),把大于等于0.5的概率转成1,小于的转成0,再转成整型:

# 把浮点概率转成0/1整数
binary_prediction = (final_prediction >= 0.5).astype(int)
# 创建提交用的DataFrame
submission = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': binary_prediction})
print(submission.head())

方法2:直接修改已创建的submission列

如果你已经创建好了submission DataFrame,也可以直接对Survived列做转换:

submission['Survived'] = (submission['Survived'] >= 0.5).astype(int)
print(submission.head())

额外小技巧:直接让模型输出分类标签

其实如果你的模型支持直接输出分类结果(比如大多数分类模型的predict()方法),可以直接用它代替输出概率的方法,这样得到的结果本来就是0或1的整数,省掉转换步骤:

# 假设你的模型叫model,直接用predict得到分类结果
final_prediction = model.predict(test_data)
# 再创建submission就不用转换啦
submission = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': final_prediction})

这样处理后,你的Survived列就会变成你想要的0或1整型,输出结果就和示例一致啦!

内容的提问来源于stack exchange,提问作者Frankie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:13:12