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
Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster
参考
Share
関連記事
kaggleでよく使う交差検証テンプレ(LightGBM向け)
2021.06.28
手軽にデータ分析ができるdablを使ってみた
2021.05.20
【初心者】0から始めるkaggle入門
2021.06.18
kaggleでよく使う交差検証テンプレ(Keras向け)
2021.05.20