CARTおよびアルゴリズムのような決定木は、特定のターゲットクラスに対して可能な限り純粋なサブセットを取得するために、トレーニングセットの再帰的なパーティション分割を通じて機能します。ツリーの各ノードは、特定のテストセットによって分割された特定のレコードセット関連付けられています。例えば、連続的な属性で分割Aを試験することによって誘導することができるA ≤ X。レコードTのセットは、ツリーの左ブランチと右ブランチにつながる2つのサブセットに分割されます。TAA≤xT
Tl={t∈T:t(A)≤x}
そして
Tr={t∈T:t(A)>x}
同様に、カテゴリフィーチャを使用して、その値に応じて分割を誘導できます。たとえば、B = { b 1、… 、b k }の場合、各ブランチiはテストB = b iによって誘導されます。BB={b1,…,bk}iB=bi。
決定木を誘導する再帰アルゴリズムの除算ステップでは、各機能のすべての可能な分割を考慮し、選択した品質尺度(分割基準)に従って最適な分割を見つけようとします。データセットが次のスキームで誘導される場合
A1,…,Am,C
ここで、は属性で、Cはターゲットクラスです。すべての候補の分割が生成され、分割基準によって評価されます。上記のように、連続属性とカテゴリ属性の分割が生成されます。最適なスプリットの選択は、通常、不純物測定によって実行されます。親ノードの不純物は、分割によって減少する必要があります。してみましょう(E 1、E 2、... 、EのK)レコードのセットに誘導し、分割することE不純物対策の使用になり分割基準、私は(⋅ )です。AjC(E1,E2,…,Ek)EI(⋅)
Δ = I(E)− ∑i = 1k|E私||E|私(E私)
標準的な不純物の尺度は、シャノンエントロピーまたはジニ指数です。より具体的には、CARTは次のようにセットに対して定義されているGiniインデックスを使用します。みましょうのp jはレコードの割合もEクラスのCのj個のp J = | { T ∈ E :T [ C ] = CのJ } |EpjEcj
次いで、
G、IN、I(E)=1- Q Σ jは=1、P 2 、J Q
pj= | { T ∈ E:t [ C] = cj} || E|
G i n i(E)= 1 − ∑j = 1Qp2j
Qクラスの数です。
すべてのレコードが同じクラスに属している場合、不純物が0になります。
例として、我々は記録のバイナリクラス設定されていることを言わせてクラス分布がどこにあるか(1 / 2は、1 / 2 ) -以下は、のために良い分割であるTT(1 / 2 、1 / 2 )T
Tl(1 、0 )Tr(0 、1 )TlTr| Tl| / | T| = | Tr| / | T| =1 / 2△
Δ = 1 - 1 / 22- 1 / 22- 0 - 0 = 1 / 2
△
Δ = 1 - 1 / 22- 1 / 22- 1 / 2 ( 1 - (3 / 4 )2- (1 / 4 )2) -1/2( 1- (1/4)2- (3 / 4 )2) =1/2- 1 / 2 (3 / 8 )- 1 / 2 (3 / 8 )= 1 / 8
最初の分割が最適な分割として選択され、アルゴリズムが再帰的に進行します。
決定木を使用して新しいインスタンスを分類するのは簡単です。実際、ルートノードからリーフへのパスをたどれば十分です。レコードは、到達する葉の過半数クラスで分類されます。
この図の正方形を分類したいとします
A 、B 、CCAB
誘導された決定木としては、次のものが考えられます。
レコードが円でラベル付けされた葉の上にある場合、レコードの正方形は決定ツリーによって円として分類されることは明らかです。
このおもちゃの例では、レコードがツリーによって誤分類されないため、トレーニングセットの精度は100%です。上記のトレーニングセットのグラフィック表示では、ツリーが新しいインスタンスを分類するために使用する境界(灰色の破線)を確認できます。
決定木に関する多くの文献がありますが、大ざっぱな紹介文を書き留めたかっただけです。もう1つの有名な実装はC4.5です。