ID3
概要
この演算子は、分類用のノミナルデータから枝刈りされていない決定木を学習します。この決定木学習器は、QuinlanのID3と同様に機能します。
詳細
ID3(Iterative Dichotomiser 3)は、Ross Quinlanによって発明された決定木を生成するために使用されるアルゴリズムです。 ID3は、C4.5アルゴリズムの前身です。非常に簡単に言えば、ID3は固定された一連のサンプルから決定木を構築します。結果のツリーは、将来のサンプルを分類するために使用されます。指定されたExampleSetの例にはいくつかの属性があり、すべての例はクラスに属します(yesまたはnoなど)。デシジョンツリーのリーフノードにはクラス名が含まれていますが、非リーフノードはデシジョンノードです。決定ノードは、各ブランチ(別の決定ツリーへの)が属性の可能な値である属性テストです。 ID3は、機能選択ヒューリスティックを使用して、どの属性が決定ノードに入るかを決定するのに役立ちます。必要なヒューリスティックは、 基準パラメーターによって選択できます。
ID3アルゴリズムは、次のように要約できます。すべての未使用の属性を取得し、その選択基準(情報ゲインなど)を計算します。選択基準が最良の値を持つ属性を選択します
ID3は、トレーニングインスタンスの属性を検索し、指定された例を最もよく分離する属性を抽出します。属性がトレーニングセットを完全に分類すると、ID3は停止します。それ以外の場合は、n(n =属性の可能な値の数)分割されたサブセットに対して再帰的に操作して、最適な属性を取得します。アルゴリズムは貪欲な検索を使用します。つまり、最適な属性を選択し、以前の選択を再検討するために振り返ることはありません。
ID3の主な利点は次のとおりです。
- 理解可能な予測ルールは、トレーニングデータから作成されます。
- 比較的短い時間で短いツリーを構築します。
- すべてのデータが分類されるまで、十分な属性をテストするだけです。
- リーフノードを見つけると、テストデータをプルーニングして、テストの数を減らすことができます。
ID3には、場合によってはいくつかの欠点があります。
- 小さなサンプルをテストすると、データが過剰に適合したり、過剰に分類されたりする場合があります。
- 一度に1つの属性のみが決定のためにテストされます。
入力
- トレーニングセット (IOObject)この入力ポートには、ExampleSetが必要です。これは、添付のプロセス例の名義データの生成演算子の出力です。この演算子は数値属性を処理できません。他の演算子の出力も入力として使用できます。
出力
- モデル(デシジョンツリー)決定木はこの出力ポートから配信されます。この分類モデルは、ラベル属性の予測のために、見えないデータセットに適用できるようになりました。
- サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
パラメーター
- criterionこのパラメーターは、分割のために属性が選択される基準を指定します。次の値のいずれかを指定できます。
- information_gain:すべての属性のエントロピーが計算されます。最小エントロピーを持つ属性が分割用に選択されます。この方法には、多数の値を持つ属性を選択する傾向があります。
- gain_ratio:情報ゲインの変形です。各属性の情報ゲインを調整して、属性値の幅と均一性を可能にします。
- gini_index:これは、ExampleSetの不純度の尺度です。選択した属性で分割すると、結果のサブセットの平均giniインデックスが減少します。
- accuracy:このような属性は、ツリー全体の精度を最大化する分割に対して選択されます。
範囲:選択
- minimal_size_for_splitノードのサイズは、サブセット内のサンプルの数です。ルートノードのサイズは、ExampleSetのサンプルの総数に等しくなります。 サイズがsplitパラメーターの最小サイズ以上のノードのみが分割されます。 範囲:整数
- minimal_leaf_size葉ノードのサイズは、サブセット内の例の数です。ツリーは、すべてのリーフノードサブセットが少なくともリーフサイズの最小インスタンス数を持つように生成されます。 範囲:整数
- minimal_gainノードのゲインは、分割する前に計算されます。ゲインが最小ゲインよりも大きい場合、ノードは分割されます。最小ゲインの値が大きいほど、分割が少なくなり、ツリーが小さくなります。値が高すぎると、分割が完全に妨げられ、単一ノードのツリーが生成されます。 範囲:実数
チュートリアルプロセス
ID3の使用を開始する
ツリーの基本的な用語を理解するには、デシジョンツリーオペレーターのプロセス例について学習してください。
名義データの生成演算子は、名義属性を持つExampleSetを生成するために使用されます。 ID3演算子は数値属性を処理できないことに注意してください。 ExampleSetを見ることができるように、ブレークポイントがここに挿入されます。 ExampleSetには3つの属性があり、各属性には3つの可能な値があることがわかります。 ID3演算子は、すべてのパラメーターのデフォルト値とともにこのExampleSetに適用されます。結果のデシジョンツリーモデルは、プロセスの結果ポートに配信され、結果ワークスペースで確認できます。