多クラスのブースト デシジョン ツリーMulticlass Boosted Decision Tree

この記事では Azure Machine Learning デザイナーのモジュールについて説明します。This article describes a module in Azure Machine Learning designer.

ブースト デシジョン ツリー アルゴリズムに基づく機械学習モデルを作成するには、このモジュールを使用します。Use this module to create a machine learning model that is based on the boosted decision trees algorithm.

ブースト デシジョン ツリーは、第 2 のツリーで第 1 のツリーの誤差を補正し、第 3 のツリーで第 1 および第 2 のツリーの誤差を補正するといったアンサンブル学習手法です。A boosted decision tree is an ensemble learning method in which the second tree corrects for the errors of the first tree, the third tree corrects for the errors of the first and second trees, and so forth. 予測は、ツリーの集団に基づいて行われます。Predictions are based on the ensemble of trees together.

構成方法How to configure

このモジュールでは、トレーニングされていない分類モデルが作成されます。This module creates an untrained classification model. 分類は教師あり学習手法であるため、ラベル列のすべての行に値を含んだ "ラベル付けされたデータセット" が必要です。Because classification is a supervised learning method, you need a labeled dataset that includes a label column with a value for all rows.

このタイプのモデルは、"モデルのトレーニング" を使用してトレーニングできます。You can train this type of model by using the Train Model.

  1. 多クラスのブースト デシジョン ツリー モジュールをパイプラインに追加します。Add the Multiclass Boosted Decision Tree module to your pipeline.

  2. [Create trainer mode](トレーナー モードの作成) オプションを設定して、モデルのトレーニング方法を指定します。Specify how you want the model to be trained by setting the Create trainer mode option.

    • Single Parameter (単一パラメーター) : モデルの構成方法がわかっている場合、特定の値のセットを引数として渡すことができます。Single Parameter: If you know how you want to configure the model, you can provide a specific set of values as arguments.

    • [Parameter Range](パラメーター範囲) : 最適なパラメーターがわからず、パラメーター スイープを実行する場合は、このオプションを選択します。Parameter Range: Select this option if you are not sure of the best parameters, and want to run a parameter sweep. 反復する値の範囲を選択します。モデルのハイパーパラメーターの調整では、指定した設定の可能なすべての組み合わせに対して反復処理を行い、最適な結果を生成するハイパーパラメーターを決定します。Select a range of values to iterate over, and the Tune Model Hyperparameters iterates over all possible combinations of the settings you provided to determine the hyperparameters that produce the optimal results.

  3. [Maximum number of leaves per tree](ツリーあたりの最大リーフ数) は、ツリーに作成できる終端ノード (リーフ) の最大数を制限します。Maximum number of leaves per tree limits the maximum number of terminal nodes (leaves) that can be created in any tree.

    この値を増やすと、ツリーのサイズが大きくなって精度が上がる反面、オーバーフィットが発生したり、トレーニング時間が長くなったりするおそれがあります。By increasing this value, you potentially increase the size of the tree and achieve higher precision, at the risk of overfitting and longer training time.

  4. [Minimum number of samples per leaf node](リーフ ノードごとの最小サンプル数) は、ツリーの終端ノード (リーフ) を作成するうえで必要なケース数を指定します。Minimum number of samples per leaf node indicates the number of cases required to create any terminal node (leaf) in a tree.

    この値を増やすと、新しいルールを作成するためのしきい値が大きくなります。By increasing this value, you increase the threshold for creating new rules. たとえば、既定値の 1 では、ケースが 1 つであっても新しいルールを作成できます。For example, with the default value of 1, even a single case can cause a new rule to be created. この値を 5 に増やした場合、同じ条件を満たすケースがトレーニング データに少なくとも 5 つ含まれている必要があります。If you increase the value to 5, the training data would have to contain at least five cases that meet the same conditions.

  5. [学習速度] は、学習時のステップ サイズを定義します。Learning rate defines the step size while learning. 0 から 1 までの数値を入力してください。Enter a number between 0 and 1.

    学習器がどの程度の速さ (遅さ) で最適解に収束するかは、学習速度によって決まります。The learning rate determines how fast or slow the learner converges on an optimal solution. ステップ サイズが大きすぎると、最適解から離れていってしまう可能性があります。If the step size is too large, you might overshoot the optimal solution. ステップ サイズが小さすぎると、トレーニングが最適解に収束するまでの時間が長くなります。If the step size is too small, training takes longer to converge on the best solution.

  6. [Number of trees constructed](構築するツリーの数) は、集団として作成するデシジョン ツリーの総数を指定します。Number of trees constructed indicates the total number of decision trees to create in the ensemble. 作成するデシジョン ツリーを増やすと、カバレッジが向上する可能性はありますが、トレーニング時間が長くなります。By creating more decision trees, you can potentially get better coverage, but training time will increase.

  7. [Random number seed](乱数シード) に、ランダム シード値として使用する値 (負でない整数) を必要に応じて設定します。Random number seed optionally sets a non-negative integer to use as the random seed value. シードを指定することによって、同じデータとパラメーターで繰り返し実行したときの再現性が確保されます。Specifying a seed ensures reproducibility across runs that have the same data and parameters.

    ランダム シードは、既定では 42 に設定されています。The random seed is set by default to 42. 異なるランダム シードを使用して連続実行すると、都度異なる結果を得ることができます。Successive runs using different random seeds can have different results.

  8. モデルをトレーニングします。Train the model:

    • [Create trainer mode](トレーナー モードの作成)[Single Parameter](単一パラメーター) に設定した場合は、タグ付けされたデータセットと モデルのトレーニング モジュールを接続します。If you set Create trainer mode to Single Parameter, connect a tagged dataset and the Train Model module.

    • [Create trainer mode](トレーナー モードの作成)[Parameter Range](パラメーター範囲) に設定した場合は、[Tune Model Hyperparameters](モデルのハイパーパラメーターの調整) を使用して、タグ付けしたデータセットを接続してモデルをトレーニングします。If you set Create trainer mode to Parameter Range, connect a tagged dataset and train the model by using Tune Model Hyperparameters.

    注意

    パラメーター範囲を [モデルのトレーニング] に渡すと、単一のパラメーター リストの既定値のみが使用されます。If you pass a parameter range to Train Model, it uses only the default value in the single parameter list.

    [Tune Model Hyperparameters](モデルのハイパーパラメーターの調整) モジュールによって、パラメーターごとに設定の範囲が求められているとき、それに単一のパラメーター値セットを渡した場合、それらの値は無視され、学習器の既定値が使用されます。If you pass a single set of parameter values to the Tune Model Hyperparameters module, when it expects a range of settings for each parameter, it ignores the values, and uses the default values for the learner.

    [Parameter Range](パラメーター範囲) オプションを選択し、任意のパラメーターに単一の値を入力した場合、指定した単一の値はスイープ全体で使用されます。これは、他のパラメーターが値の範囲の中で変化する場合でも同様です。If you select the Parameter Range option and enter a single value for any parameter, that single value you specified is used throughout the sweep, even if other parameters change across a range of values.

次のステップNext steps

Azure Machine Learning で使用できる一連のモジュールを参照してください。See the set of modules available to Azure Machine Learning.