CART dan pohon keputusan seperti algoritma bekerja melalui partisi rekursif dari set pelatihan untuk mendapatkan himpunan bagian yang semurni mungkin untuk kelas target yang diberikan. Setiap simpul pohon terkait dengan serangkaian catatan T yang dipisahkan oleh tes khusus pada fitur. Misalnya, pemisahan pada atribut kontinu A dapat diinduksi oleh tesA≤x . Himpunan catatan kemudian dipartisi dalam dua himpunan bagian yang mengarah ke cabang kiri pohon dan yang kanan.T
Tl={t∈T:t(A)≤x}
dan
Tr={t∈T:t(A)>x}
Demikian pula, fitur kategorikal dapat digunakan untuk menginduksi pemisahan sesuai dengan nilainya. Sebagai contoh, jika B = { b 1 , ... , b k } setiap cabang saya dapat diinduksi oleh tes B = b i .BB={b1,…,bk}iB=bi
Langkah bagi algoritma rekursif untuk menginduksi pohon keputusan memperhitungkan semua kemungkinan pemisahan untuk setiap fitur dan mencoba menemukan yang terbaik berdasarkan ukuran kualitas yang dipilih: kriteria pemisahan. Jika dataset Anda diinduksi pada skema berikut
A1,…,Am,C
di mana adalah atribut dan C adalah kelas target, semua kandidat yang dibagi dihasilkan dan dievaluasi oleh kriteria pemisahan. Perpecahan pada atribut kontinu dan yang kategorikal dihasilkan seperti dijelaskan di atas. Pemilihan split terbaik biasanya dilakukan dengan tindakan pengotor. Pengotor simpul induk harus dikurangi dengan pemisahan . Biarkan ( E 1 , E 2 , ... , E k ) menjadi split yang diinduksi pada set catatan E , kriteria pemisahan yang digunakan untuk ukuran pengotor I ( ⋅ ) adalah:AjC(E1,E2,…,Ek)EI(⋅)
Δ = Saya( E)−∑i=1k|Ei||E|I(Ei)
Ukuran pengotor standar adalah entropi Shannon atau indeks Gini. Lebih khusus, CART menggunakan indeks Gini yang didefinisikan untuk set sebagai berikut. Biarkan p j menjadi fraksi catatan dalam E dari kelas c j p j = | { t ∈ E : t [ C ] = c j } |EpjEcj
maka
Gini(E)=1- Q ∑ j=1p 2 j di
manaQadalah jumlah kelas.
pj=|{t∈E:t[C]=cj}||E|
Gini(E)=1−∑j=1Qp2j
Q
Itu mengarah ke 0 kenajisan ketika semua catatan milik kelas yang sama.
Sebagai contoh, mari kita mengatakan bahwa kita memiliki satu set kelas biner catatan di mana distribusi kelas ( 1 / 2 , 1 / 2 ) - berikut ini adalah split baik untuk 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
Split pertama akan dipilih sebagai split terbaik dan kemudian algoritma melanjutkan secara rekursif.
Sangat mudah untuk mengklasifikasikan contoh baru dengan pohon keputusan, bahkan cukup untuk mengikuti jalur dari simpul akar ke daun. Catatan diklasifikasikan dengan kelas mayoritas daun yang dijangkau.
Katakanlah kita ingin mengklasifikasikan kotak pada gambar ini
A , B , CCSEBUAHB
Pohon keputusan yang mungkin diinduksi mungkin sebagai berikut:
Jelas bahwa catatan persegi akan diklasifikasikan oleh pohon keputusan sebagai lingkaran mengingat catatan jatuh pada daun berlabel lingkaran.
Dalam contoh mainan ini, akurasi pada set pelatihan adalah 100% karena tidak ada catatan yang salah diklasifikasi oleh pohon. Pada representasi grafis dari pelatihan yang ditetapkan di atas kita dapat melihat batas-batas (garis putus-putus abu-abu) yang digunakan pohon untuk mengklasifikasikan instance baru.
Ada banyak literatur tentang pohon keputusan, saya hanya ingin menuliskan pengantar yang samar. Implementasi terkenal lainnya adalah C4.5.