🔍
kaggleのTitanicコンペでAutoKerasを使ってAutoMLやってみる
普段kaggleでは、Kerasを使うことが多いのですが、AutoKerasというのがあるのを知ったので、kaggleのTitanicコンペで使ってみたいと思います。
AutoMLとは
まずそもそもAutoMLというのは、データの前処理やモデルの学習・検証などを自動化することを指します。
AutoKerasのようなAutoMLのツールを使うことで、簡単に機械学習モデルを構築することができます。
AutoKerasとは
AutoKerasは、Kerasを基にしたAutoMLライブラリです。
数行のコードでKerasを使った機械学習モデルを構築することができます。
できること
AutoKerasでは以下のデータでそれぞれ分類・回帰問題を扱えます。
- 画像データ
- テキストデータ
- 構造化データ
Titanicコンペで使ってみる
実際に構造化データであるTitanicコンペのデータを使って、AutoKerasを利用していきます。
インストール
まずはインストールします。
!pip install autokeras
ライブラリのインポート
AutoKerasを含めた必要なライブラリのインポートをします。
import numpy as np
import pandas as pd
import autokeras as ak
データ準備
データを読み込み、特徴量と目的変数に分けます。
train = pd.read_csv('../input/titanic/train.csv')
test = pd.read_csv('../input/titanic/test.csv')
X = train.iloc[:, 2:].values
y = train.iloc[:, 1].values
X_test = test.iloc[:, 1:].values
AutoKerasを使う
AutoKerasを使っていきます。
2行でデータの前処理と学習ができます。
clf = ak.StructuredDataClassifier(overwrite=True, max_trials=3)
clf.fit(X, y, epochs=10)
テストデータで予測
AutoKerasで学習したモデルでテストデータを予測していきます。
submission = pd.DataFrame()
submission["PassengerId"] = test["PassengerId"]
pred = clf.predict(X_test)
submission["Survived"] = pred.astype('int8')
submission.to_csv("submission.csv", index=False)
予測した結果のスコアは0.77272でした。
まとめ
- AutoKerasでデータの前処理と学習を簡単にできる
kaggleのKernelも作成しました。
Discussion