AutoML を使用したトレーニング (Train Using AutoML) (GeoAI)

サマリー

トレーニング パイプラインを構築し、トレーニング プロセスの多くを自動化することで、ディープ ラーニング モデルをトレーニングします。 これには、探索的データ解析、フィーチャの選択、フィーチャ エンジニアリング、モデルの選択、ハイパーパラメーターの調整、およびモデル トレーニングが含まれます。 その出力には、トレーニング データの最適モデルのパフォーマンス指標と、[AutoML を使用した予測 (Predict Using AutoML)] ツールの入力として使用し、新しいデータセットを予測できるトレーニング済みのディープ ラーニング モデル パッケージ (.dlpk) が含まれます。

AutoML の仕組みの詳細

使用法

  • AllSourcePython の適切なディープ ラーニング フレームワーク パッケージをインストールする必要があります。

    ArcGIS 用のディープ ラーニング フレームワークのインストール方法の詳細

  • ツールがトレーニング済みモデルを作成するのにかかる時間は、以下に応じて異なります。

    • トレーニング中に入力されるデータの量
    • [AutoML モード] パラメーターの値

    デフォルトで、すべてのモードのタイマーは 60 分に設定されています。 トレーニングで使用されるデータ量にかかわらず、[基本] オプションでは、最適モデルの検索に 60 分はかかりません。 この適合プロセスは、最適モデルが特定されると即座に完了します。 [高度] オプションでは、フィーチャ エンジニアリング、フィーチャの選択、ハイパーパラメーターの調整などの追加タスクを行うため、より多くの時間を要します。 入力から複数のフィーチャを組み合わせることによって得られる新しいフィーチャのほか、ツールは、zone3_id から zone7_id までの名前を持つ空間フィーチャを作成します。 新しいフィーチャは、入力データ内の位置情報から抽出され、より最適なモデルをトレーニングするために使用されます。 新しい空間フィーチャの詳細については、「AutoML の仕組み」をご参照ください。 トレーニングされるデータの量が多いと、モデルのすべての組み合わせを 60 分以内に評価できない場合があります。 そのような場合、60 分以内に特定された最高パフォーマンスのモデルが、最適なモデルと見なされます。 続いて、このモデルを使用するか、[合計制限時間 (分)] パラメーターの値を大きくしてツールを再実行できます。

  • ラスターを説明変数として使用するには、ArcGIS Spatial Analyst extension のライセンスが必要です。

  • [出力レポート] パラメーター値は、作業ディレクトリの情報を確認する方法を提供する HTML 形式のファイルです。

    出力レポートの最初のページには、評価された各モデルへのリンクが含まれており、検証データセットでのパフォーマンスと、トレーニングにかかった時間も表示されます。 評価指標に基づき、レポートには、選択された最高パフォーマンスのモデルが示されます。

    RMSE は回帰問題のデフォルトの評価指標であり、Logloss は分類問題のデフォルトの指標です。 出力レポートでは、次の指標を使用できます。

    • 分類 - AUC、Logloss、F1、Accuracy、Average Precision
    • 回帰 - MSE、RMSE、MAE、R2、MAPE、Spearman 係数、Pearson 係数

    モデルの組み合わせをクリックすると、学習曲線、変数の重要度曲線、使用されるハイパーパラメーターなど、そのモデルの組み合わせのトレーニングに関する詳細が表示されます。

  • このツールの使用例には、気象要因に基づく年間太陽エネルギー生成モデルのトレーニング、関連する変数を使用した作物予測モデルのトレーニング、住宅価値予測モデルのトレーニングなど考えられます。

  • このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくあるご質問 (FAQ)」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力トレーニング フィーチャ

モデルのトレーニングに使用される入力フィーチャクラス。

Feature Layer; Table View
出力モデル

ディープ ラーニング パッケージとして保存される出力トレーニング済みモデル (.dlpk ファイル)。

File
予測対象変数

モデルのトレーニングに使用される値を含む [入力トレーニング フィーチャ] パラメーター値のフィールド。 このフィールドには、不明なロケーションでの予測に使用される変数の既知 (トレーニング) の値が含まれます。

Field
変数をカテゴリとして処理
(オプション)

[予測対象変数] パラメーター値をカテゴリ変数として扱うかどうかを指定します。

  • オン - [予測対象変数] パラメーター値がカテゴリ変数として扱われ、このツールで分類が実行されます。
  • オフ - [予測対象変数] パラメーター値が連続変数として扱われ、このツールで回帰が実行されます。 これがデフォルトです。

Boolean
説明トレーニング変数
(オプション)

[予測対象変数] パラメーター値の値またはカテゴリの予測に役立つ説明変数を表すフィールドのリスト。 クラスまたはカテゴリを表す変数 (土地被覆や有無など) の場合に付随するチェックボックスをオンにします。

Value Table
説明トレーニング距離フィーチャ
(オプション)

このフィーチャの入力トレーニング フィーチャからの距離が自動的に推定され、より多くの説明変数として追加されます。 入力された各説明トレーニング距離フィーチャから最近隣の入力トレーニング フィーチャまでの距離が算出されます。 ポイントおよびポリゴン フィーチャがサポートされており、入力された説明トレーニング距離フィーチャがポリゴンの場合、距離の属性は、フィーチャのペアの最も近いセグメント間の距離として計算されます。

Feature Layer
説明トレーニング ラスター
(オプション)

このラスターの値がラスターから抽出され、モデルの説明変数と見なされます。 各レイヤーが、1 つの説明変数を形成します。 入力トレーニング フィーチャのフィーチャごとに、該当する位置でラスター セルの値が抽出されます。 連続ラスターからラスター値を抽出する場合には、共一次内挿法によるラスターのリサンプリングが使用されます。 カテゴリ ラスターからラスター値を抽出する場合には、最近隣内挿法による近接割り当てが使用されます。 [入力トレーニング フィーチャ] パラメーター値にポリゴンが含まれ、このパラメーターを指定した場合、各ポリゴンの 1 つのラスター値がそのモデルで使用されます。 各ポリゴンには、連続ラスターの場合は平均値、カテゴリ ラスターの場合は最頻値が割り当てられています。 クラスまたはカテゴリを表すラスター (土地被覆や有無など) の場合に [カテゴリ] 列チェックボックスをオンにします。

Value Table
合計制限時間 (分)
(オプション)

AutoML モデル トレーニングに使用する合計時間の制限を分で示した値。 デフォルト値は 60 (1 時間) です。

Double
AutoML モード
(オプション)

AutoML の目的と AutoML の検索がどの程度徹底的に行われるかを指定します。

  • 基本さまざまな変数とデータの重要性を説明するには基本が使用されます。 フィーチャ エンジニアリング、フィーチャの選択、ハイパーパラメーターの調整は行われません。 モデルの学習曲線の完全な記述と説明、ツリーベース モデル用に生成されたフィーチャ重要度プロット、および他のすべてのモデルの SHAP プロットなどが、レポートに出力されます。 このモードは、最小の処理時間で実行できます。 これがデフォルトです。
  • 中間中間は、実際のユース ケースで使用されるモデルをトレーニングするために使用されます。 このモードは 5 分割交差検証 (CV) を使用し、学習曲線と重要度プロットの出力をレポートに生成しますが、SHAP プロットは使用できません。
  • 高度高度は、機械学習コンテストに使用されます (最大のパフォーマンスのため)。 このモードは、10 分割交差検証 (CV) を使用し、フィーチャ エンジニアリング、フィーチャの選択、およびハイパーパラメーターの調整を実行します。 入力トレーニング フィーチャがその位置に基づいて異なるサイズの複数の空間グリッドに割り当てられ、対応するグリッド ID が追加のカテゴリ説明変数としてモデルに渡されます。 レポートには学習曲線のみが含まれ、モデルの説明可能性は出力されません。
String
アルゴリズム
(オプション)

トレーニング中に使用されるアルゴリズムを指定します。

デフォルトでは、すべてのアルゴリズムが使用されます。

  • リニア線形回帰のための教師付きアルゴリズムを使用して、回帰機械学習モデルがトレーニングされます。アルゴリズムとして [リニア] のみが指定されている場合、レコードの総数が 10,000 未満、列の数が 1,000 未満であることを確認してください。 他のモデルはより大きなデータセットを処理できるため、アルゴリズムに [リニア] だけを指定せず、他のアルゴリズムと併用することをお勧めします。
  • ランダム ツリーランダム ツリー決定木ベース教師付き機械学習アルゴリズムが使用されます。 これは分類と回帰の両方に使用できます。
  • XGBoostXGBoost (Extreme Gradient Boosting) 教師付き機械学習アルゴリズムが使用されます。 これは分類と回帰の両方に使用できます。
  • LightGBM決定木ベースの LightGBM 勾配ブースティング アンサンブル アルゴリズムが使用されます。 これは分類と回帰の両方に使用できます。 LightGBM は、分散システムで高性能を発揮するよう最適化されています。
  • 決定木特定の質問への回答として True または False を使用してデータを分類または回帰する、決定木教師付き機械学習アルゴリズムが使用されます。 決定木は容易に理解でき、説明性に優れています。
  • エクストラ ツリー決定木を使用するエクストラ ツリー (Extra trees) (Extremely Randomized Trees の略称) 教師付きアンサンブル機械学習法が使用されます。 このアルゴリズムはランダム ツリーに似ていますが、より高速に動作できます。
  • CatBoostCatBoost アルゴリズムが使用されます。 このアルゴリズムは、分類と回帰の決定木を使用します。 このオプションでは、カテゴリ説明変数と非カテゴリ説明変数の組み合わせを前処理せずに利用できます。
Multivalue
検証率
(オプション)

検証に使用される入力データのパーセンテージ。 デフォルト値は 10 です。

Long
出力レポート
(オプション)

.html ファイルとして生成される出力レポート。 指定されたパスが空でない場合、レポートは指定されたパスの下の新しいフォルダーに作成されます。 レポートには、さまざまなモデルの詳細と、各モデルの評価およびパフォーマンス中に使用されたハイパーパラメーターの詳細が含まれます。 ハイパーパラメーターは、トレーニング プロセスをコントロールするパラメーターです。 トレーニング中には更新されず、モデル アーキテクチャ、学習率、エポック数などを含みます。

File
出力重要度テーブル
(オプション)

モデルで使用されている各説明変数 (フィールド、距離フィーチャ、およびラスター) の重要度に関する情報を含む出力テーブル。

Table
出力フィーチャクラス
(オプション)

トレーニング フィーチャ レイヤーで最高のパフォーマンスを発揮するモデルによる予測値を含むフィーチャ レイヤー。 これを使用して、予測値をグラウンド トゥルースと視覚的に比較することにより、モデルのパフォーマンスを検証できます。

Feature Class

arcpy.geoai.TrainUsingAutoML(in_features, out_model, variable_predict, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {total_time_limit}, {autoML_mode}, {algorithms}, {validation_percent}, {out_report}, {out_importance}, {out_features})
名前説明データ タイプ
in_features

モデルのトレーニングに使用される入力フィーチャクラス。

Feature Layer; Table View
out_model

ディープ ラーニング パッケージとして保存される出力トレーニング済みモデル (.dlpk ファイル)。

File
variable_predict

モデルのトレーニングに使用される値を含む in_features パラメーターのフィールド。 このフィールドには、不明なロケーションでの予測に使用される変数の既知 (トレーニング) の値が含まれます。

Field
treat_variable_as_categorical
(オプション)

variable_predict パラメーター値をカテゴリ変数として扱うかどうかを指定します。

  • CATEGORICALvariable_predict パラメーター値がカテゴリ変数として扱われ、このツールで分類が実行されます。
  • CONTINUOUSvariable_predict パラメーター値が連続変数として扱われ、このツールで回帰が実行されます。 これがデフォルトです。
Boolean
explanatory_variables
[explanatory_variables,...]
(オプション)

variable_predict パラメーター値の値またはカテゴリの予測に役立つ説明変数を表すフィールドのリスト。 クラスまたはカテゴリを表す変数 (土地被覆や有無など) の場合に True 値 ('name_of_variable',True) を渡します。

Value Table
distance_features
[distance_features,...]
(オプション)

このフィーチャの入力トレーニング フィーチャからの距離が自動的に推定され、より多くの説明変数として追加されます。 入力された各説明トレーニング距離フィーチャから最近隣の入力トレーニング フィーチャまでの距離が算出されます。 ポイントおよびポリゴン フィーチャがサポートされており、入力された説明トレーニング距離フィーチャがポリゴンの場合、距離の属性は、フィーチャのペアの最も近いセグメント間の距離として計算されます。

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(オプション)

このラスターの値がラスターから抽出され、モデルの説明変数と見なされます。 各レイヤーが、1 つの説明変数を形成します。 入力トレーニング フィーチャのフィーチャごとに、該当する位置でラスター セルの値が抽出されます。 連続ラスターからラスター値を抽出する場合には、共一次内挿法によるラスターのリサンプリングが使用されます。 カテゴリ ラスターからラスター値を抽出する場合には、最近隣内挿法による近接割り当てが使用されます。 in_features パラメーター値にポリゴンが含まれ、このパラメーターを指定した場合、各ポリゴンの 1 つのラスター値がそのモデルで使用されます。 各ポリゴンには、連続ラスターの場合は平均値、カテゴリ ラスターの場合は最頻値が割り当てられています。 クラスまたはカテゴリを表すラスター (土地被覆や有無など) の場合には "<name_of_raster> true" を使用して True 値を渡します。

Value Table
total_time_limit
(オプション)

AutoML モデル トレーニングに使用する合計時間の制限を分で示した値。 デフォルト値は 60 (1 時間) です。

Double
autoML_mode
(オプション)

AutoML の目的と AutoML の検索がどの程度徹底的に行われるかを指定します。

  • BASICさまざまな変数とデータの重要性を説明するには基本が使用されます。 フィーチャ エンジニアリング、フィーチャの選択、ハイパーパラメーターの調整は行われません。 モデルの学習曲線の完全な記述と説明、ツリーベース モデル用に生成されたフィーチャ重要度プロット、および他のすべてのモデルの SHAP プロットなどが、レポートに出力されます。 このモードは、最小の処理時間で実行できます。 これがデフォルトです。
  • INTERMEDIATE中間は、実際のユース ケースで使用されるモデルをトレーニングするために使用されます。 このモードは 5 分割交差検証 (CV) を使用し、学習曲線と重要度プロットの出力をレポートに生成しますが、SHAP プロットは使用できません。
  • ADVANCED高度は、機械学習コンテストに使用されます (最大のパフォーマンスのため)。 このモードは、10 分割交差検証 (CV) を使用し、フィーチャ エンジニアリング、フィーチャの選択、およびハイパーパラメーターの調整を実行します。 入力トレーニング フィーチャがその位置に基づいて異なるサイズの複数の空間グリッドに割り当てられ、対応するグリッド ID が追加のカテゴリ説明変数としてモデルに渡されます。 レポートには学習曲線のみが含まれ、モデルの説明可能性は出力されません。
String
algorithms
[algorithms,...]
(オプション)

トレーニング中に使用されるアルゴリズムを指定します。

  • LINEAR線形回帰のための教師付きアルゴリズムを使用して、回帰機械学習モデルがトレーニングされます。アルゴリズムとして [リニア] のみが指定されている場合、レコードの総数が 10,000 未満、列の数が 1,000 未満であることを確認してください。 他のモデルはより大きなデータセットを処理できるため、アルゴリズムに [リニア] だけを指定せず、他のアルゴリズムと併用することをお勧めします。
  • RANDOM TREESランダム ツリー決定木ベース教師付き機械学習アルゴリズムが使用されます。 これは分類と回帰の両方に使用できます。
  • XGBOOSTXGBoost (Extreme Gradient Boosting) 教師付き機械学習アルゴリズムが使用されます。 これは分類と回帰の両方に使用できます。
  • LIGHT GBM決定木ベースの LightGBM 勾配ブースティング アンサンブル アルゴリズムが使用されます。 これは分類と回帰の両方に使用できます。 LightGBM は、分散システムで高性能を発揮するよう最適化されています。
  • DECISION TREE特定の質問への回答として True または False を使用してデータを分類または回帰する、決定木教師付き機械学習アルゴリズムが使用されます。 決定木は容易に理解でき、説明性に優れています。
  • EXTRA TREE決定木を使用するエクストラ ツリー (Extra trees) (Extremely Randomized Trees の略称) 教師付きアンサンブル機械学習法が使用されます。 このアルゴリズムはランダム ツリーに似ていますが、より高速に動作できます。
  • CATBOOSTCatBoost アルゴリズムが使用されます。 このアルゴリズムは、分類と回帰の決定木を使用します。 このオプションでは、カテゴリ説明変数と非カテゴリ説明変数の組み合わせを前処理せずに利用できます。

デフォルトでは、すべてのアルゴリズムが使用されます。

Multivalue
validation_percent
(オプション)

検証に使用される入力データのパーセンテージ。 デフォルト値は 10 です。

Long
out_report
(オプション)

.html ファイルとして生成される出力レポート。 指定されたパスが空でない場合、レポートは指定されたパスの下の新しいフォルダーに作成されます。 レポートには、さまざまなモデルの詳細と、各モデルの評価およびパフォーマンス中に使用されたハイパーパラメーターの詳細が含まれます。 ハイパーパラメーターは、トレーニング プロセスをコントロールするパラメーターです。 トレーニング中には更新されず、モデル アーキテクチャ、学習率、エポック数などを含みます。

File
out_importance
(オプション)

モデルで使用されている各説明変数 (フィールド、距離フィーチャ、およびラスター) の重要度に関する情報を含む出力テーブル。

Table
out_features
(オプション)

トレーニング フィーチャ レイヤーで最高のパフォーマンスを発揮するモデルによる予測値を含むフィーチャ レイヤー。 これを使用して、予測値をグラウンド トゥルースと視覚的に比較することにより、モデルのパフォーマンスを検証できます。

Feature Class

コードのサンプル

TrainUsingAutoML (Python ウィンドウ)

この例では、TrainUsingAutoML 関数を使用する方法を示します。


# Name: TrainUsingAutoML.py
# Description: Train a machine learning model on feature or tabular data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath  = "path_to_data" 
out_path = "path_to_trained_model"

in_feature = os.path.join(datapath, "train_data.gdb", "name_of_data")
out_model = os.path.join(out_path, "model.dlpk")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoML(in_feature, out_model, "price", None, 
                             "bathrooms #;bedrooms #;square_fee #", None, None, 
                             60, "BASIC")