🔍

kaggleのTitanicコンペでAutoKerasを使ってAutoMLやってみる

2021/04/09に公開

普段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も作成しました。

https://www.kaggle.com/masaonda/titanic-automl-by-autokeras

参考

Discussion