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

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

サマリー

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

使用法

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

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

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

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

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

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

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

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

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

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

  • 予測値とトレーニング値の散布図を作成するには、[サンプル (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

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})
名前説明データ タイプ
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

コードのサンプル

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)

関連トピック