在人类历史上,泰坦尼克号的悲剧性沉没事件无疑是其中最令人痛心的事件之一,随着现代科技的进步,尤其是大数据和机器学习技术的发展,我们可以通过数据分析来深入理解这场灾难的原因及其影响。
图片来源于网络,如有侵权联系删除
数据来源与预处理
本次分析的数据来源于 Kaggle 竞赛平台上的“Titanic: Machine Learning from Disaster”数据集,该数据集包含了关于泰坦尼克号乘客的信息,包括姓名、性别、年龄、票价等详细信息,为了进行有效的数据分析,我们需要对原始数据进行清洗和处理。
数据清洗
- 缺失值处理:
对于年龄列中的缺失值,我们使用众数填充法,即用最常见的年龄值替换所有缺失值。
- 异常值处理:
对于票价列中的极端值(如远高于平均水平的票价),我们进行了箱形图分析以识别潜在的异常值并进行适当处理。
特征工程
- 创建新特征:
根据已有的信息创建了新的特征,例如家庭规模(FamilySize)= SibSp + Parch + 1 和是否有儿童(IsAlone)= 0 FamilySize == 1 否则 1。
- 转换分类变量:
将 embarked 列转换为数值型变量,以便于后续的分析和建模。
分析过程
描述性统计分析
通过对数据的初步探索,我们可以得到一些基本的统计信息:
- 平均年龄约为28岁,中位数为29岁。
- 男性乘客占比约74%,女性乘客占26%左右。
- 约20%的乘客拥有头等舱或二等舱的票务等级。
因素分析与可视化
性别因素
通过绘制散点图,我们发现女性的生存率明显高于男性,这可能是因为女性通常被优先考虑获得救生艇的机会。
年龄因素
进一步观察不同年龄段乘客的存活情况,发现年轻成年人和老年人在幸存者中所占比例相对较高,而中年人则较少幸存。
图片来源于网络,如有侵权联系删除
舱位等级
从图中可以看出,高级舱位的乘客有更高的存活概率,这可能与他们在船上所处的位置以及救援时的优先级有关。
模型构建与评估
XGBoost回归树模型
选择了XGBoost作为主要的机器学习算法来进行预测模型的建立,由于目标是预测是否存活(Survived),因此采用多分类逻辑回归作为目标函数。
参数调优
利用网格搜索(GridSearchCV)方法对超参数进行优化调整,最终确定了最佳的超参数组合。
模型性能评估
使用交叉验证的方式对模型的表现进行了测试,得到了较高的准确率和召回率指标。
结论和建议
通过上述分析和建模工作,我们可以得出以下结论和建议:
- 性别差异显著:在当时的背景下,社会对于男女角色的刻板印象导致了女性更容易获得逃生机会。
- 经济地位的影响:富裕阶层的乘客更有可能获救,反映了当时社会的阶级不平等现象。
- 紧急状况下的决策机制:虽然船上有足够的救生艇供所有人使用,但由于种种原因未能有效分配给所有乘客,导致大量人员遇难。
建议未来在设计大型船舶时充分考虑应急疏散方案的设计,确保每个乘客都能公平地获得逃生的机会,同时也要加强公众的安全意识教育,提高应对突发事件的自我保护能力。
这次的数据挖掘和分析为我们提供了一个全新的视角去审视这段历史事件,也提醒我们在面对类似危机时要更加谨慎和周全地做好准备工作。
标签: #泰坦尼克号数据挖掘案例分析
评论列表