科学の箱

科学・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

automated the boring – day5

さて、ここまででフロー、文字列、型、ファイル等を扱い、基礎プログラミングとしては一段落できた。 今日からは後半戦にはいり、開発をするうえで実践で必要になる技術を学んでいく。 まずはデバッグからである。 …

no image

配列をリストから生成

配列をリストから生成 numpyにおける配列はnp.arrayを使って生成する。最も基本となる方法はnp.arrayに引数としてリストを渡してやる方法である。 まずは整数の配列を生成してみる。 pri …

no image

pythonでpostgresqlを使うときに必要なモジュール

pip install psycopg2-binary Related posts:automated the boring – day 2numpyで三角関数の数値計算をしてみるrequests.e …

no image

flip, fliplr, flipudを使って配列要素を上下左右、左右、上下反転する

画像処理などでは要素の値を配列全体で反転したいときがある。このようなときに役に立つのがflip, fliplr, flipudである。 flipのマニュアル fliprのマニュアル flipudのマニ …

no image

model.coef_の確認

重回帰分析で重みを確認するには下記を利用する。 model.coef_ ただしこれだと有効桁数が分かりにくいので有効桁数を3桁にして、さらに指数を展開する。 np.set_printoptions(p …

2018年5月
月 火 水 木 金 土 日
« 4月   6月 »
 123456
78910111213
14151617181920
21222324252627
28293031  

side bar top



アーカイブ

カテゴリー