デシジョン ツリー

分類モデリング アルゴリズムを入力データのセットに適用します。デシジョン ツリー オペレーターには、ツリーの成長、事前枝刈り、枝刈りという 3 つの構成フェーズがあります。

情報一覧

パラメーター

説明
カテゴリー モデル
データ ソース タイプ HD
出力を他のオペレーターに送信 いいえ
データ処理ツール MapReduce

このトピックは、Hadoop のデシジョン ツリーの構成に適用されます。データベース デシジョン ツリー オプションの情報を確認するには、「デシジョン ツリー - MADlib」、「デシジョン ツリー分類 - CART」、または「デシジョン ツリー回帰 - CART」を参照してください。デシジョン ツリーの操作の詳細については、「デシジョン ツリーを使用した分類モデリング」を参照してください。

アルゴリズム

デシジョン ツリー オペレーターは、教師あり分類アルゴリズムを実装します。ツリーの意思決定ステップが学習されると、デシジョン ツリー アルゴリズムは新しいデータの予測された分類を迅速に評価します。

デシジョン ツリー オペレーターは分類ツリーのみを実装します。つまり、そのノード ラベルが離散値の範囲を表すのに対し、CART オペレーターは分類と回帰の両方のツリーであり、そのラベルは連続 (数値) 値の範囲を表します。

ノート: デシジョン ツリー オペレーターは、ノードを 2 つ以上のサブグループに分割できます (つまり、CART オペレーターのようなバイナリ ツリーに制限されません)。

デシジョン ツリー オペレーターは、情報利得を基準として使用してデシジョン ツリー構造を構築するための C4.5 (Quinlan、1993) 決定論的手法をサポートします。したがって、次のことが当てはまります。

  • ツリーの各ノードで、C4.5 はサンプルのセットを 1 つまたは別の属性値を持つサブセットに最も効果的に分割するデータの 1 つの属性を選択します。
  • 正規化された情報利得が最も高い属性が決定を行うために選択され、他の属性と比較してツリーの上位に配置されます。
  • 情報ゲインは、親サブノードから子サブノードへの純度の増加を測定します。
  • 次に、C4.5 アルゴリズムがより小さいサブリストに対して再帰的に実行されます。
  • 枝刈りの場合、C4.5 アルゴリズムは、サブツリー枝刈りに関する決定を下す際にエラー率を推定する悲観的な枝刈り手法を採用しています。

入力

モデリング用の従属変数と独立変数を含むデータセット。

構成

デシジョン ツリー オペレーターの場合、プロパティ間に次の関係が存在します。

  • ツリー成長フェーズは、最小ゲイン および 最大深度 構成プロパティを指します。
  • 剪定前フェーズとは、剪定前の代替案の数最小リーフ サイズ、および 分割の最小サイズ構成プロパティを指します(さらに最小ゲイン最大深度パラメータ)。
  • 剪定フェーズは、確信度 構成プロパティを参照します。

パラメーター 説明
ノート このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。
依存カラム モデル化または予測する量。デシジョン ツリーには 依存カラム を指定する必要があります。回帰の従属変数とみなされるデータカラムを選択します。

依存カラムは、目の色 = 青、緑、または茶色などのカテゴリ型 (整数を含む) である必要があります。

ノート: Null 値は、モデルのトレーニング中に無視されます。 依存カラム に 3 つ以上の非 Null 値がある場合、リーフ ノードは可能な値のそれぞれにマップされます。

カラム ユーザーがデシジョン ツリー トレーニングに含める独立変数データカラムを選択できるようにします。少なくとも 1 つのカラムを指定する必要があります。
ノート: すべてのデータ タイプをカラム名に使用できます。

各独立カラムは 1,000 個の個別の値に制限されます。

各独立変数のリーフ ノードの数はデータによって異なります (つまり、デシジョン ツリーには 3 つ以上のリーフ ノードが存在する可能性があります)。

[カラム名] をクリックすると、分析に使用できる入力データセットからカラムを選択するためのダイアログが開きます。

最大深度 (-1=無制限) ツリーの「深さ」、またはルート ノードの下に分岐できるデシジョン ノードの最大数を設定します。ノードが空になる(つまり、現在のノードに分割するサンプルがなくなる)か、ツリーの深さがこの 最大深さ 制限を超えると、ツリーはそれ以上深く成長しなくなります。

  • 最大深度はツリーの成長段階で使用されます。
  • 可能な値の範囲は、-1 から 0 より大きい整数までです。
  • 値 -1 は「境界なし」を表します。ツリーは、ノードが空になるまで任意のサイズまたは数のデシジョン ノードを取ることができます。

デフォルト値: 5

確信度 枝刈りの悲観的誤差アルゴリズムに使用する信頼度の境界を指定します。

確信度は、デシジョン ツリー アルゴリズムの枝刈りフェーズを制御します。

  • 枝刈りフェーズでは、信頼区間を使用してノードの「最悪の場合」のエラー率を推定します。
  • 信頼レベルは、リーフ ノードでエラーが見つかる可能性の確実性係数または上限です。
  • ノードのエラー率がこの 確信度制限を超える場合、そのノードはプルーニングされます。これは、リーフ ノードに誤った分類が存在する確率と考えることができます。
  • より高い確信度の値を設定すると、モデルで個々のエラー率がより高い (枝刈りが少なくなる) ノードを使用できるようになります。
  • 確信度の値を低く設定すると、エラーに対する許容度が低くなり、より多くの枝刈りが行われることを示します。
  • 信頼度は、剪定が [true] に設定されている場合 (つまり、[剪定なし] プロパティが true の場合) にのみ適用されます。ただし、常に 0.50 以下に設定する必要があります。そうしないとシステムが実行されません。リーフ ノードでエラーが発生する可能性が 50% を超えるのは意味がありません。

デフォルト値: 0.25。リーフ ノード分類セットにエラーが存在する確率が 25% であることを表します。

最小ゲイン 分割の生成を正当化するために、さまざまなデシジョン ノード オプション間で達成する必要がある、親ノードから子ノードへの純度のしきい値ゲインを指定します。分割の結果、最小情報ゲイン設定未満になると、そのノードはリーフ ノードになります。

  • 最小ゲインはツリーの成長フェーズに使用されます。
  • 可能な値の範囲は、0 以上の任意の 10 進数値です。
  • これを情報理論で表現すると、変数値に基づいてノードを分割することで除去する必要があるエントロピー量のしきい値となります。

デフォルト値: 0.1。これは、ノードの分割を正当化するために達成する必要がある情報利得の 10% という制限を表します。

剪定前の代替案の数 ツリーの事前剪定時に許可される代替ノードの最大数を指定します。このプロパティは、事前剪定が [true] に設定されている場合 (つまり、[事前剪定なし] プロパティがチェックされていない場合) にのみ関係します。

独立変数のカラムは、分割が行われる前にスコア (つまり、情報ゲイン) によって並べ替えられます。剪定前の段階で、より大きなスコアを持つカラムが最小リーフ サイズ条件を満たさない場合、そのカラムは分割対象として無視され、条件を満たすカラムが見つかるか 事前剪定代替案の数が満たされるまで、次のカラムがチェックされます。

可能な値の範囲は 0 以降の任意の整数です。

デフォルト値: 3

分割の最小サイズ さらなる分割を可能にするために、デシジョン ツリー内のノードの最小サイズ (またはメンバーの数) を指定します。ノードのデータ メンバーが 分割の最小サイズよりも少ない場合、そのノードはツリー内のリーフ ノードまたは終了ノードになる必要があります。

  • 可能な値の範囲は、1 以上の任意の整数です。
  • 分割の最小サイズは、プルーニング前の段階で参照されます。

デフォルト値: 4

剪定なし [true] の場合、枝刈りは実行されません。 [false] (デフォルト) の場合、プルーニングが実行されます。
事前剪定なし [true] の場合、事前剪定は実行されません。 [false] (デフォルト) の場合、事前プルーニングが実行されます。

詳細については、「枝刈りまたは事前枝刈り」を参照してください。

最小リーフ サイズ デシジョン ツリーの末端リーフ ノード内に存在できるデータ インスタンスの最小数を指定します。

可能な値の範囲は、1 以上の任意の整数値です。

  • この設定では、リーフ ノードのサイズに基づいてツリーの深さを制限し、十分なデータがツリーの各部分に到達するようにします。
  • これは、たとえば、モデルの構築に時間がかかりすぎる場合、またはモデルがトレーニング データでは非常に優れた ROC を示しているが、ホールドアウト データや交差検証データでは (オーバー フィッティングのため) それほど良好なパフォーマンスが得られない場合に役立ちます。
  • たとえば、[最小リーフ サイズ] が 2 の場合、各ターミナル リーフ ノードには少なくとも 2 つのトレーニング データ ポイントが含まれている必要があります。

デフォルト値: 2

カテゴリの制限 単一のカテゴリ入力カラムでデータを分割できるカテゴリの数を制限します。
数値粒度 単一の数値入力カラムでデータを分割できるカテゴリの数を制限します。

出力

ビジュアル出力
デシジョン ツリー ノードを強調表示すると、そのノードに到達するために使用された決定基準が表示されます。

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

予測器 オペレーターからの出力は次の画像のようになります。

 

P_play 予測カラムには、yes または no の値が表示され、予測が行われる信頼度が 50% を超えるしきい値の仮定が使用されます。

C_play カラムは、従属値が1 である信頼度を示します。

  • 通常、C_play は 10 進数値です。この例では、データセットは小さく、例として作成されています。

C_play の詳細カラムは、従属変数の考えられる各値の信頼度を示します。

他のスコアリング オペレーターとの併用
ROC グラフなどの追加のスコアリング オペレーターを追加することも、デシジョン ツリー モデルの予測性を即座に評価するのに役立ちます。
データ出力
なし。これはターミナル オペレーターです。

次の図は、デシジョン ツリー オペレーターの一般的な分析フロー構成を示しています。