Data-mining-dm-rbc
データマイニング-ルールベースの分類
IF-THENルール
ルールベースの分類子は、分類に一連のIF-THENルールを使用します。 私たちは次のルールを次のように表現できます-
IF条件THEN結論
ルールR1を考えてみましょう。
覚えておくべきポイント-
- ルールのIF部分は、 rule antecedent または precondition と呼ばれます。
- ルールのTHEN部分は、 rule consequent と呼ばれます。
- 条件の前件部分は1つ以上の属性テストで構成され、これらのテストは論理的にANDされます。
- 結果部分はクラス予測で構成されます。
注-ルールR1を次のように書くこともできます-
条件が特定のタプルに当てはまる場合、前件は満たされます。
ルール抽出
ここでは、意思決定ツリーからIF-THENルールを抽出して、ルールベースの分類子を構築する方法を学びます。
覚えておくべきポイント-
決定木からルールを抽出するには-
- ルートからリーフノードへのパスごとに1つのルールが作成されます。
- ルールの前件を形成するために、各分割基準は論理的にANDされます。
- リーフノードはクラス予測を保持し、結果としてルールを形成します。
シーケンシャルカバリングアルゴリズムを使用したルール誘導
シーケンシャルカバリングアルゴリズムを使用して、トレーニングデータからIF-THENルールを抽出できます。 最初に決定木を生成する必要はありません。 このアルゴリズムでは、特定のクラスの各ルールが、そのクラスの多くのタプルをカバーします。
シーケンシャルカバリングアルゴリズムには、AQ、CN2、およびRIPPERがあります。 一般的な戦略に従って、ルールは一度に1つずつ学習されます。 ルールが学習されるたびに、ルールの対象となっているタプルが削除され、残りのタプルについてプロセスが続行されます。 これは、決定木の各葉へのパスがルールに対応しているためです。
注-ディシジョンツリーの帰納は、一連のルールを同時に学習すると見なすことができます。
以下は、一度に1つのクラスのルールを学習する逐次学習アルゴリズムです。 クラスCiからルールを学習するとき、ルールはクラスCからのすべてのタプルをカバーし、他のクラスのタプルはカバーしないようにします。
ルールプルーニング
ルールがプルーニングされているのは、次の理由によるものです-
- 品質の評価は、トレーニングデータの元のセットで行われます。 このルールは、トレーニングデータではうまく機能しますが、後続のデータではあまり機能しません。 そのため、ルールのプルーニングが必要です。
- ルールは、接続詞を削除することで整理されます。 Rの枝刈りされたバージョンの品質が、独立したタプルのセットで評価されたものよりも高い場合、ルールRは枝刈りされます。
FOILは、ルールプルーニングのためのシンプルで効果的な方法の1つです。 与えられたルールRに対して、
FOIL_Prune = pos-neg/pos + neg
ここで、posおよびnegは、それぞれRでカバーされる正のタプルの数です。
注意-この値は、プルーニングセットのRの精度とともに増加します。 したがって、FOIL_Prune値がRの枝刈り済みバージョンの方が高い場合、Rを剪定します。