Pythonデータサイエンスクックブック

(2順目)

レシピ8.2

タイタニックのデータ
https://github.com/ipython-books/cookbook-data dataフォルダ内にはtitanic_train.csvとtitanic_test.csvファイルが含まれている。 891行12列のテーブルになっている。列名を列挙する。

for c in train.columns:
    print(c)

PassengerId 乗客ID
Survived 生存(0=死亡、1=生存)?
Pclass クラス?
Name 名前
Sex 性別 (male=男性、female=女性)
Age 年齢
SibSp ?
Parch ?
Ticket チケット
Fare 運賃
Cabin 客室
Embarked 乗船?

3項
data = data.dropna()
欠損値のある行を削除
714行4列に削減されている(177名の乗客データに何らかの欠損があった)

4項
data_np = data.astype(np.int32).value
astypeはpandas形式からNumpyかpython形式のデータ型に変換する.
XにSix,Age,Pclassの順にデータが入り、yには生存値のみが入っている。
X.shape = (714,3)
y.shape = (714,)

5項
f:id:bitop:20160327070927p:plain

6項 学習してXデータからyデータ(生存値)を予測する。 訓練データ(X_train,y_train)とテストデータを分ける
test_size=0.05は訓練データを95%,テストデータを5%

print(X_train.shape)
print(y_train.shape)
print(X_test.shape)
print(y_test.shape)
(678, 3)
(678,)
(36, 3)
(36,)

7項
テストデータが36ケース、そのうち間違えたのが7ケース 正解率=80%(いいほう?)