RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Decision Tree

概要

この演算子は、分類と回帰に使用できる決定木モデルを生成します。

詳細

デシジョンツリーは、クラスへの値の帰属または数値ターゲット値の推定に関する決定を作成することを目的としたノードのコレクションのようなツリーです。各ノードは、特定の1つの属性の分割ルールを表します。分類の場合、このルールは異なるクラスに属する値を分離し、回帰の場合、選択したパラメーター基準に最適な方法でエラーを減らすために値を分離します。

新しいノードの構築は、停止条件が満たされるまで繰り返されます。クラスラベルAttributeの予測は、生成中にこのリーフに到達した多数の例に応じて決定されますが、数値の推定はリーフの値を平均することによって取得されます。

この演算子は、名義属性と数値属性の両方を含むExampleSetを処理できます。ラベル属性は、分類のために名義であり、回帰のために数値でなければなりません。

生成後、モデルの適用演算子を使用して、決定木モデルを新しい例に適用できます。各例は、リーフに到達するまで、分割ルールに従ってツリーのブランチをたどります。

ディシジョンツリーを構成するには、以下で説明するパラメーターのドキュメントをお読みください。

分化

CHAID

CHAID演算子は、情報ゲインまたはゲイン比の基準の代わりにカイ二乗ベースの基準を使用する枝刈りされた決定木を提供します。この演算子は、数値属性を持つExampleSetには適用できませんが、名目属性のみに適用できます。

ID3

ID3オペレーターは、枝刈りされていない決定ツリーの基本的な実装を提供します。名目上の属性を持つExampleSetでのみ機能します。Random Forestランダムフォレストオペレーターは、さまざまなサンプルサブセットにいくつかのランダムツリーを作成します。結果のモデルは、これらすべてのツリーの投票に基づいています。この違いにより、オーバートレーニングが少なくなります。

Bagging

ブートストラップ集約(バギング)は、機械学習アンサンブルメタアルゴリズムであり、安定性と分類精度の観点から分類モデルと回帰モデルを改善します。また、変動を減らし、「過剰適合」を回避するのに役立ちます。通常、決定木モデルに適用されますが、任意のタイプのモデルで使用できます。

入力

  • トレーニングセット (IOObject)決定木モデルの生成に使用される入力データ。

出力

  • モデル(デシジョンツリー)決定木モデルは、この出力ポートから配信されます。
  • サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。
  • 重み(平均ベクトル)属性と重み値を含むExampleSet。各重みは、指定された属性の機能の重要度を表します。重みは、ノードで提供される特定の属性の選択の改善の合計によって与えられます。改善の程度は、選択した基準に依存します。

パラメーター

  • criterion
    属性が分割のために選択される基準を選択します。これらの各基準について、選択された基準に関して分割値が最適化されます。次の値のいずれかを指定できます。

    • information_gain:すべての属性のエントロピーが計算され、エントロピーが最小の属性が分割用に選択されます。この方法には、多数の値を持つ属性を選択する傾向があります。
    • gain_ratio:各属性の情報ゲインを調整して、属性値の幅と均一性を可能にする情報ゲインのバリアント。
    • gini_index:ラベル特性の分布間の不平等の尺度。選択した属性で分割すると、結果のサブセットの平均ジニインデックスが減少します。
    • 精度:分割する属性が選択され、ツリー全体の精度が最大化されます。
    • least_square:分割のために属性が選択されます。これにより、真の値に関してノード内の値の平均間の距離の2乗が最小になります。

    範囲:

  • maximal_depthツリーの深さは、ExampleSetのサイズと特性によって異なります。このパラメーターは、決定木の深さを制限するために使用されます。値が「-1」に設定されている場合、 最大深度パラメーターはツリーの深度に制限を設けません。この場合、他の停止基準が満たされるまでツリーが構築されます。値が「1」に設定されている場合、単一のノードを持つツリーが生成されます。範囲:
  • apply_pruning決定ツリーモデルは、生成後に削除できます。チェックすると、 信頼性パラメータに応じて、一部のブランチがリーフに置き換えられます。範囲:
  • 信頼このパラメーターは、枝刈りの悲観的誤差計算に使用される信頼レベルを指定します。範囲:
  • apply_prepruningこのパラメーターは、決定木モデルの生成中に最大深度より多くの停止基準を使用するかどうかを指定します。チェックした場合、パラメーター最小ゲイン最小リーフサイズ分割の最小サイズ、およびプリプルニングの代替の数が停止基準として使用されます。範囲:
  • minimal_gainノードのゲインは、分割する前に計算されます。ノードのゲインが最小ゲインより大きい場合、ノードは分割されます。 最小ゲインの値を大きくすると、分割が少なくなり、ツリーが小さくなります。値が高すぎると、分割が完全に妨げられ、単一ノードのツリーが生成されます。範囲:
  • minimal_leaf_size葉のサイズは、そのサブセット内の例の数です。ツリーは、すべてのリーフが少なくとも例の最小リーフサイズ数を持つように生成されます。範囲:
  • minimal_size_for_splitノードのサイズは、サブセット内のサンプルの数です。 サイズがsplitパラメーターの最小サイズ以上のノードのみが分割されます。範囲:
  • number_of_prepruning_alternatives特定のノードでprepruningによって分割が防止されると、このパラメーターは分割のためにテストされる代替ノードの数を調整します。 prepruningがツリー生成プロセスと並行して実行されると発生します。これにより、特定のノードでの分割がツリー全体の識別力を増やさない場合、特定のノードでの分割を防ぐことができます。このような場合、代替ノードが分割のために試行されます。範囲:

チュートリアルプロセス

デシジョンツリーモデルをトレーニングする

目標:RapidMiner Studioには、「ゴルフ」と呼ばれるサンプルデータセットが付属しています。これには、天気に関する属性、つまり「Outlook」、「Temperature」、「Humidity」、および「Wind」が含まれます。これらは、ゲームをプレイできるかどうかを決定する重要な機能です。私たちの目標は、「プレイ」属性を予測するための決定木を訓練することです。

「ゴルフ」データセットは、検索演算子を使用して取得されます。このデータは、Retrieveの出力ポートをDecision Tree Operatorの入力ポートに接続することにより、Decision Tree Operatorに供給されます。 [実行]ボタンをクリックします。これにより、ディシジョンツリーモデルがトレーニングされ、結果ビューに移動します。結果ビューでは、グラフィカルな説明とテキストによる説明を確認できます。

ツリーは、属性「Outlook」の値が「overcast」の場合、属性「Play」の値は「yes」であることを示しています。属性「Outlook」の値が「rain」の場合、次の2つの結果が考えられます。

a)属性「Wind」の値が「false」の場合、「Play」属性の値は「yes」です

b)「Wind」属性の値が「true」の場合、属性「Play」は「no」です。

最後に、属性「Outlook」の値が「sunny」の場合、再び2つの可能性があります。

属性「Humidity」の値が77.5以下の場合、属性「Play」は「yes」であり、「Humidity」が77.5より大きい場合、「no」です。

この例では、リーフノードは、ラベル属性の2つの可能な値のいずれかのみにつながります。 「Play」属性は「yes」または「no」のいずれかです。これは、ツリーモデルがデータに非常によく適合することを示しています。

デシジョンツリーモデルをトレーニングし、それを適用して結果を予測する目標:このチュートリアルでは、意思決定ツリーを使用した予測分析プロセスを示します。最初のチュートリアルよりも少し進んでいます。また、データセットを2つのパーティションに分割するなど、基本的だが重要な概念も紹介します。大きい半分は決定木モデルのトレーニングに使用され、小さい半分はテストに使用されます。私たちの目標は、テストデータセット内の乗客の運命をツリーモデルがどれだけうまく予測できるかを確認することです。

回帰このチュートリアルプロセスでは、回帰にデシジョンツリーが使用されます。数値ターゲット属性を持つ「多項式」データセットがラベルとして使用されます。モデルをトレーニングする前に、データセットはトレーニングセットとテストセットに分割されます。その後、パフォーマンス値(回帰)演算子を使用してパフォーマンス値を取得するために、回帰値がラベル値と比較されます。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル