科学の箱

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

numpy.linspace()を使って等差数列を生成する

一次関数と等差数列 一次関数をテストするときに必須になるのが等差数列。等差数列とは要素と要素の間の差が等しいもの。 例えば1, 2, 3, 4, 5, 6は等差が1の数列である。等差が2になると、1, …

no image

automated the boring

まずは肩慣らし print(‘Hello world!’) print(‘What is your name?’) # ask for their na …

no image

Scrapy – Tutorial

Tutorialはこちら https://doc.scrapy.org/en/latest/intro/tutorial.html 特に難しい点はないがいくつかポイント spidersディレクトリはプ …

no image

wordpress-xmlrpc

WordPressへPythonから投稿してみる。 まずは設定から。説明はこちらにある。 https://python-wordpress-xmlrpc.readthedocs.io/en/lates …

no image

データ分析で理解しておくべきPythonのデータ構造

Pythonでデータ分析を行う際には基本のデータ構造を理解しておく必要がある。 scikit-learnなどのフレームワークは特定のデータ構造を入力とすることを前提にしている。用意したデータがフレーム …

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

side bar top



アーカイブ

カテゴリー