【環境構築】JDLA認定のE資格対策口座であるラビットチャレンジのPython環境をDatabricksで実施する手順

## 概要
日本ディープラーニング協会のDeep Learning資格試験（E資格）の対策講座であるラビットチャレンジの学習環境を、無償でブラウザにより利用可能なDatabricks Community Editionで実施したので、共有します。

### ラビットチャレンジとは
Study-AI株式会社が提供している自己学習を主体的に進めることが前提で提供されている、月額3000円で提供されている格安の対策口座です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/73ac40e8-9f57-6c6d-91e2-2e2468a0521c.png)
引用元：[ラビット★チャレンジ Deep Learning (ai999.careers)](https://ai999.careers/rabbit/)

### Databricks Community Edition
Sparkによるビッグデータ処理やPythonやRによるデータ分析を実施可能なデータ統合データプラットフォーム（レイクハウス）のサービスであるDatabricksの無償環境です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c5d2f198-43ef-eebb-4e0a-444f1d633016.png)
引用元：[Databricks - 統合データ分析](https://databricks.com/jp/)

### なぜDatabricksを利用するのか
Databricksで学習しておくことで、実際の業務で利用可能するためです。
Databricksは、AWSやAzureなどのマルチクラウドで提供されており、仮想ネットワーク上にデプロイできることからエンタープライズレベルのセキュリティ要件を満たすことができます。

Anacondaは有償化されてしまい利用は難しいですし、Google Colabはセキュリティという観点で業務では利用できませんでした。

- [Anaconda パッケージリポジトリが「大規模な」商用利用では有償になっていた - Qiita](https://qiita.com/tfukumori/items/f8fc2c53077b234384fc)

### 必要そうな環境
下記の環境が必要であり、最新版のDatabricks RuntimeだとKearas（スタンドアロン）がインストールされていないため、Databricks Runtime 6.4 MLを利用するのがよさそうです

- Python 
- Pandas
- Numbpy
- tensolflow
- Kerasa(スタンドアロン)

Databricks Runtime 6.4 MLにインストールされているライブラリは、下記のドキュメントを参考にしてください

- [Machine Learning Azure Databricks の Databricks Runtime 6.4 - Workspace | Microsoft Docs](https://docs.microsoft.com/ja-jp/azure/databricks/release-notes/runtime/6.4ml)

## Databricks環境構築
### Databricks Community Editonの申し込みます。
#### [Try Databricks](https://databricks.com/try-databricks)から申し込みを実施します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/b13a9b83-02d9-d018-eae8-3bb0e5b7f366.png)
引用元：[Try Databricks](https://databricks.com/try-databricks)

#### 下記にて、"COMMUNITY EDITION"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/048bd2e7-6f62-6291-5126-0219cf03f2f5.png)
引用元：[Try Databricks](https://databricks.com/try-databricks)

#### 届いたメールのリンクを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/a8efb4bf-e142-3408-39c2-8fb165c9099a.png)

#### パスワードを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/0eedb7d5-8d25-e875-cb9f-46f99c46f3f5.png)

#### Databricksに接続できることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/053d1c96-90c8-d2b4-a0b5-4b8ccf69e751.png)

### 講座を学習する際の手順
#### インポートするファイルをインポートします。フォルダーで取り込めないため、コマンドラインで一括で取り込んだほうが楽かもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/aa34f4a5-40f5-d699-ef1e-8695fe7aec41.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/a97ca517-b180-049e-5e24-f931ba58655e.png)

#### "Clustres"を右クリック後、"Cluster Name"に適当な名前を、"Databricks Runtime Version"を"Databricks Runtime 6.4 ML(Scala 2.11 Spark 2.4.5)"を入力し、"Create Cluster"を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/519ddda2-b5da-0617-4090-18fba7fb9023.png)


#### ノートブックを開き、クラスターをアタッチして、ノートブックを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/a6122cc5-d70c-f02c-c1e6-bbee341affb9.png)

## 本手順で学習する場合の注意事項

### 1. Community Editionでは、GPUを利用することはできないこと 
### 2. 学習前に毎回クラスターをクローンにより作成する必要があること
### 3. 学習コードのインポートをGUIで実施する場合にフォルダー単位で実施する必要があること

### 4. matplot、seabornにおけるグラフが表示されない場合、下記のコードを実行する必要がある。
```python
%matplotlib inline
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/f9bc6fbd-9584-6ba9-f03d-4b478822e591.png)

下記のドキュメントにて説明されてます。

- [Matplotlib — Databricks Documentation](https://docs.databricks.com/notebooks/visualizations/matplotlib.html)