機械学習プロセスの主要なステップ：入門

---
<font color="LightSeaGreen">AIの開発と活用をエンドツーエンドでサポートするプラットフォーム、Dataikuについて、エンジニアの皆様向けのハンズオンを**2022年6月7日(火)@渋谷**で開催します。
高度にビジュアル化されたGUIで、コーディングを得意とするエンジニアの皆様の作業を大きく効率化すると共に、DataOps、MLOpsの実現をご支援します。
どんなツールだろうとご関心を持ってくださっているデータサイエンティストやエンジニアの皆様、是非ご参加ください！
[**→詳細・お申し込みはこちら**](https://dataiku.connpass.com/event/245013/)
</font>

---

機械学習は、ここ数年でますます身近な存在になっています。[自動機械学習](https://www.dataiku.com/learn/webinars/automl-basics-what-it-is-and-how-to-leverage-it/)（AutoML）、[協調型AI](https://blog.dataiku.com/the-art-of-collaborative-data-science-at-scale)、機械学習プラットフォーム（[Dataiku](https://www.dataiku.com/製品/始める/)など）の進歩により、さまざまな職種の人々の間で、予測モデリングを含むデータの使用が増えています。機械学習プロセスに関与するために、あなたはもはや専門家のコーダー、データサイエンティスト、またはエンジニアである必要はありません。これらの5つの機械学習手順に従うことで、あなた自身のMLモデルを構築できます。

## 5つの主要な機械学習ステップ：
![Screenshot 2021-02-24 at 10.16.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196881/75d102a4-6fa8-66f2-36d2-87085d00b53d.png)


**1. 目標を定義する(Defining the Goal):**
機械学習プロセスの最初のステップは、機械学習プロジェクトのビジネス目標をできるだけ具体的に定義することです。このステップは、モデルを確実に成功させるための鍵です。機械学習モデルを最初から最後まで実行および構築するモチベーション、方向性、および目標を持つには、データ、モデルで何をしたいのか、既存のプロセスまたはパフォーマンスをどのように改善するかについて、明確な目的を認識する必要があります。すなわち、明確な目標がなければモデルはおそらく本番運用に到達しないので、まずはここから始めてください。

ビジネス上の課題を特定するには、さまざまな種類の予測の中で、正確には何を予測したいのかを考えることから始めます。教師あり学習には、主に2つのタイプがあります。

- **分類** — あるものについて、それがどれに該当するかを予測したいですか？
- **回帰** — あるものについて、明確な数値を予測したいですか？

ビジネス上の課題と使用する教師あり機械学習の種類を特定したら、機械学習プロセスの次ステップへ進みます。
 
<br>

**2. 機械学習用のデータの準備(Preparing the Dataset for ML):**
機械学習用の[データの準備](https://blog.dataiku.com/make-data-prep-less-of-a-hassle)（つまり、データの一貫性、クリーン性、全体的な使用可能性の確認）は、機械学習プロセスの中で最も時間のかかる部分であり、プロジェクト全体の80％までをも占める可能性があります。それでは、このステップを4つのサブステップに分けて、プロセスを明確にしていきます。

- **データの取得**: 多くの異なるデータソースからのデータを混ぜ、統合することは、機械学習プロジェクトを次のレベルに引き上げます。使用可能なデータを取得するには、データベースへの接続、APIの使用、Web上でのオープンデータの検索など、いくつかの方法があります。
- **データの分析、探索、およびクリーンアップ**: これは、より良い結果を出すために役立ちますが、深刻な問題を回避するのにも役立ちます。どんなデータを使っているか掘り下げて確認し、すべての変数の意味を理解するために質問します。欠損値や一貫性のないデータなど、データ品質に問題がないか注意してください。欠損値や無効な値が多すぎると、これらの変数は予測モデルに使えないことを意味します。
- **特徴量の選択**: モデルのトレーニングに使用する特徴量（独立変数とも呼ばれます）を選択します。適切なタイプの特徴量が選択されるようにするすることで、複雑さと過学習を減らすことができます。
- **特徴量ハンドリングとエンジニアリング**: [特徴量エンジニアリング](https://blog.dataiku.com/automatic-feature-engineering-an-event-driven-approach)は、既存のデータセットから新しい特徴量を構築すること、または既存の特徴量をより意味のあるかたちに変換することを意味します。この機械学習プロセスのステップは、特徴量がより適切に使用され、モデルのパフォーマンスにプラスの影響を与えることができるように変換することです。

これで、このモデルの残りの20％の作業に取り掛かる準備が整いました。

<br>

**3. モデルの構築(Building the Model):**
Dataiku AutoMLを使用することで非常に簡単にモデルを構築できます。AutoMLは、機械学習を適用するプロセスを自動化し、クイック・ベースラインモデリングを簡単にすることができるツールです。経験豊富なデータサイエンティストでさえ、AutoMLを活用することで作業を加速化できます。これは次のような4つの簡単なステップで構成されます。

- **ベースラインの構築**: このモデルは単純ではありますが、クイック・モデリングを通じて適切な結果を得られる可能性は高いです。
- **モデルの設計**: これには、ターゲット変数と予測タイプの選択が含まれます。
- **モデルのトレーニング**: データのサブセットを用いて実行します。入力を出力にマッピングし、正確な予測を行うことができるかを評価します。
- **アルゴリズムと[ハイパーパラメーター](https://blog.dataiku.com/narrowing-the-search-which-hyperparameters-really-matter)の選択**: ビジネスの目標と優先順位に基づいて、モデルに使用するアルゴリズムを決定します。

<br>

**4. モデルの調整(Evaluating the Model):**
モデルが適切かどうかをどのように判断すれば良いでしょうか。これは、さまざまなアルゴリズム間でモデルのパフォーマンスを確認し、比較する機械学習プロセスの一部です。

- **[メトリックスの評価](https://blog.dataiku.com/model-sucks-evaluating-models-validation-set-infographic)と最適化**: 回帰モデルの場合、平均二乗誤差と決定係数（R2）を確認します。分類モデルの場合、そのタイプのモデルを評価するための最も単純なメトリックである**正確率**を確認します。
- **過学習をチェックし、正則化を適用します**: 正則化により、モデルを単純化し、過学習の修正にかかりきりになってしまうことを防ぎます。

<br>

**5. モデルの解釈(Interpreting the Model):**
これは、モデル（およびその出力）を人間がどの程度理解できるかということです。以下では、[結果を解釈](https://blog.dataiku.com/why-machine-learning-interpretability-matters)してパフォーマンスを確認するための3つの手法の概要を簡単に説明します。

- **部分依存グラフ**: 個々の特徴量がモデルの予測に与える影響を説明するのに役立ちます。
- **部分母集団分析**: モデルが異なる部分母集団間で同じように機能するかどうかを調査します。あるグループに対しての予測結果が別のグループに対してのものよりよい場合、そのモデルを本番環境に移行したときに、結果に偏りが生じ、意図しない結果が生じる可能性があります。
- **個々の予測の説明**: 部分依存グラフと部分母集団分析は、より広範な特徴量を見ることができますが、モデルが出力する予測結果のそれぞれについて、その背後にある要因に関する洞察は得られません 。そこで、個別の予測説明が必要になります。この説明は、データの各行における予測や、特定の特徴量がその結果にどのように影響しているるかを理解するのに役立ちます。
![bruce-mars-AndE50aaHn4-unsplash.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196881/6ec1392c-13d7-84a6-029a-f9f042d99647.jpeg)


以上が機械学習モデルの構築方法です。それほど敷居が高くないことをご理解いただけたかと思います。機械学習のプロセスをより親しみやすくするために説明を単純化していますが、時間をかけて詳細に潜り込めば、出来ないことは無いことがお分かりいただけるはずです。


## 機械モデルの開発を始めてみませんか
機械学習モデルの開発に役立つツールやコンセプトについて、わかりやすい言葉と図解で解説しています。機械学習の基本的なプロセスも再確認できます！
[**→ダウンロードはこちら**](https://pages.dataiku.com/machine-learning-basics-illustrated-guidebook-jp)

<br>
<br>

原文：[*Key Steps Involved in the Machine Learning Process: A Primer*](https://blog.dataiku.com/key-steps-machine-learning-process)