Databricks Certified Machine Learning Associate 合格体験記

# はじめに

![スクリーンショット 2023-01-07 13.45.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226404/54639ffe-ea2a-3445-dda0-72468369aebd.png)

株式会社NTTデータ [Data & Intelligence事業部](https://enterprise-aiiot.nttdata.com/) の nttd-yuan です。
Databricksのエバンジェリスト資格 [Databricks Champion](https://www.databricks.com/jp/blog/2022/12/06/jimarelegendary-heroes-data-ai.html) の認定者です。

Databricks Certified Machine Learning Associateという資格に合格しましたので、試験の概要や感想について書かせていただきます。
Databricks 製品に詳しくなりたくて始めたのですが、機械学習の基礎知識、分散学習の仕組みなど Databricks製品以外の知識もたくさん学ぶことができ、期待以上の学習効果が得られました！
そろそろシングルマシンの限界を感じて分散学習の領域に踏み込んでいきたい！ Databricksを学んでいきたい！ というデータサイエンティストの方に強くおすすめしたい資格です。

# 試験概要
Databricks社認定試験のうち、データサイエンティスト向けの機械学習に関する試験です。
公式ガイドはこちらのサイトをご覧ください。

https://www.databricks.com/learn/certification/machine-learning-associate

試験内容は、以下の４つのカテゴリーに分類されています。
* Databricks Machine Learning – 29% (13/45)
* ML Workflows – 29% (13/45)
* Spark ML – 33% (15/45)
* Scaling ML Models – 9% (4/45)

その他に試験に関する情報を以下に示します。
| 項目 | 内容 |
|:-:|:--|
| 時間 | 90分 |
| 問題数  |  45問 |
| 言語  |  英語のみ |
| 受験方法  | Webassessorによるオンライン試験  |
| 合格ライン |  70% |
| 試験形式  | 択一式 |
| 受験費用 |  $200 |

# 学習方法
### 1. 公式eラーニングによる勉強
下記のサイトでログインして、"Machine Learning Practitioner Learning Plan"を検索して"ENROLL"します。
https://www.databricks.com/learn/training/login
![スクリーンショット 2023-01-07 15.00.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226404/a0507060-46ad-ff2b-5f59-549561c55452.png)
このeラーニングでは６つのレッスンがありますが、最初の３つはDatabricks Certified Machine Learning Associateの範囲となります。
* Certification Overview: Databricks Certified Machine Learning Associate Exam
このレッスンは一番最初に実施するのがおすすめです。
試験の概要やトピックが説明されるので、試験の全体像を掴むに役立ちます。
特にトピックは非常に重要です。試験ではこれらのトピックに関連する問題しか出ないので、トピックのキーワードをしっかりメモして、試験前に全てのキーワードを網羅的に学習できたかチェックするのがおすすめです。
* Exam Information: Databricks Certified Machine Learning Associate (available for an additional fee)
公式ガイドの案内だけです。
* Scalable Machine Learning with Apache Spark
試験の80%-90%はこのレッスンの内容から出題されるイメージでした。ここはじっくり進めましょう。
eラーニングを視聴しながら、Databricksプラットフォームで手を動かしていくのが効率的でおすすめです。
一部使えない高度な機能もありますが、基本的に[コミュニティエディション(無料版)](https://community.cloud.databricks.com/login.html)を活用して問題ないと思います。
コミュニティエディションを初めて使う方は以下のQiita記事を参考すると良いです。
https://qiita.com/taka_yayoi/items/5918a0e88d9b2472578c
また、ノートブックの日本語バージョンも公開されています。
https://github.com/databricks-academy/scalable-machine-learning-with-apache-spark-japanese
試験は英語のみですので、基本的に英語バージョンで進めることがおすすめですが、英語が苦手の方は一度日本語バージョンを学んでから、英語バージョンを学んでいくとスムーズになるかもしれません。


### 2. 関連要素の補完
"Scalable Machine Learning with Apache Spark"でカバーしていない10-20%の内容を補完します。
やり方として、"Certification Overview: Databricks Certified Machine Learning Associate Exam"でメモったトピックを一回振り返って見て、カバーしてないキーワードを書き出して、DatabricksのマニュアルやQiitaでひたすら調べるだけです。

# 試験の感想
公式ガイドに載っているカテゴリーごとに感想を書きます。

* Databricks Machine Learning – 29% (13/45)
Databricks特有の機能（Cluster、Repos、Workflow、AutoML、Feature Store、MLflow）の仕様についての問題が出題されました。
MLflowに関して多く出題されました。最低限、Scalable Machine Learning with Apache SparkのノートブックにあるMLflowに関するコードやUI使い方を理解するレベルが求められました。

* ML Workflows – 29% (13/45)
Databricksを利用して、MLワークフローの各ステップ（探索的データ解析、特徴量エンジニアリング、チューニング、モデルの評価）の方法論についての問題が出題されました。
特徴量エンジニアリング、チューニングに関して多く出題され、特徴量エンジニアリングに関して欠損値置換/OneHotエンコーディング、チューニングに関してParamGrid/CrossValidator/Hyperoptを中心に質問されました。
モデルの評価に関しては、よく使われる評価メトリクスの利用ユースケースに関する一般的な機械学習の質問もありました。

* Spark ML – 33% (15/45)
Spark ML、Pandas API、Pandas UDF、Pandas Funtion APIに関する分散学習の仕組みやAPI使い方についての問題が出題されました。
普段は分散学習をあまりやったことがないので、個人的に一番難しいパートでした。
ただ、基本的にScalable Machine Learning with Apache Sparkがカバーしている範囲までなので、しっかりノートブックと解説を理解しておけば問題ないと思います。

* Scaling ML Models – 9% (4/45)
決定木アルゴリズムのmaxBinsや、matrix decompositionのような大規模データの機械学習に関する処理の並列化に関する少し高度な問題が出題されました。


# 終わりに
この資格の受験勉強のメインは、Scalable Machine Learning with Apache Sparkをじっくりやっていくものですが、実際のユースケースを踏まえて、シンプルな学習モデル作成から少しずつ高度な技術を利用して、内容を改善していくような面白いコンテンツです。ノートブックの数が少し多いですが、楽しく進めることができました。

Databricksの認定試験を取得している人数は日本においてまだまだ少ないので、ぜひ早いうちに受験してみてください！

# 仲間募集中！
[ NTTデータ Data&Intelligence事業部 ](https://enterprise-aiiot.nttdata.com/) では、以下の職種を募集しています。

<details><summary> 1. 「クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)」 </summary>
クラウド/プラットフォーム技術の知見に基づき、ITアーキテクトまたはPMとして、DWH、BI、ETL領域における、ソリューション開発の推進や、コンサルティング工程のシステムグランドデザイン策定時におけるアーキテクト観点からの検討を行う人材を募集しています。→ https://nttdata.jposting.net/u/job.phtml?job_code=808

</details>

<details><summary> 2. AI／データ活用を実践する「クラウド・ソリューションアーキテクト」 </summary>
AI／データ活用を実践する「クラウド・ソリューションアーキテクト」として、クラウド先進テクノロジーを積極活用し、お客様のビジネス価値創出活動を実践。AI／データ活用の基本構想立案コンサルティングからクラウドプラットフォーム提供・活用を支援しています。お客様のAI・データ活用を支援するクラウド・ソリューション提案、アーキテクチャ設計・構築・継続活用支援（フルマネージドサービス提供）、および最新クラウドサービスに関する調査・検証で、クラウド分析基盤ソリューションのメニュー拡充を実施する人材を募集します。→ https://nttdata.jposting.net/u/job.phtml?job_code=807

</details>

また、取り扱う主なソリューションについては、以下のページも参照ください。

# ソリューション紹介
<details><summary> 1. NTTデータとDatabricksについて </summary>
NTTデータは、お客様企業のデジタル変⾰・DXの成功に向けて、「databricks」のソリューションの提供に加え、情報活⽤戦略の⽴案から、AI技術の活⽤も含めたアナリティクス、分析基盤構築・運⽤、分析業務のアウトソースまで、ワンストップの⽀援を提供いたします。
https://enterprise-aiiot.nttdata.com/service/databricks

</details>

<details><summary> 2. Trusted Data Foundationについて </summary>
～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://enterprise-aiiot.nttdata.com/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</details>