見出し画像

四十半ばからのKaggle -14

Titanicのデータに関して、PclassとSexだけで考えただけではいまいちだった(当たり前だけど)

改めて他のデータも考える。

print(train.info())

とりえあえず扱いやすいのは、データの欠損がなく、数字のデータかな。Trainをみると、この条件にあてはまるのは、

PassengerId, Survived, Pclass, SibSp, Parch, Fare

これらが、testでも欠損ないかみてみる。

print(test.info())

おう、、Fareはデータ欠損があるのか。。

データ欠損があると、そこを埋めることを考えなきゃいけないから、次のプロセスでは、Pclass, SibSp, Parch, これにSexを加えたデータで考えよう。

まずはSexを数字に置き換えたDataFrameを作る。

train_r1=train.replace({'male':'0','female':'1'})
train_r1.info()

データを絞る。

train_r1=train_r1[{'PassengerId','Survived','Pclass','Sex','SibSp','Parch'}]
train_r1=train_r1.reindex(columns=['PassengerId','Survived','Pclass','Sex','SibSp','Parch'])
print(train_r1)

可視化

import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=2, ncols=4,figsize=(168),)
pd.crosstab(train_r1['Survived'],train_r1['Pclass']).plot.bar(ax=axes[0,0])
pd.crosstab(train_r1['Survived'],train_r1['Sex']).plot.bar(ax=axes[0,1])
pd.crosstab(train_r1['Survived'],train_r1['SibSp']).plot.bar(ax=axes[0,2])
pd.crosstab(train_r1['Survived'],train_r1['Parch']).plot.bar(ax=axes[0,3])
pd.crosstab(train_r1['Survived'],train_r1['Pclass']).T.plot.bar(ax=axes[1,0])
pd.crosstab(train_r1['Survived'],train_r1['Sex']).T.plot.bar(ax=axes[1,1])
pd.crosstab(train_r1['Survived'],train_r1['SibSp']).T.plot.bar(ax=axes[1,2])
pd.crosstab(train_r1['Survived'],train_r1['Parch']).T.plot.bar(ax=axes[1,3])

pd.crosstab(train_r1['Survived'],train_r1['Pclass']).plot.pie(subplots=True,figsize=(124),startangle=90)
pd.crosstab(train_r1['Survived'],train_r1['Sex']).plot.pie(subplots=True,figsize=(84),startangle=90)
pd.crosstab(train_r1['Survived'],train_r1['SibSp']).plot.pie(subplots=True,figsize=(284),startangle=90)
pd.crosstab(train_r1['Survived'],train_r1['Parch']).plot.pie(subplots=True,figsize=(284),startangle=90)

SibSpとParchには、大きさに応じた明確な傾向はなさそうに見える。

相関係数をみてみる

train_r1.corr()

可視化する

sns.heatmap(train_r1.corr(), vmax=1, vmin=-1, center=0)

各データの組み合わせで散布図を描きたい。

ここを参考にした。

import seaborn as sns
pg=sns.pairplot(train_r1)
pg.savefig('seaborn_pairplot.png')

あまりよくわからない。。。数値データでもユニークな値がきまっているときは散布図だと傾向はわかりにくいなあ。どうしよう?

次の記事

この記事が気に入ったらサポートをしてみませんか?