ランダム ツリーによる回帰モデル定義ファイルの作成 (Train Random Trees Regression Model) (Image Analyst)

Image Analyst ライセンスで利用できます。

サマリー

説明変数 (独立変数) とターゲット データセット (従属変数) の関係をモデル化します。

使用法

  • このツールを使用して、さまざまなデータ タイプでトレーニングすることができます。 入力ラスター (説明変数) には、1 つのラスターまたはラスターのリスト、シングル バンドまたは各変数が説明変数であるマルチバンド、ラスター内の変数が説明変数である多次元ラスター、または複数のデータ タイプの組み合わせを使用できます。

  • 入力モザイク データセットは (ラスターのコレクションではなく) ラスター データセットとして扱われます。 ラスターのコレクションを入力として使用するには、モザイク データセットの多次元情報を構築して、その結果を入力として使用します。

  • 入力ターゲットには、フィーチャクラスまたはラスターを使用できます。 ターゲットがフィーチャの場合、[ターゲット値フィールド] の値は数値フィールドに設定する必要があります。

  • 入力ターゲット フィーチャに日付フィールドまたはディメンションを定義するフィールドが含まれている場合、[ターゲット値フィールド][ターゲット ディメンション フィールド] パラメーターの値を指定します。

  • 入力ラスター ターゲットには、多次元ラスターも使用できます。

  • 入力ターゲットが多次元の場合、対応する入力説明変数には、少なくとも 1 つの多次元ラスターが含まれている必要があります。 ターゲット ディメンションと交差する説明変数は、トレーニングに使用されます。リスト内にある他の次元のないラスターはすべてのディメンションに適用されます。 交差する説明変数がない場合や、すべてが次元がない場合、トレーニングは行われません。

  • 入力ターゲットに次元がなく説明変数に次元がある場合、最初のスライスが使用されます。

  • 出力が多次元ラスターの場合、CRF 形式を使用します。 出力が次元のないラスターの場合、任意の出力ラスター形式に保存できます。

  • 入力説明変数のセル サイズは、トレーニング結果と処理時間に影響します。 デフォルトでは、このツールは最初の説明ラスターのセル サイズを使用します。これは、[セル サイズ] 環境設定を使用して変更できます。 一般的に、データのセル サイズより小さなセル サイズを使用したトレーニングは推奨しません。

  • [出力重要度テーブル] パラメーター値を使用すると、ターゲット変数の予測に貢献する各説明変数の重要度を解析できます。

  • トレーニング ポイントのエラー、テスト ポイントのエラー、テスト位置ポイントのエラーの 3 種類のエラーを計算するには [テスト用のサンプルの割合] パラメーターをオンにします。 たとえば、パーセント値を 10 に設定した場合、トレーニング サンプル ポイントのうち 10% が位置に基づく参照に使用されます。 これらの参照ポイントは、テスト位置ポイントと呼ばれる、空間の内挿のエラーを測定するために使用されます。 残りのトレーニング サンプル ポイントは 2 つのグループに分割されます。1 つ目がトレーニング サンプル ポイント全体の 90% を含むグループで、2 つ目がトレーニング サンプル ポイント全体の 10% を含むグループです。 ポイント全体の 90% を含むグループは回帰モデルのトレーニングに使用され、ポイント全体の 10% を含むグループは精度を求めるテストに使用されます。

  • [テスト用のサンプルの割合] パラメーターをオンにすると、予測、および参照トレーニング サンプル値の散布図が生成されます。 決定係数 (R2) は適合度の予測としても計算されます。

  • 予測値とトレーニング値の散布図を作成するには、[サンプル (Sample)] ツールを使用して予測されるラスターから予測値を抽出できます。 次に、[サンプル (Sample)] ツールの出力内の LocationID フィールドと、ターゲット フィールド クラスの ObjectID フィールドを使用して、テーブル結合を実行します。 ターゲット入力がラスターの場合、ランダム ポイントを生成して、入力ターゲット ラスターと予測ラスターの両方から値を抽出できます。

パラメーター

ラベル説明データ タイプ
入力ラスター

説明変数を含むシングル バンド、多次元、マルチバンド ラスター データセットまたはモザイク データセット。

Mosaic Dataset; Mosaic Layer; Raster Dataset; Raster Layer; Image Service; String
ターゲット ラスターまたはポイント

ターゲット変数 (従属変数) データを格納したラスター フィーチャクラスまたはポイント フィーチャクラス。

Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service
出力回帰定義ファイル

分類器に関する属性情報、統計情報、その他の情報を含んでいる、拡張子が .ecd の JSON 形式のファイル。

File
ターゲット値フィールド
(オプション)

ターゲット ポイント フィーチャクラスまたはラスター データセット内にモデル化する情報のフィールド名。

Field
ターゲット ディメンション フィールド
(オプション)

ディメンション値を定義する入力ポイント フィーチャクラス内の日付フィールドまたは数値フィールド。

Field
ラスター ディメンション
(オプション)

ターゲット データのディメンションにリンクする入力多次元ラスター (説明変数) のディメンション名。

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

モデルで使用されている説明変数ごとの重要度を示す情報を含むテーブル。 数値が大きいほど、対応する変数が予測変数と関連しており、予測に貢献することを示します。 値の範囲は 0 ~ 1 で、すべての値の合計は 1 になります。

Table
ツリーの最大数
(オプション)

フォレスト内のツリーの最大数。 ツリー数を増やすと、精度率が高くなります。ただし、この向上は一定になっていきます。 ツリー数は、処理時間を線形的に増加させます。 デフォルトは 50 です。

Long
最大ツリー階層
(オプション)

フォレスト内の各ツリーの最大深度。 深度は、各ツリーが意思決定に至るまでに作成できるルールの数を決定します。 ツリーは、この設定を超えた深度には成長しません。 デフォルトは 30 です。

Long
サンプルの最大数
(オプション)

回帰分析に使用される最大サンプル数。 0 以下の値は、システムが回帰モデルをトレーニングするために入力ターゲット ラスターまたはポイント フィーチャクラスのすべてのサンプルを使用することを意味します。 デフォルト値は 10,000 です。

Long
セルごとにポイントを平均化
(オプション)

複数のトレーニング ポイントが 1 つのセル内にある場合、平均を計算するかどうかを指定します。 このパラメーターは、入力ターゲットがポイント フィーチャクラスの場合にのみ適用されます。

  • オフ - 複数のトレーニング ポイントが 1 つのセル内にある場合、すべてのポイントが使用されます。 これがデフォルトです。
  • オン - 1 つのセル内にあるトレーニング ポイントの平均値が計算されます。

  • すべてのポイントを保持複数のトレーニング ポイントが 1 つのセル内にある場合、すべてのポイントが使用されます。 これがデフォルトです。
  • セルごとにポイントを平均化1 つのセル内にあるトレーニング ポイントの平均値が計算されます。
Boolean
テスト用のサンプルの割合
(オプション)

エラーの確認に使用されるテスト ポイントの割合。 このツールでは、トレーニング ポイントのエラー、テスト ポイントのエラー、テスト位置ポイントのエラーの 3 種類のエラーを確認します。 デフォルトは 10 です。

Double
出力散布図 (PDF または HTML)
(オプション)

出力散布図 (PDF または HTML 形式)。 出力にはトレーニング データ、テスト データ、位置テスト データの散布図が含まれます。

File
出力サンプル フィーチャ
(オプション)

トレーニング ポイント、テスト ポイント、位置テスト ポイントのターゲット値と予測値を含む出力フィーチャクラス。

Feature Class

TrainRandomTreesRegressionModel(in_rasters, in_target_data, out_regression_definition, {target_value_field}, {target_dimension_field}, {raster_dimension}, {out_importance_table}, {max_num_trees}, {max_tree_depth}, {max_samples}, {average_points_per_cell}, {percent_testing}, {out_scatterplots}, {out_sample_features})
名前説明データ タイプ
in_rasters
[in_rasters,...]

説明変数を含むシングル バンド、多次元、マルチバンド ラスター データセットまたはモザイク データセット。

Mosaic Dataset; Mosaic Layer; Raster Dataset; Raster Layer; Image Service; String
in_target_data

ターゲット変数 (従属変数) データを格納したラスター フィーチャクラスまたはポイント フィーチャクラス。

Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service
out_regression_definition

分類器に関する属性情報、統計情報、その他の情報を含んでいる、拡張子が .ecd の JSON 形式のファイル。

File
target_value_field
(オプション)

ターゲット ポイント フィーチャクラスまたはラスター データセット内にモデル化する情報のフィールド名。

Field
target_dimension_field
(オプション)

ディメンション値を定義する入力ポイント フィーチャクラス内の日付フィールドまたは数値フィールド。

Field
raster_dimension
(オプション)

ターゲット データのディメンションにリンクする入力多次元ラスター (説明変数) のディメンション名。

String
out_importance_table
(オプション)

モデルで使用されている説明変数ごとの重要度を示す情報を含むテーブル。 数値が大きいほど、対応する変数が予測変数と関連しており、予測に貢献することを示します。 値の範囲は 0 ~ 1 で、すべての値の合計は 1 になります。

Table
max_num_trees
(オプション)

フォレスト内のツリーの最大数。 ツリー数を増やすと、精度率が高くなります。ただし、この向上は一定になっていきます。 ツリー数は、処理時間を線形的に増加させます。 デフォルトは 50 です。

Long
max_tree_depth
(オプション)

フォレスト内の各ツリーの最大深度。 深度は、各ツリーが意思決定に至るまでに作成できるルールの数を決定します。 ツリーは、この設定を超えた深度には成長しません。 デフォルトは 30 です。

Long
max_samples
(オプション)

回帰分析に使用される最大サンプル数。 0 以下の値は、システムが回帰モデルをトレーニングするために入力ターゲット ラスターまたはポイント フィーチャクラスのすべてのサンプルを使用することを意味します。 デフォルト値は 10,000 です。

Long
average_points_per_cell
(オプション)

複数のトレーニング ポイントが 1 つのセル内にある場合、平均を計算するかどうかを指定します。 このパラメーターは、入力ターゲットがポイント フィーチャクラスの場合にのみ適用されます。

  • オフ - 複数のトレーニング ポイントが 1 つのセル内にある場合、すべてのポイントが使用されます。 これがデフォルトです。
  • オン - 1 つのセル内にあるトレーニング ポイントの平均値が計算されます。

  • KEEP_ALL_POINTS複数のトレーニング ポイントが 1 つのセル内にある場合、すべてのポイントが使用されます。 これがデフォルトです。
  • AVERAGE_POINTS_PER_CELL1 つのセル内にあるトレーニング ポイントの平均値が計算されます。
Boolean
percent_testing
(オプション)

エラーの確認に使用されるテスト ポイントの割合。 このツールでは、トレーニング ポイントのエラー、テスト ポイントのエラー、テスト位置ポイントのエラーの 3 種類のエラーを確認します。 デフォルトは 10 です。

Double
out_scatterplots
(オプション)

出力散布図 (PDF または HTML 形式)。 出力にはトレーニング データ、テスト データ、位置テスト データの散布図が含まれます。

File
out_sample_features
(オプション)

トレーニング ポイント、テスト ポイント、位置テスト ポイントのターゲット値と予測値を含む出力フィーチャクラス。

Feature Class

コードのサンプル

TrainRandomTreesRegressionModel の例 1 (Python ウィンドウ)

この Python ウィンドウ スクリプトは、説明変数とターゲット データセットの関係をモデル化します。

# Import system modules 
import arcpy 
from arcpy.ia import * 

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

# Execute  
arcpy.ia.TrainRandomTreesRegressionModel("weather_variables.crf";"dem.tif", "pm2.5.shp", r"c:\data\pm2.5_trained.ecd",  "mean_pm2.5", "date_collected", "StdTime”,  r"c:\data\pm2.5_importanc.csv", 50, 30, 10000)
TrainRandomTreesRegressionModel の例 2 (スタンドアロン スクリプト)

この Python スタンドアロン スクリプトは、説明変数とターゲット データセットの関係をモデル化します。

# Import system modules 

import arcpy 
from arcpy.ia import * 

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

# Define input parameters 
in_weather_variables = "C:/Data/ClimateVariables.crf" 
in_dem_varaible = "C:/Data/dem.tif" 
in_target = "C:/Data/pm2.5_observations.shp" 
target_value_field = "mean_pm2.5" 
Target_date_field = "date_collected" 
Raster_dimension = “StdTime” 
out_model_definition = "C:/Data/pm2.5_trained_model.ecd" 
Out_importance_table = "C:/Data/pm2.5_importance_table.csv" 
max_num_trees = 50 
max_tree_depth = 30 
max_num_samples = 10000 

# Execute - train with random tree regression model 
arcpy.ia.TrainRandomTreesRegressionModel(in_weather_variables;in_dem_varaible, in_target, out_model_definition,  target_value_field, Target_date_field, Raster_dimension, max_num_trees, max_tree_depth, max_num_samples)

関連トピック