Matematika di balik pohon klasifikasi dan regresi

14

Adakah yang bisa membantu menjelaskan beberapa matematika di balik klasifikasi dalam CART? Saya ingin memahami bagaimana dua tahap utama terjadi. Sebagai contoh, saya melatih classifier CART pada dataset dan menggunakan dataset pengujian untuk menandai kinerja prediktifnya tetapi:

  1. Bagaimana akar awal pohon dipilih?

  2. Mengapa dan bagaimana masing-masing cabang dibentuk?

Dataset saya menjadi 400 ribu catatan dengan 15 kolom dan 23 kelas mencapai akurasi 100% dari matriks kebingungan, saya menggunakan 10 kali lipat crossvalidasi pada dataset. Saya akan sangat berterima kasih jika ada yang bisa membantu menjelaskan tahapan klasifikasi CART?

G Gr
sumber

Jawaban:

24

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 tesAx . Himpunan catatan kemudian dipartisi dalam dua himpunan bagian yang mengarah ke cabang kiri pohon dan yang kanan.T

Tl={tT:t(A)x}

dan

Tr={tT: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()

Δ=I(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=|{tE:t[C]=cj}||E|
Gini(E)=1j=1Qpj2
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

Perpecahan yang bagus

Tl(1,0)Tr(0,1)TlTr|Tl|/|T|=|Tr|/|T|=1/2Δ

Δ=11/221/2200=1/2

ΔPerpecahan buruk

Δ=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

Dua dataset fitur

SEBUAH,B,CCSEBUAHB

Pohon keputusan yang mungkin diinduksi mungkin sebagai berikut: masukkan deskripsi gambar di sini

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.

Simone
sumber
1
diagram yang bagus!
Cam.Davidson.Pilon
Terima kasih, sayangnya sepertinya editor tidak mendukung unggahan dalam format PDF. Mereka vektorial.
Simone
2

Saya bukan ahli tentang CARTs tetapi Anda dapat mencoba buku "Elemen Pembelajaran Statistik" yang tersedia secara online secara gratis (lihat bab 9 untuk CARTs). Saya percaya buku itu ditulis oleh salah satu pencipta algoritma CART (Friedman).

Bitwise
sumber
Itu banyak membantu! +1 penemuan cemerlang!
G Gr
@GarrithGraham tidak masalah, saya pikir buku gratis ini adalah "rahasia terkenal".
Bitwise