Databricks AutoMLのサンプル集

DatabricksでもAutoMLを提供していることをご存知でしょうか。こちらでは、Databricks AutoMLのサンプルノートブックやウォークスルーの記事をまとめています。

# AutoMLとは

![Screen Shot 2022-08-17 at 9.19.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/461c225a-289e-253e-e1b3-b20bb3dc462c.png)

AutoMLとは[Automated machine learning](https://en.wikipedia.org/wiki/Automated_machine_learning)の略であり、現実世界の問題に対して機械学習を適用する際のタスクを自動化するプロセスのことを意味します。これによって手元にあるデータセットをもちいることでどのような機械学習のメリットが得られるのかをクイックに検証したり、プロジェクトの初期段階で活用するベースラインの機械学習モデルを手に入れることが可能となります。

![Screen Shot 2022-08-17 at 9.19.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/8ec2daed-2485-409f-514b-415cdeb00caa.png)

AutoMLはGUIで行うノーコードの機械学習だと誤解させるような論調もありますが、AutoMLは分類や回帰、予測といった何かしらの問題を機械学習で解決する際に必要となるタスクを自動化するプロセスです。GUIはその際に使用するインタフェースの一つに過ぎません。

# Databricks AutoMLとは

![Screen Shot 2022-08-17 at 9.20.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/150f8850-bc37-e913-a9b9-8ff9d956c15e.png)

Databricks AutoMLでもGUIは提供していますが、大きな特徴は「ガラスボックスアプローチ」です。AutoMLで生み出される大量の機械学習モデルをMLflowで全て自動で記録することに加え、ベストな機械学習モデルがどのように生み出されたのかが全てわかるようになっています。これによって、ベースラインモデルを自動化されたプロセスでクイックに構築し、専門知識を埋め込んでモデルを改善することが可能となります。

Databricks AutoMLにおいては、[UI](https://qiita.com/taka_yayoi/items/0ed860131a02aeade14f#automl-ui)あるいは[Python API](https://qiita.com/taka_yayoi/items/0ed860131a02aeade14f#automl-python-api)でAutoMLを実行することができます。

Databricks AutoMLを活用することで、データセットに対して自動で機械学習を適用することができます。モデルのトレーニングのためにデータセットを準備し、一連の実験を実施、記録し、複数のモデルに対して、作成、チューニング、評価を行います。結果の表示に加えて、中身を確認し、再現、修正できるようにそれぞれの実験のソースコードをPythonノートブック形式で提供します。また、AutoMLはデータセットの統計情報を計算し、後ほど確認できるようにノートブックの中に情報を記録します。

それぞれのモデルは、scikit-learnやXGBoostなどのオープンソースコンポーネントから構築され、容易に修正でき、既存の機械学習パイプラインに組み込むことができます。回帰、分類、予測問題に対してDatabricks AutoMLを活用できます。scikit-learn、xgboost、LightGBMパッケージのアルゴリズムに基づきモデルを評価します。

# サンプル集

現時点ではDatabricks AutoMLは分類、回帰、時系列予測の問題に対応しています。対応できる問題やデータの種類に関しては、今後も拡張予定です。

| 問題 | GUI操作のサンプル | Python APIのサンプル |
|:--|:--|:--|
|分類   | [Databricks AutoMLを使って分類問題を解いてみる\(GUI編\)](https://qiita.com/taka_yayoi/items/ae5913d83a74a071b87d)  |  [Databricks Community EditionでAutoMLを使って分類問題を解いてみる](https://qiita.com/taka_yayoi/items/3010e1e4b023c3d7c793) |
|回帰   |  [Databricks AutoMLを使って回帰問題を解いてみる\(GUI編\)](https://qiita.com/taka_yayoi/items/07cbec5d596e51c33e21) | [Databricks Community EditionでAutoMLを使って回帰問題を解いてみる](https://qiita.com/taka_yayoi/items/25d3356982040ea41091)  |
|時系列予測   | [Databricks AutoMLを使って時系列予測問題を解いてみる\(GUI編\)](https://qiita.com/taka_yayoi/items/ece0e539a243dfd5449f)  | [Databricks AutoMLを使って時系列予測問題を解いてみる](https://qiita.com/taka_yayoi/items/a6d7f2e3104d90918c17)  |

:::note
**注意**
- AutoML Python APIを用いた分類問題、回帰問題へのアプローチ関しては、無料のCommunity Editionでも試すことができます。
- 無料のCommunity Editionへのサインアップの手順については[こちら](https://qiita.com/taka_yayoi/items/5918a0e88d9b2472578c#databricks-community-edition%E3%81%B8%E3%81%AE%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97)を参考にしてください。また、フルバージョンのDatabricksとの違いに関しては、[こちら](https://qiita.com/taka_yayoi/items/800fd2714f460a9a1c40)を参照ください。
:::

# 参考資料

この他、Databricksでの機械学習に興味がある方はこちらの記事もご覧になってください。

- [Databricks AutoMLのご紹介 : 機械学習開発の自動化に対するガラスボックスアプローチ](https://qiita.com/taka_yayoi/items/3bf4f4e89990b299c6c9)
- [Databricks AutoMLのマニュアル](https://qiita.com/taka_yayoi/items/0ed860131a02aeade14f)
- [あなたの機械学習プロジェクトをDatabricks AutoMLでスーパーチャージしましょう](https://qiita.com/taka_yayoi/items/65ab0197c627df1b74b5)
- [Databricks機械学習ガイド](https://qiita.com/taka_yayoi/items/2d8ebdc9374696b24e0f)
- [Databricksにおける機械学習チュートリアル](https://qiita.com/taka_yayoi/items/5cfe319c14f2b985d441)
- [Databricksで機械学習を始めてみる](https://qiita.com/taka_yayoi/items/22f45cc82f6b5b1170ad)
- [機械学習エンジニアとしてDatabricksを使い始める](https://qiita.com/taka_yayoi/items/6750e2a74d532004c269)
- [Databricksにおける機械学習モデル構築のエンドツーエンドのサンプル](https://qiita.com/taka_yayoi/items/f48ccd35e0452611d81b)


### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)