教女朋友学数据挖掘——泰坦尼克号获救预测( 二 )


这看起来是建模的一个非常重要的特性 。一会我们会用上他的!
4.2 船舱等级与存活率关系
--> 船舱等级跟获救情况的关系
pd.crosstab(data.Pclass,data.Survived,margins=True).style.background_gradient(cmap='summer_r')
80
136
216
97
87
184
372
119
491
All
549
342
891
f,ax=plt.subplots(1,2,figsize=(18,8))data['Pclass'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])ax[0].set_title('Number Of Passengers By Pclass')ax[0].set_ylabel('Count')sns.countplot('Pclass',hue='Survived',data=http://www.kingceram.com/post/data,ax=ax[1])ax[1].set_title('Pclass:Survived vs Dead')plt.show()
人们说金钱不能买到一切 。但我们可以清楚地看到,船舱等级为1的被给予很高的优先级而救援 。尽管数量在 3乘客高了很多,仍然存活数从他们是非常低的,大约25% 。
对于来说存活是63%左右,而大约是48% 。所以金钱和地位很重要 。这样一个物欲横流的世界 。
那这些又和性别有关吗?接下来我们再来看看船舱等级和性别对结果的影响
4.4 船舱等级和性别对存活率的影响
pd.crosstab([data.Sex,data.Survived],data.Pclass,margins=True).style.background_gradient(cmap='summer_r')
72
81
91
70
72
233
male0
77
91
300
468
45
17
47
109
All
216
184
491
891
sns.factorplot('Pclass','Survived',hue='Sex',data=http://www.kingceram.com/post/data)plt.show()
我们用这个图,看起来更直观一些 。
我们可以很容易地推断,从女性生存是95-96%,如94人中只有3的女性从没获救 。
显而易见的是,不论,女性优先考虑 。

教女朋友学数据挖掘——泰坦尼克号获救预测

文章插图
看来也是一个重要的特征 。让我们分析其他特征
4.5 年龄与存活率关系
Age–> 连续值特征对结果的影响
print('Oldest Passenger was of:',data['Age'].max(),'Years')print('Youngest Passenger was of:',data['Age'].min(),'Years')print('Average Age on the ship:',data['Age'].mean(),'Years')
Oldest Passenger was of: 80.0 YearsYoungest Passenger was of: 0.42 YearsAverage Age on the ship: 29.69911764705882 Years
f,ax=plt.subplots(1,2,figsize=(18,8))sns.violinplot("Pclass","Age", hue="Survived", data=http://www.kingceram.com/post/data,split=True,ax=ax[0])ax[0].set_title('Pclass and Age vs Survived')ax[0].set_yticks(range(0,110,10))sns.violinplot("Sex","Age", hue="Survived", data=http://www.kingceram.com/post/data,split=True,ax=ax[1])ax[1].set_title('Sex and Age vs Survived')ax[1].set_yticks(range(0,110,10))plt.show()
结果:
1)10岁以下儿童的存活率随数量增加 。
2)生存为20-50岁获救几率更高一些 。
3)对男性来说,随着年龄的增长,存活率降低 。
4.6 年龄缺失值填充
正如我们前面看到的,年龄特征有177个空值 。为了替换这些缺失值,我们可以给它们分配数据集的平均年龄 。
但问题是,有许多不同年龄的人 。最好的办法是找到一个合适的年龄段!
我们可以检查名字特征 。根据这个特征,我们可以看到名字有像先生或夫人这样的称呼,这样我们就可以把先生和夫人的平均值分配给各自的组 。