AutoML の使用を検討している場合は、その仕組みや開始手順について疑問があるかもしれません。このセクションでは、一般的な AutoML パターンについて詳しく説明し、AutoML の仕組みを探り、プロジェクトで AutoML の使用を開始する前に必要な手順について説明します。
AutoML ツール
AutoML ツールは、主に次の 2 つのカテゴリに分類されます。
- コード不要のツールは通常、ウェブ アプリケーションの形をとっており、ユーザー インターフェースでテストを構成して実行し、コードを記述せずにデータに最適なモデルを見つけることができます。
- API ツールと CLI ツールは高度な自動化機能を提供しますが、プログラミングと ML の専門知識がより多く(場合によっては大幅に)必要になります。
コーディングが必要な AutoML ツールは、コード不要のツールよりも強力で柔軟ですが、使いにくいこともあります。このモジュールでは、モデル開発のノーコード オプションに焦点を当てますが、カスタマイズされた自動化が必要な場合は、API と CLI のオプションが役立ちます。
AutoML ワークフロー
一般的な ML ワークフローを説明して、AutoML を使用する場合の動作を確認しましょう。ワークフローの概要は、カスタム トレーニングで使用する手順と同じです。主な違いは、AutoML が一部のタスクを処理することです。
問題の定義
ML ワークフローの最初のステップは、問題を定義することです。AutoML を使用する場合は、選択したツールが ML プロジェクトの目標をサポートできることを確認してください。ほとんどの AutoML ツールは、さまざまな教師あり機械学習アルゴリズムと入力データ型をサポートしています。
問題のフレーム設定の詳細については、機械学習の問題のフレーム設定の概要のモジュールをご覧ください。
Data gathering
AutoML ツールの使用を開始する前に、データを 1 つのデータソースに収集する必要があります。プロダクトのドキュメントで、ツールがデータソース、データセット内のデータタイプ、データセットのサイズをサポートしていることを確認します。
データの準備
データ準備は AutoML ツールが役立つ分野ですが、すべての作業を自動的に行うツールはありません。そのため、データをツールにインポートする前に、ある程度の作業が必要になります。AutoML のデータ準備は、モデルを手動でトレーニングするために必要な作業と似ています。トレーニング用にデータを準備する方法について詳しくは、データ準備のセクションをご覧ください。
データの準備の詳細については、数値データの操作モジュールとカテゴリデータの操作モジュールをご覧ください。
AutoML トレーニング用のデータをインポートする前に、次の手順を完了する必要があります。
データにラベルを付ける
データセット内のすべてのサンプルにラベルが必要です。
データをクリーニングしてフォーマットする
実世界のデータは乱雑な傾向があるため、使用前にデータをクリーンアップする必要があります。AutoML を使用している場合でも、特定のデータセットと問題に最適な処理を決定する必要があります。最良の結果を得るには、探索と AutoML の複数の実行が必要になる場合があります。
特徴変換を実行する
一部の AutoML ツールは、特定の特徴変換を自動的に処理します。ただし、使用しているツールが必要な特徴変換をサポートしていない場合や、十分にサポートしていない場合は、事前に変換を行う必要があります。
モデル開発(ノーコード AutoML を使用)
トレーニング中は AutoML が作業を行います。ただし、トレーニングを開始する前に、テストを構成する必要があります。AutoML トレーニング実行を設定するには、通常、次の大まかな手順を指定する必要があります。
データをインポートする
データをインポートするには、データソースを指定します。インポート プロセス中に、AutoML ツールは各データ値にセマンティック データ型を割り当てます。
データを分析する
通常、AutoML プロダクトには、トレーニング前とトレーニング後にデータセットを分析するためのツールが用意されています。ベスト プラクティスとして、AutoML の実行を開始する前に、これらの分析ツールを使用してデータを理解し、検証することをおすすめします。
データを絞り込む
AutoML ツールには、インポート後にデータを精緻化するメカニズムと、トレーニング前にデータを精緻化するメカニズムが用意されています。データを絞り込むために、以下のようなタスクを完了することをおすすめします。
セマンティック チェック: インポート中に、AutoML ツールは各特徴量の正しいセマンティック型を特定しようとしますが、これは推測にすぎません。すべての特徴に指定されているタイプを確認し、誤って割り当てられている場合は変更する必要があります。
たとえば、郵便番号がデータベースの列に数値として保存されている場合があります。ほとんどの AutoML システムでは、このデータは連続数値データとして検出されます。これは郵便番号には正しくありません。この特徴列のセマンティック タイプは連続型ではなくカテゴリ型に変更することをおすすめします。
変換: 一部のツールでは、ユーザーが精製プロセスの一環としてデータ変換をカスタマイズできます。これは、データセットに予測機能が含まれていて、AutoML ツールが助けなしで決定するのが難しい方法で変換または結合する必要がある場合に必要になることがあります。
たとえば、住宅の販売価格を予測するために使用している住宅データセットについて考えてみましょう。
description
という家屋のリスティングの説明を表す特徴があり、このデータを使用してdescription_length
という新しい特徴を作成する必要があるとします。一部の AutoML システムでは、カスタム変換を使用できます。この例では、LENGTH(description)
のような新しい説明の長さの特徴を生成するLENGTH
関数がある場合があります。
AutoML 実行パラメータを構成する
トレーニング テストを実行する前の最後のステップは、いくつかの構成設定を選択して、モデルのトレーニング方法をツールに指示することです。各 AutoML ツールには独自の構成オプションのセットがありますが、ここでは、完了する必要がある重要な構成タスクをいくつか紹介します。
- 解決する ML 問題の種類を選択します。たとえば、分類問題と回帰問題のどちらを解決しているのか。
- データセット内のラベル列を選択します。
- モデルのトレーニングに使用する特徴セットを選択します。
- AutoML がモデル検索で検討する ML アルゴリズムのセットを選択します。
- AutoML が最適なモデルを選択するために使用する評価指標を選択します。
AutoML テストを構成したら、トレーニング実行を開始できます。トレーニングが完了するまでに時間がかかることがあります(数時間程度)。
モデルの評価
トレーニングが完了したら、AutoML プロダクトが提供するツールを使用して結果を調べ、次のことができます。
- 特徴量の重要度指標を調べて、特徴量を評価します。
- モデルの構築に使用されたアーキテクチャとハイパーパラメータを調べて、モデルを理解します。
- 出力モデルのトレーニング中に収集されたプロットと指標を使用して、最上位モデルのパフォーマンスを評価します。
プロダクション
このモジュールの範囲外ですが、一部の AutoML システムはモデルのテストとデプロイに役立ちます。
モデルを再トレーニングする
新しいデータでモデルを再トレーニングする必要がある場合があります。これは、AutoML トレーニング実行の評価後や、モデルが本番環境でしばらく使用された後に発生することがあります。どちらの場合も、AutoML システムは再トレーニングにも役立ちます。AutoML の実行後にデータをもう一度確認し、改善されたデータセットで再トレーニングすることは珍しくありません。
次のステップ
このモジュールは以上です。
ご自身のペースと興味に合わせて、さまざまな MLCC モジュールをぜひご確認ください。推奨される順序で学習する場合は、次に ML の公平性モジュールに進むことをおすすめします。