四十半ばからの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=(16, 8),)
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=(12, 4),startangle=90)
pd.crosstab(train_r1['Survived'],train_r1['Sex']).plot.pie(subplots=True,figsize=(8, 4),startangle=90)
pd.crosstab(train_r1['Survived'],train_r1['SibSp']).plot.pie(subplots=True,figsize=(28, 4),startangle=90)
pd.crosstab(train_r1['Survived'],train_r1['Parch']).plot.pie(subplots=True,figsize=(28, 4),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')
あまりよくわからない。。。数値データでもユニークな値がきまっているときは散布図だと傾向はわかりにくいなあ。どうしよう?
次の記事
この記事が気に入ったらサポートをしてみませんか?