科学の箱

科学・IT・登山の話題

Python

kaggle Titanic Tutorial – 10

投稿日:2018年6月9日 更新日:

いろいろ試しているがうまくいかないので、とりあえずAgeを正しく補完できるか調べる。

調査は線形回帰でどれくらい相関が出るかで判断する。

 


import numpy as nm
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

d_train = pd.read_csv('train.csv')
d_test = pd.read_csv('test.csv')
d_train['FamilySize'] = d_train['SibSp'] + d_train['Parch'] + 1
d_test['FamilySize'] = d_test['SibSp'] + d_test['Parch'] + 1

dummies_titanic = pd.get_dummies(d_train['Sex'])
dummies_titanic.columns = ['Female','Male']
d_train = d_train.join(dummies_titanic)

dummies_titanic = pd.get_dummies(d_test['Sex'])
dummies_titanic.columns = ['Female','Male']
d_test = d_test.join(dummies_titanic)

d_train["Embarked"] = d_train["Embarked"].fillna("S")

dummies_titanic = pd.get_dummies(d_train['Embarked'])
dummies_titanic.columns = ['E0','E1', 'E2']
d_train = d_train.join(dummies_titanic)

dummies_titanic = pd.get_dummies(d_test['Embarked'])
dummies_titanic.columns = ['E0','E1', 'E2']
d_test = d_test.join(dummies_titanic)

dummies_titanic = pd.get_dummies(d_train['Pclass'])
dummies_titanic.columns = ['Class_1','Class_2', 'Class_3']
d_train = d_train.join(dummies_titanic)

dummies_titanic = pd.get_dummies(d_test['Pclass'])
dummies_titanic.columns = ['Class_1','Class_2', 'Class_3']
d_test = d_test.join(dummies_titanic)
d_test["Fare"] = d_test["Fare"].fillna(35.6271884892086)
d_train = d_train.drop(['PassengerId','Survived', 'Sex', 'Name','Ticket','Cabin', 'Parch','SibSp', 'Embarked', 'Pclass'], axis=1)

d_train.dropna(subset=['Age'])
X = d_train.drop("Age", axis=1).copy().as_matrix()
Y = d_train["Age"]

from statsmodels import api as sm
model = sm.OLS(Y, sm.add_constant(X))
result = model.fit()

result.summary()

結論としてはAgeをうまく埋める方法はないらしい。こうなってしまっては適当にランダムデータで埋めて、学習に影響が出ないようにする。

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-,

執筆者:


comment

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

関連記事

no image

jupyterで目的のディレクトリから実行する方法

AnacondaをインストールするとJupyter Notebookを実行するショートカットが作成される。これをクリックするとJupyter Notebookは起動できるわけだが、残念ながら必要なファ …

no image

SIGNATE お弁当の需要予測-5

相関の概要を見てみる。これによりどの変数を利用して回帰するかを考える。 sns.heatmap(d_train_w.corr(),cmap=’coolwarm’) Related posts:auto …

no image

StringIOを使ってread_csvのテストをしてみる

pandasで操作できるファイルは様々なあるが、csvはJSONと並んで取り扱うことが多いファイルである。ちょっとしたコードの検証をしたいときに毎回csvを用意して、read_csv()で読み込むのは …

no image

SIGNATE お弁当の需要予測-4

今回はSeabornのpairplotを利用して相関の概要を見てみる。ただし相関を見るためにはデータのクレンジングが必要。 まずはnullデータのヒートマップを確認してみる。 sns.heatmap( …

no image

すべての要素が同じ値を持つ配列を生成

配列はリストから生成できるが、numpyでは様々な方法で目的とする配列を生成できる。 すべての要素が0である配列の生成 すべての要素が1である配列の生成 すべての要素が同じ値である配列の生成 すべての …

2018年6月
« 5月   9月 »
 123
45678910
11121314151617
18192021222324
252627282930  

side bar top



アーカイブ

カテゴリー