Algoritma CART merupakan algoritma yang umum dan banyak digunakan dalam mengintegrasikan berbagai faktor dari sumber yang berbeda untuk masalah klasifikasi dan regresi berdasarkan biner rekursif. Algoritma ini tergolong dalam model nonparametric yang tidak memerlukan bentuk fungsional dan telah terbukti menjadi alat ampuh untuk masalah prediksi dan klasifikasi. CART mengandalkan partisi biner rekursif dari data dasar pembangunan pohon regresi. Pohon didirikan dari dataset yang dikumpulkan di simpul pohon akar dan setiap node dibagi menjadi dua node turun menggunakan variabel pemisahan (salah satu variabel prediktor).
Pemilihan variabel pemisahan mencari penurunan variabilitas dalam-node dan untuk peningkatan variabilitas antara-node, dengan setiap partisi yang diperoleh menghasilkan pohon dengan variabilitas yang lebih sedikit daripada pohon sebelumnya.
Data yang digunakan dalam metode CART adalah data learning dan data testing. Data learning adalah data yang siap untuk dimining yang telah melewati data preprocessing sedangkan data testing adalah data yang digunakan untuk menguji klasifikasi yang diperoleh dari data learning. sehingga Algoritma CART melalui tiga tahapan sebagai berikut:
2.6.1 Pembentukan Pohon Klasifikasi
Dalam pembentukan pohon klasifikasi terdiri dari tiga proses yaitu pemilihan atribut, penentuan simpul terminal, dan penandaan label kelas seperti berikut:
1. Pemilihan Pemilah
Pada tahap ini, data yang digunakan adalah data sampel data learning yang kemudian dipilah berdasarkan aturan pemilahan dari kriteria goodness of split.
Himpunan bagian yang dihasilkan dari proses pemilihan harus lebih homogen dibandingkan pemilihan sebelumnya. Menurut Breiman, et al (1993), fungsi keheterogenan yang sangat mudah dan sesuai diterapkan dalam berbagai kasus adalah indeks gini. Indeks gini akan selalu memisahkan kelas dengan anggota paling besar atau kelas terpenting dalam simpul tersebut terlebih dahulu. Pemilahan yang memberikan penurunan keheterogenan tertinggi merupakan pemilahan terbaik.
Sebelum melakukan pemilihan pemilah dengan menggunakan indeks gini, akan lebih baik mencari gain information dari setiap simpul dengan menggunakan rumus seperti berikut (Jiawei, 2012):
πΊπΌ(π‘) = β β π(π|π‘) log2π(π|π‘) π(π‘) = Banyak pengamatan pada simpul t
Metode pemilihan pemilah pada metode CART menggunakan indeks gini i(t) yang merupakan pengukuran tingkat keragaman suatu kelas dari suatu simpul tertentu dalam klasifikasi sehingga mampu membantu dalam menemukan fungsi pemilah yang optimal. Fungsi keragaman yang digunakan adalah Indeks gini dimana pemilihan atribut ini akan menghasilkan pohon yang biner. Indeks Gini adalah pengukuran keragaman antara probabilitas nilai-nilai atribut target. Fungsi Indeks Gini sebagai berikut:
11
π(π‘) = Banyak pengamatan pada simpul t
Atribut yang terpilih akan membentuk suatu himpunan kelas yang disebut simpul atau node. simpul akan selalu mengalami pemilihan secara rekursif sampai diperoleh terminal nodes. Langkah selanjutnya adalah menentukan kriteria goodness-of-split yang merupakan suatu evaluasi pemilihan oleh pemilah s pada t yang disebut juga sebagai penuruan keheterogenan dengan rumus sebagai berikut:
π(π , π‘) = π(π‘) β ππΏπ(π‘πΏ) β ππ π(π‘π) (2.3) Keterangan:
π‘π = Simpul kanan atau right node π‘πΏ = Simpul kiri atau left node
ππ = Proporsi banyaknya objek yang masuk pada π‘π ππΏ = Proporsi banyaknya objek yang masuk pada π‘πΏ
Probabilitas banyaknya objek yang masuk pada π‘π dan π‘πΏ dapat dihitung dengan rumus sebagai berikut (Mardiani, 2012):
ππΏ = πππππ π ππππ’π ππππ
πππ‘π πππ‘πβππ (2.4)
ππΏ = πππππ π ππππ’π πππππ
πππ‘π πππ‘πβππ (2.5)
Pengembangan pohon dilakukan dengan mencari semua kemungkinan pemilah pada simpul t, yang kemudian akan ditemukan pemilah π β yang memberikan nilai penurunan keheterogenan tertinggi yaitu:
π(π β, π‘) = πππ₯π ππ π(π , π‘) (2.6) Pemilah yang menghasilkan nilai lebih tinggi merupakan pemilah yang lebih baik karena hal ini memungkinkan untuk mereduksi keheterogenan secara lebih signifikan. Metode pemilahan yang sering digunakan adalah indeks Gini, hal tersebut dikarenakan lebih mudah dan sesuai untuk diterapkan dalam berbagai kasus dan mempunyai perhitungan yang sederhana dan cepat (Breiman L, 1984).
2. Penentuan Simpul Terminal
Suatu simpul t akan menjadi simpul terminal atau tidak apabila pada simpul t tidak terdapat penurunan keheterogenan secara berarti berdasarkan kriteria goodness-of-split atau hanya terdapat satu pengamatan pada tiap simpul anak atau jumlah kasus minimum dalam suatu terminal akhir pada pengamatan berjumlah kurang atau sama dengan 5 (π β€ 5). Selain itu, proses pembentukan pohon juga akan berhenti apabila sudah mencapai batasan jumlah level yang telah ditentukan atau tingkat kedalaman dalam pohon maksimal. Serta proses pemecahan pohon pada node π‘ menjadi π‘π dan π‘πΏ berlaku:
π (π‘) > π (π‘π ) + π (π‘πΏ) (2.7) Keterangan:
π (π‘) = Kesalahan pengklasifikasian pada node π‘
π (π‘π ) = Kesalahan pengklasifikasian pada simpul kiri node π‘ π (π‘πΏ) = Kesalahan pengklasifikasian pada simpul kanan node π‘
3. Penandaan Label Kelas
Penandaan label kelas adalah proses pengidentifikasian tiap nodes pada suatu kelas tertentu. Penandaan kelas dilakukan pada terminal nodes, nonterminal nodes, dan root nodes. Akan tetapi, penandaan label paling dibutuhkan pada terminal nodes atau simpul terminal karena simpul ini penting digunakan untuk memprediksi suatu objek pada kelas tertentu yang berada pada simpul terminal ini. Penandaan label kelas pada simpul terminal dilakukan berdasarkan aturan jumlah terbanyak yaitu jika:
π(π|π‘) = πππ₯πππ(π‘)
π(π‘) (2.8)
Keterangan:
π(π|π‘) = Proporsi jumlah kelas π pada simpul π‘ ππ(π‘) = Jumlah Pengamatan kelas π pada simpul π‘ π(π‘) = Jumlah Pengamatan pada simpul π‘
Label kelas simpul terminal π‘ adalah π yang memberi nilai dugaan kesalahan pengklasifikasian simpul π‘ terbesar. Proses pembentukan pohon klasifikasi berhenti apabila hanya ada satu pengamatan dalam tiap simpul anak atau adanya batas
13
minimum π, semua pengamatan dalam simpul anak identik, dan adanya batasan jumlah level atau kedalaman pohon maksimal.
2.6.2 Pemangkasan Pohon Klasifikasi
Bagian pohon yang kurang penting dilakukan pemangkasan sehingga didapatkan pohon klasifikasi yang optimal. Pohon yang terbentuk dengan aturan pemilah dan kriteria goodness of split berukuran sangat besar karena penghentian pohon berdasarkan banyaknya pengamatan pada simpul terminal atau besarnya tingkat kehomogenan. Ukuran pohon yang besar dapat menyebabkan overfitting, akan tetapi apabila pengamatan pohon dibatasi dengan ketepatan batas tertentu maka akan menyebabkan underfitting. Untuk mendapatkan ukuran pohon yang layak dapat dilakukan dengan melakukan pemangkasan pohon dengan berdasarkan ukuran cost complexity minimum menggunakan rumus sebagai berikut:
gm(π‘) =π (π‘)βπ (π|π π)
π|β1 (2.9)
Keterangan:
gm(π‘) = Complexity parameter
π (π‘) = Kesalahan pengklasifikasian pada node t.
ππ = Subtree ke-π, dengan π = 1,2, β¦ , π
π (ππ) = Kesalahan pengklasifikasian pada pohon ππ
Cabang yang dipangkas adalah cabang yang memilki nilai gm(t) terkecil, yaitu:
gm(π‘π) = ππππ‘πππgm(t) (2.10) Kesalahan pengklasifikasian pada node t diperoleh dengan menggunakan rumus sebagai berikut:
π (π‘) = π(π‘). π(π‘) (2.11)
Keterangan:
π(π‘) = Probabilitas atau peluang terjadinya kesalahan pengklasifikasian pada Pengklasifikasian pada node t dengan π(π‘) = 1 β ππππ π(π|π‘)
π(π‘) = Proporsi banyaknya objek pada simpul π‘
2.6.3 Penentuan Pohon Klasifikasi Optimal
Pohon klasifikasi yang berukuran besar akan memberikan nilai cost complexity yang tinggi karena struktur data yang digambarkan cenderung kompleks sehingga
perlu dipilih pohon optimal yang berukuran sederhana tetapi memberikan nilai penduga pengganti yang cukup kecil. Apabila π (π‘) dipilih sebagai penduga terbaik, maka cenderung akan dipilih pohon yang besar, sebab pohon yang semakin besar akan membuat nilai π (π‘) semakin kecil. π (π‘) atau penduga pengganti merupakan proporsi amatan yang mengalami kesalahan pengklasifikasian.
Penduga yang sering digunakan adalah penduga validasi silang lipat V (cross validation V-fold estimate). Penduga validasi silang lipat V digunakan pada data yang tidak cukup besar yaitu οΌ 3000 (kurang dari 3000 data). Dalam cross validation V-fold estimate, pengamatan dalam L dibagi secara random menjadi V bagian yang saling lepas dengan ukuran kurang lebih sama besar untuk setiap kelas. Pohon Tv dibentuk dari sampel learning ke-v dimana v = 1, 2, 3, β¦ V. Penduga sampel uji untuk π (ππ‘(π£)) sebagai berikut:
π (ππ‘(π£)) = 1
Nvβ π(π(v))
π
(2.12) Keterangan:
π(π(v)) = Hasil Pengklasifikasian
ππ = Jumlah Pengamatan dalam πΏπ
Pohon klasifikasi optimal yang dipilih adalah pohon klasifikasi yang memilki cross validation yang paling kecil yang berarti pohon yang mempunyai tingkat kesalahan pengklasifikasian paling kecil yang memenuhi persamaan:
Tingkat Kesalahan Klasifikasi = 1 βπ11+ π22
π (2.13)
Keterengan:
π11 = Jumlah observasi dari kelas 1 yang tepat diprediksi sebagai kelas 1 π22 = Jumlah observasi dari kelas 2 yang tepat diprediksi sebagai kelas 2