科学の箱

科学・IT・登山の話題

Python

kaggle Titanic Tutorial – 6

投稿日:2018年5月27日 更新日:

さて、今回は年齢について検証する。まずこれまでは中央値を使っていたわけだ。これをもともと年齢分布と中央値を使って更新した後の年齢分布を比較する。


import numpy as nm
import pandas as pd
import seaborn as sns
%matplotlib inline

d_train = pd.read_csv('train.csv')
d_train['Age_1'] = d_train['Age']

fig, (axis1,axis2) = plt.subplots(1,2,figsize=(15,4))
axis1.set_title('Original Age')
axis2.set_title('Update Null with Mean')

d_train["Age_1"] = d_train["Age_1"].fillna(29.69911764705882)
d_train['Age'].hist(bins=70, ax=axis2)
d_train['Age_1'].hist(bins=70, ax=axis4)

この結果は以下のようになります。

わかりにくいのですが更新前は22歳で最大値が50であったのに対して、更新後は29歳で200になっています。この結果として分布図が極端に変化しています。

明らかに更新した年齢は実体にそぐわないものになっています。

そこでこちらを参考にして他のデータを参考にしてAgeを保管する。

https://ahmedbesbes.com/how-to-score-08134-in-titanic-kaggle-challenge.html


d_train = pd.read_csv('train.csv')
d_train['title'] = d_train['Name'].apply(get_title).map(Title_Dictionary)
d_train['FamilySize'] = d_train['SibSp'] + d_train['Parch'] + 1
d_train_g = d_train_g = d_train.groupby(['Sex','Pclass','title', 'FamilySize'])
d_train_g_m = d_train_g.median()
d_train_g_m.reset_index()[['Sex', 'Pclass', 'title', 'FamilySize', 'Age']]

性別、Class, title, FamilySizeにより年齢が全く異なるのがわかる。

次回はこの結果を利用してAgeを補完する。

メタ情報

inarticle



メタ情報

inarticle



-Python
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

requests.exceptions.SSLError: HTTPSConnectionPoolの対応方法

エラー raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host=&#8217 …

no image

kaggle Titanic Tutorial – 7

さて今回はAgeを補完してから、元の分布と比べてみる。 def fill_age(row): condition = ( (d_train_g_m[‘Sex’] == row[‘Sex’]) &amp …

no image

python data scientist bootcamp

pythonでdata分析をしたいと思ったが学校に通う時間もお金もない。udemyで検索したところ英語版であるが1400円!でコースが見つかったのでこちらを受けることにした。 https://www. …

no image

selectorとxpathを手軽に取得する方法

スクレイピングをするプログラムを開発するときに対象となる項目を取得するためにselector/xpathで指定する。 Google Chromeではselector/xpath値を簡単に取得できる。 …

no image

pythonで地理情報を取り扱う

pythonでデータ分析をして地理情報に表示したいときに使うパッケージはplotlyである。 plotlyのchropleth map(階級区分図)を利用する。 plotlyについてはこちらでサンプル …

2018年5月
« 4月   6月 »
 123456
78910111213
14151617181920
21222324252627
28293031  

side bar top



アーカイブ

カテゴリー