Azure Auto MLでKaggleのTPSコンペデータを用いてモデルを作成してみた

# はじめに
KaggleのTPSコンペのデータをAzure Machine LearningのAuto MLを使ってモデルを作成してみようと思います。

前回使用した『デザイナー』はブロックを用いて、コードを書かずに学習モデルを作成することができましたが、『Auto ML』も同じく１行も書かずにできます。
デザイナーとの違いは、パイプラインを作成せずとも最適な機械学習アルゴリズムの選択からモデルの作成まですべて自動的にできる！という点があります。

それではさっそく使ってみようと思います！

# ジョブの作成～実行まで
ワークスペースやクラスターの作成などは[こちらの記事](https://qiita.com/kkawano_neko/items/efde483c297bdf1f2559)をご覧ください。
また、今回使用するデータは[Tabular Playground Series - Aug 2022](https://www.kaggle.com/competitions/tabular-playground-series-aug-2022)からダウンロードしました。

## 新規ジョブ作成
はじめにAzure Mのワークスペースを開き、「自動ML」を選択します。

![automl.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/1ac1919b-1da3-619b-998d-6573c6d486b8.png)

そして、左上の「新規の自動機械学習ジョブ」から新しいジョブを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/5427605a-6d2c-bea6-e266-3f05983a1f4a.png)

## データの選択・作成
以前作成したデータセットがある場合はこのように表示されるので、これを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/f60e2b57-8ad3-558c-bf3e-dc9e3f1fc56c.png)

データセットがない場合は「作成」をクリックし、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/dfb9556f-a685-d318-fe3a-4d2309422662.png)

「名前」を入力して次に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/871e094f-63cb-b4d0-7e42-44d748c73d35.png)

そしてデータソースの場所とデータストアの選択を行ったら、ファイルのアップロードを行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/47fb53f5-3a8b-6f03-dfdd-2ac94b668df8.png)

次に設定を行います。
データセットに複数行のデータが含まれている場合はチェックを入れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/3644c1d1-8c7b-9d39-8de9-4884db6c5e81.png)

そして、学習で使うデータを選択します。
各項目のデータ型を変更したい場合は、この時点で操作することができます。
今回は特に何も変更せずに進めました。

最後にデータセットの内容を確認し、問題なければ作成をします。

## ジョブの設定
続いてジョブの実験名・ターゲット列の入力と、コンピューティングクラスターを選択して新規作成を行います。ターゲット列には「failure」を入力しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/25f4d7a4-dfeb-9e25-a1c3-25251d067c79.png)

今度は機械学習アルゴリズムの選択ができます。
先ほど入力したターゲット列から自動で選んでくれます。
もし異なる場合はここで変更しておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/a0d8365d-72d9-2c5a-9309-bc5396e330e6.png)

今回のTPSコンペでは製品が故障しているかどうかを予測するものなので、『分類』を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/1d780595-bd0b-7364-80bf-8ab4395b4fdc.png)

そして検証方法とテストデータの設定を行います。
今回は『テスト分類』を選択し、訓練データを60%・テストデータを30%に分割するようにしました。

これで「終了」をクリックすればモデルが作成されます！

![a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/e6485477-6a8d-ef50-c983-4093dd1182c7.png)


これで実行完了まで待ちましょう…。

## 実行結果
実験が終わったので、作成されたモデルの詳細を見てみましょう！
ちなみに実行時間は1時間7分57.66秒かかりました。

「モデル」タグに移ると、作成されたモデルの一覧が評価が高い順に並んでいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/99191a88-5e5c-efc2-01e9-aeec87617436.png)

一番良かったものには「説明の表示」というのが見れます。

### 説明（プレビュー）
予測の際に重要な特徴量やデータの分布などを見ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/424343e2-2f25-2b00-67de-52ca6fde954a.png)

### メトリック
評価の結果をグラフで表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/18cff408-1160-769c-cf21-dab643dd55d6.png)

### データ変換
ここではトレーニングの際の前処理や特徴量エンジニアリングの流れなどを見ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2976188/b06bcc53-8d38-34c8-62eb-76fdc0deabb6.png)

# まとめ
今回はTPSコンペのデータを使って、AUto ML上でモデルの作成を行いました。
機械学習アルゴリズムの選択から特徴量の重要性まですべて自動でやってくれたので、実際にコンペに参加する際に、EDAとして参考にできそうだと思いました！