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

2021.05.21
2024.03.24
Kaggle
AutoKerasAutoMLKerasPython

はじめに

こちらの記事はZennで投稿した「kaggleのTitanicコンペでAutoKerasを使ってAutoMLやってみる」の再投稿になります。

普段kaggleでは、Kerasを使うことが多いのですが、AutoKerasというのがあるのを知ったので、kaggleのTitanicコンペで使ってみたいと思います。

AutoMLとは

まずそもそもAutoMLというのは、データの前処理やモデルの学習・検証などを自動化することを指します。 AutoKerasのようなAutoMLのツールを使うことで、簡単に機械学習モデルを構築することができます。

AutoKerasとは

AutoKerasは、Kerasを基にしたAutoMLライブラリです。 数行のコードでKerasを使った機械学習モデルを構築することができます。

できること

AutoKerasでは以下のデータでそれぞれ分類・回帰問題を扱えます。

  • 画像データ
  • テキストデータ
  • 構造化データ

Titanicコンペで使ってみる

実際に構造化データであるTitanicコンペのデータを使って、AutoKerasを利用していきます。

インストール

まずはインストールします。

1!pip install autokeras

ライブラリのインポート

AutoKerasを含めた必要なライブラリのインポートをします。

1import numpy as np
2import pandas as pd
3import autokeras as ak

データ準備

データを読み込み、特徴量と目的変数に分けます。

1train = pd.read_csv('../input/titanic/train.csv')
2test = pd.read_csv('../input/titanic/test.csv')
3
4X = train.iloc[:, 2:].values
5y = train.iloc[:, 1].values
6X_test = test.iloc[:, 1:].values

AutoKerasを使う

AutoKerasを使っていきます。 2行でデータの前処理と学習ができます。

1clf = ak.StructuredDataClassifier(overwrite=True, max_trials=3)
2clf.fit(X, y, epochs=10)

テストデータで予測

AutoKerasで学習したモデルでテストデータを予測していきます。

1submission = pd.DataFrame()
2submission["PassengerId"] = test["PassengerId"]
3
4pred = clf.predict(X_test)
5submission["Survived"] = pred.astype('int8')
6submission.to_csv("submission.csv", index=False)

予測した結果のスコアは0.77272でした。

まとめ

  • AutoKerasでデータの前処理と学習を簡単にできる

kaggleのKernelも作成しました。

Titanic: AutoML by AutoKeras

Titanic: AutoML by AutoKeras

Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee