デシジョン ツリー
分類モデリング アルゴリズムを入力データのセットに適用します。デシジョン ツリー オペレーターには、ツリーの成長、事前枝刈り、枝刈りという 3 つの構成フェーズがあります。
情報一覧
|
パラメーター |
説明 |
|---|---|
| カテゴリー | モデル |
| データ ソース タイプ | HD |
| 出力を他のオペレーターに送信 | いいえ |
| データ処理ツール | MapReduce |
このトピックは、Hadoop のデシジョン ツリーの構成に適用されます。データベース デシジョン ツリー オプションの情報を確認するには、「デシジョン ツリー - MADlib」、「デシジョン ツリー分類 - CART」、または「デシジョン ツリー回帰 - CART」を参照してください。デシジョン ツリーの操作の詳細については、「デシジョン ツリーを使用した分類モデリング」を参照してください。
アルゴリズム
デシジョン ツリー オペレーターは、教師あり分類アルゴリズムを実装します。ツリーの意思決定ステップが学習されると、デシジョン ツリー アルゴリズムは新しいデータの予測された分類を迅速に評価します。
デシジョン ツリー オペレーターは分類ツリーのみを実装します。つまり、そのノード ラベルが離散値の範囲を表すのに対し、CART オペレーターは分類と回帰の両方のツリーであり、そのラベルは連続 (数値) 値の範囲を表します。
デシジョン ツリー オペレーターは、情報利得を基準として使用してデシジョン ツリー構造を構築するための C4.5 (Quinlan、1993) 決定論的手法をサポートします。したがって、次のことが当てはまります。
- ツリーの各ノードで、C4.5 はサンプルのセットを 1 つまたは別の属性値を持つサブセットに最も効果的に分割するデータの 1 つの属性を選択します。
- 正規化された情報利得が最も高い属性が決定を行うために選択され、他の属性と比較してツリーの上位に配置されます。
- 情報ゲインは、親サブノードから子サブノードへの純度の増加を測定します。
- 次に、C4.5 アルゴリズムがより小さいサブリストに対して再帰的に実行されます。
- 枝刈りの場合、C4.5 アルゴリズムは、サブツリー枝刈りに関する決定を下す際にエラー率を推定する悲観的な枝刈り手法を採用しています。
入力
モデリング用の従属変数と独立変数を含むデータセット。
構成
デシジョン ツリー オペレーターの場合、プロパティ間に次の関係が存在します。
- ツリー成長フェーズは、最小ゲイン および 最大深度 構成プロパティを指します。
- 剪定前フェーズとは、剪定前の代替案の数、最小リーフ サイズ、および 分割の最小サイズ構成プロパティを指します(さらに最小ゲインと最大深度パラメータ)。
- 剪定フェーズは、確信度 構成プロパティを参照します。
| パラメーター | 説明 |
|---|---|
| ノート | このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。 |
| 依存カラム | モデル化または予測する量。デシジョン ツリーには 依存カラム を指定する必要があります。回帰の従属変数とみなされるデータカラムを選択します。 依存カラムは、目の色 = 青、緑、または茶色などのカテゴリ型 (整数を含む) である必要があります。 ノート: Null 値は、モデルのトレーニング中に無視されます。 依存カラム に 3 つ以上の非 Null 値がある場合、リーフ ノードは可能な値のそれぞれにマップされます。 |
| カラム | ユーザーがデシジョン ツリー トレーニングに含める独立変数データカラムを選択できるようにします。少なくとも 1 つのカラムを指定する必要があります。 ノート: すべてのデータ タイプをカラム名に使用できます。 各独立カラムは 1,000 個の個別の値に制限されます。 各独立変数のリーフ ノードの数はデータによって異なります (つまり、デシジョン ツリーには 3 つ以上のリーフ ノードが存在する可能性があります)。 [カラム名] をクリックすると、分析に使用できる入力データセットからカラムを選択するためのダイアログが開きます。 |
| 最大深度 (-1=無制限) | ツリーの「深さ」、またはルート ノードの下に分岐できるデシジョン ノードの最大数を設定します。ノードが空になる(つまり、現在のノードに分割するサンプルがなくなる)か、ツリーの深さがこの 最大深さ 制限を超えると、ツリーはそれ以上深く成長しなくなります。
デフォルト値: 5 |
| 確信度 | 枝刈りの悲観的誤差アルゴリズムに使用する信頼度の境界を指定します。 確信度は、デシジョン ツリー アルゴリズムの枝刈りフェーズを制御します。
デフォルト値: 0.25。リーフ ノード分類セットにエラーが存在する確率が 25% であることを表します。 |
| 最小ゲイン | 分割の生成を正当化するために、さまざまなデシジョン ノード オプション間で達成する必要がある、親ノードから子ノードへの純度のしきい値ゲインを指定します。分割の結果、最小情報ゲイン設定未満になると、そのノードはリーフ ノードになります。
デフォルト値: 0.1。これは、ノードの分割を正当化するために達成する必要がある情報利得の 10% という制限を表します。 |
| 剪定前の代替案の数 | ツリーの事前剪定時に許可される代替ノードの最大数を指定します。このプロパティは、事前剪定が [true] に設定されている場合 (つまり、[事前剪定なし] プロパティがチェックされていない場合) にのみ関係します。 独立変数のカラムは、分割が行われる前にスコア (つまり、情報ゲイン) によって並べ替えられます。剪定前の段階で、より大きなスコアを持つカラムが最小リーフ サイズ条件を満たさない場合、そのカラムは分割対象として無視され、条件を満たすカラムが見つかるか 事前剪定代替案の数が満たされるまで、次のカラムがチェックされます。 可能な値の範囲は 0 以降の任意の整数です。 デフォルト値: 3 |
| 分割の最小サイズ | さらなる分割を可能にするために、デシジョン ツリー内のノードの最小サイズ (またはメンバーの数) を指定します。ノードのデータ メンバーが 分割の最小サイズよりも少ない場合、そのノードはツリー内のリーフ ノードまたは終了ノードになる必要があります。
デフォルト値: 4 |
| 剪定なし | [true] の場合、枝刈りは実行されません。 [false] (デフォルト) の場合、プルーニングが実行されます。 |
| 事前剪定なし | [true] の場合、事前剪定は実行されません。 [false] (デフォルト) の場合、事前プルーニングが実行されます。 詳細については、「枝刈りまたは事前枝刈り」を参照してください。 |
| 最小リーフ サイズ | デシジョン ツリーの末端リーフ ノード内に存在できるデータ インスタンスの最小数を指定します。 可能な値の範囲は、1 以上の任意の整数値です。
デフォルト値: 2 |
| カテゴリの制限 | 単一のカテゴリ入力カラムでデータを分割できるカテゴリの数を制限します。 |
| 数値粒度 | 単一の数値入力カラムでデータを分割できるカテゴリの数を制限します。 |
出力

デシジョン ツリーの有効性を効果的に分析するには、デシジョン ツリーに追加のオペレーターを追加する必要があります。すべてのデシジョン ツリー モデリング オペレーターの後には、実際のデータセットのトレーニング値および関連する信頼レベルと比較される各データ行の予測値を提供する 予測器 オペレーターが続く必要があります。
予測器 オペレーターからの出力は次の画像のようになります。

P_play 予測カラムには、yes または no の値が表示され、予測が行われる信頼度が 50% を超えるしきい値の仮定が使用されます。
C_play カラムは、従属値が1 である信頼度を示します。
- 通常、C_play は 10 進数値です。この例では、データセットは小さく、例として作成されています。
C_play の詳細カラムは、従属変数の考えられる各値の信頼度を示します。
例
次の図は、デシジョン ツリー オペレーターの一般的な分析フロー構成を示しています。