ラベル | 説明 | データ タイプ |
入力トレーニング フィーチャ | モデルのトレーニングに使用される入力フィーチャクラス。 | Feature Layer; Table View |
出力モデル | ディープ ラーニング パッケージとして保存される出力トレーニング済みモデル (.dlpk ファイル)。 | File |
予測対象変数 | モデルのトレーニングに使用される値を含む [入力トレーニング フィーチャ] パラメーター値のフィールド。 このフィールドには、不明なロケーションでの予測に使用される変数の既知 (トレーニング) の値が含まれます。 | Field |
変数をカテゴリとして処理 (オプション) | [予測対象変数] パラメーター値をカテゴリ変数として扱うかどうかを指定します。
| Boolean |
説明トレーニング変数 (オプション) | [予測対象変数] パラメーター値の値またはカテゴリの予測に役立つ説明変数を表すフィールドのリスト。 クラスまたはカテゴリを表す変数 (土地被覆や有無など) の場合に付随するチェックボックスをオンにします。 | Value Table |
説明トレーニング距離フィーチャ (オプション) | このフィーチャの入力トレーニング フィーチャからの距離が自動的に推定され、より多くの説明変数として追加されます。 入力された各説明トレーニング距離フィーチャから最近隣の入力トレーニング フィーチャまでの距離が算出されます。 ポイントおよびポリゴン フィーチャがサポートされており、入力された説明トレーニング距離フィーチャがポリゴンの場合、距離の属性は、フィーチャのペアの最も近いセグメント間の距離として計算されます。 | Feature Layer |
説明トレーニング ラスター (オプション) | このラスターの値がラスターから抽出され、モデルの説明変数と見なされます。 各レイヤーが、1 つの説明変数を形成します。 入力トレーニング フィーチャのフィーチャごとに、該当する位置でラスター セルの値が抽出されます。 連続ラスターからラスター値を抽出する場合には、共一次内挿法によるラスターのリサンプリングが使用されます。 カテゴリ ラスターからラスター値を抽出する場合には、最近隣内挿法による近接割り当てが使用されます。 [入力トレーニング フィーチャ] パラメーター値にポリゴンが含まれ、このパラメーターを指定した場合、各ポリゴンの 1 つのラスター値がそのモデルで使用されます。 各ポリゴンには、連続ラスターの場合は平均値、カテゴリ ラスターの場合は最頻値が割り当てられています。 クラスまたはカテゴリを表すラスター (土地被覆や有無など) の場合に [カテゴリ] 列チェックボックスをオンにします。 | Value Table |
合計制限時間 (分) (オプション) | AutoML モデル トレーニングに使用する合計時間の制限を分で示した値。 デフォルト値は 60 (1 時間) です。 | Double |
AutoML モード (オプション) | AutoML の目的と AutoML の検索がどの程度徹底的に行われるかを指定します。
| String |
アルゴリズム (オプション) | トレーニング中に使用されるアルゴリズムを指定します。 デフォルトでは、すべてのアルゴリズムが使用されます。
| Multivalue |
検証率 (オプション) | 検証に使用される入力データのパーセンテージ。 デフォルト値は 10 です。 | Long |
出力レポート (オプション) | .html ファイルとして生成される出力レポート。 指定されたパスが空でない場合、レポートは指定されたパスの下の新しいフォルダーに作成されます。 レポートには、さまざまなモデルの詳細と、各モデルの評価およびパフォーマンス中に使用されたハイパーパラメーターの詳細が含まれます。 ハイパーパラメーターは、トレーニング プロセスをコントロールするパラメーターです。 トレーニング中には更新されず、モデル アーキテクチャ、学習率、エポック数などを含みます。 | File |
出力重要度テーブル (オプション) | モデルで使用されている各説明変数 (フィールド、距離フィーチャ、およびラスター) の重要度に関する情報を含む出力テーブル。 | Table |
出力フィーチャクラス (オプション) | トレーニング フィーチャ レイヤーで最高のパフォーマンスを発揮するモデルによる予測値を含むフィーチャ レイヤー。 これを使用して、予測値をグラウンド トゥルースと視覚的に比較することにより、モデルのパフォーマンスを検証できます。 | Feature Class |
サマリー
トレーニング パイプラインを構築し、トレーニング プロセスの多くを自動化することで、ディープ ラーニング モデルをトレーニングします。 これには、探索的データ解析、フィーチャの選択、フィーチャ エンジニアリング、モデルの選択、ハイパーパラメーターの調整、およびモデル トレーニングが含まれます。 その出力には、トレーニング データの最適モデルのパフォーマンス指標と、[AutoML を使用した予測 (Predict Using AutoML)] ツールの入力として使用し、新しいデータセットを予測できるトレーニング済みのディープ ラーニング モデル パッケージ (.dlpk) が含まれます。
使用法
AllSource に Python の適切なディープ ラーニング フレームワーク パッケージをインストールする必要があります。
ツールがトレーニング済みモデルを作成するのにかかる時間は、以下に応じて異なります。
- トレーニング中に入力されるデータの量
- [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)」をご参照ください。
パラメーター
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 パラメーター値をカテゴリ変数として扱うかどうかを指定します。
| 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 の検索がどの程度徹底的に行われるかを指定します。
| String |
algorithms [algorithms,...] (オプション) | トレーニング中に使用されるアルゴリズムを指定します。
デフォルトでは、すべてのアルゴリズムが使用されます。 | Multivalue |
validation_percent (オプション) | 検証に使用される入力データのパーセンテージ。 デフォルト値は 10 です。 | Long |
out_report (オプション) | .html ファイルとして生成される出力レポート。 指定されたパスが空でない場合、レポートは指定されたパスの下の新しいフォルダーに作成されます。 レポートには、さまざまなモデルの詳細と、各モデルの評価およびパフォーマンス中に使用されたハイパーパラメーターの詳細が含まれます。 ハイパーパラメーターは、トレーニング プロセスをコントロールするパラメーターです。 トレーニング中には更新されず、モデル アーキテクチャ、学習率、エポック数などを含みます。 | File |
out_importance (オプション) | モデルで使用されている各説明変数 (フィールド、距離フィーチャ、およびラスター) の重要度に関する情報を含む出力テーブル。 | Table |
out_features (オプション) | トレーニング フィーチャ レイヤーで最高のパフォーマンスを発揮するモデルによる予測値を含むフィーチャ レイヤー。 これを使用して、予測値をグラウンド トゥルースと視覚的に比較することにより、モデルのパフォーマンスを検証できます。 | Feature Class |
コードのサンプル
この例では、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")