Rule Induction
概要
この演算子は、指定されたExampleSetから得られる情報ゲインに関して、剪定されたルールのセットを学習します。
詳細
ルール誘導演算子は、「エラーの削減を実現するための反復増分プルーニング」という命題ルール学習器と同様に機能します(RIPPER、Cohen 1995)。あまり普及していないクラスから始めて、肯定的な例がなくなるか、エラー率が50%を超えるまで、アルゴリズムは繰り返し成長し、ルールをプルーニングします。
成長段階では、ルールごとに、完全になるまで(つまり100%正確になるまで)貪欲に条件がルールに追加されます。このプロシージャは、各属性のすべての可能な値を試行し、情報のゲインが最も高い条件を選択します。
プルーンフェーズでは、各ルールについて、前件の最終シーケンスがプルーニングメトリックp /(p + n)でプルーニングされます。
ルールセット学習者は、多くの場合、ディシジョンツリー学習者と比較されます。ルールセットには、理解しやすく、1次ロジックで表現でき(Prologなどの言語で実装しやすい)、事前知識を簡単に追加できるという利点があります。ルールセットの主な欠点は、トレーニングセットのサイズに合わせてスケーリングが不十分であり、ノイズの多いデータに問題があることです。 (この演算子が実装する)RIPPERアルゴリズムは、これらの欠点をほとんど克服します。デシジョンツリーの主な問題は過剰適合です。つまり、モデルはトレーニングセットでは非常にうまく機能しますが、検証セットではうまく機能しません。 Reduced Error Pruning(REP)は、過剰適合を克服しようとする手法です。 REPがIREP、IREP *、およびRIPPERに変更された期間にわたるさまざまな改善および機能強化の後。
決定木の枝刈りは、決定木の識別力に追加しないリーフノードを削除する手法です。これは、未特定のデータセットに対する予測力を強化するために、過剰に特定されたツリーまたは過剰に適合したツリーをより一般的な形式に変換するために行われます。プルーニングの同様の概念は、ルールセットにも適用されます。
入力
- トレーニングセット (IOObject)この入力ポートには、ExampleSetが必要です。これは、添付のプロセス例の周波数による離散化演算子の出力です。他の演算子の出力も入力として使用できます。
出力
- (決定ルールモデル)ルールモデルは、この出力ポートから配信されます。これで、このモデルを非表示のデータセットに適用できます。
- サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
パラメーター
- criterion このパラメータは、属性と数値分割を選択するための基準を指定します。次の値のいずれかを指定できます。
- information_gain:すべての属性のエントロピーが計算されます。最小エントロピーを持つ属性が分割用に選択されます。この方法には、多数の値を持つ属性を選択する傾向があります。
- accuracy:このような属性は、ルールセットの精度を最大化する分割に対して選択されます。
範囲:選択
- sample_ratioこのパラメーターは、成長と枝刈りに使用されるトレーニングデータのサンプル比を指定します。 範囲:実数
- purenessこのパラメータは、サブセットを純粋と見なすために、対象のサブセットの主要なクラスの最小比率など、必要な純度を指定します。 範囲:実数
- minimal_prune_benefitこのパラメーターは、プルーニングされるために、プルーニングされていないベネフィットを超える必要があるベネフィットの最小量を指定します。 範囲:実数
- use_local_random_seedランダム化にローカルランダムシードを使用するかどうかを示します。 範囲:ブール
- local_random_seedこのパラメータは、 ローカルランダムシードを指定します。このパラメーターは、 ローカルシードの使用パラメーターがtrueに設定されている場合にのみ使用できます。 範囲:整数
チュートリアルプロセス
ルール誘導演算子の概要
「ゴルフ」データセットは、検索演算子を使用してロードされます。周波数属性による離散化演算子が適用され、数値属性を名義属性に変換します。これが行われるのは、通常、ルール学習者が名目上の属性でうまく機能するためです。 Discretize by Frequencyオペレーターのビン数パラメーターは3に設定されます。他のパラメーターはすべてデフォルト値で使用されます。ここにブレークポイントが挿入されるため、Rule Induction演算子を適用する前にExampleSetを確認できます。次にルール誘導演算子が適用されます。すべてのパラメーターはデフォルト値で使用されます。結果のモデルは、プロセスの結果ポートに接続されます。ルールセット(RuleModel)は、プロセスの実行後に結果ワークスペースで確認できます。