sns.countplot(x='FamilySize', data = train,hue = 'Pclass')
py
次に、乗船場所による生存率の違いを見てみます。タイタニックの航路はイギリスのサウサンプトン→フランスのシェルブール→アイルランドのクイーンズタウンの順番でした。 下の図を見るとシェルブールから乗った人の生存率が高かったことがわかります。その理由は一つ下の図を見るとわかります。1等に乗った人の割合が高かったからでしょう。しかし、そのように考えるとクイーンズタウンから乗った人は3等ばかりなのに生存率が少し高いです。その理由のうち少しはさらに下の図の男女比だと思いますが、正確な理由はわかりません。
t=pd.read_csv("train.csv").replace("S",0).replace("C",1).replace("Q",2) train['Embarked']= t['Embarked'] g = sns.factorplot(x="Embarked", y="Survived", data=train, size=6, kind="bar", palette="muted") g.despine(left=True) g = g.set_ylabels("survival probability")
.py
sns.countplot(x='Embarked', data = train,hue = 'Pclass')
.py
sns.countplot(x='Embarked', data = train,hue = 'Sex')
py
最後は年齢による違いをみて行きたいと思います。下の図をみてみると10代後半から30代ほどまでは死亡率が高く、子供の死亡率は低いです。どうやらこのころは15歳より上だとほとんど成人とみなされていたようです。また、老人の死亡率も高いです。
plt.figure() sns.FacetGrid(data=t, hue="Survived", aspect=4).map(sns.kdeplot, "Age", shade=True) plt.ylabel('Passenger Density') plt.title('KDE of Age against Survival') plt.legend()
.py
for t in combine1: t.loc[ t['Age'] <= 15, 'Age'] = 0 t.loc[(t['Age'] > 15) & (t['Age'] <= 25), 'Age'] = 1 t.loc[(t['Age'] > 25) & (t['Age'] <= 48), 'Age'] = 2 t.loc[(t['Age'] > 48) & (t['Age'] <= 64), 'Age'] = 3 t.loc[ t['Age'] > 64, 'Age'] =4 g = sns.factorplot(x="Age", y="Survived", data=t, size=6, kind="bar", palette="muted") g.despine(left=True) g = g.set_ylabels("survival probability")
.py
そして面白いのは、男女比と生存の数がほぼ一緒であることです。下の2つの図はほとんど一緒に見えます。