Decision Tree

Ngomong-ngomong soal postingan sebelumnya,dimana saia membahas final project algoritma pemrograman 2 tentang aplikasi personality style dengan decision tree,kali ini saia pengen share ilmu yang udah didapat waktu perenungan jangka panjang saia mengenai decision tree.
Butuh waktu lama buat dapetin feel tentang decision tree nya di aplikasi personality style.

Mengapa??

Pertanyaan yang baguszz….
Sebenernya saia rada malez klo ditanya mengapa,coz bakal ada penjelasan yang bikin otak saia meleleh sampe keluar dari kuping..
hmmm,kayaknya itu congek yah..
yaikszzz….
hehehehe…

Secara konsep Decision tree adalah salah satu dari teknik decision analysis.Tries sendiri pertama kali diperkenalkan pada tahun 1960-an oleh Fredkin. Trie atau digital tree berasal dari kata retrival (pengambilan kembali) sesuai dengan fungsinya. Secara etimologi kata ini diucapkan sebagai ‘tree’. Meskipun mirip dengan penggunaan kata ‘try’ tetapi hal ini bertujuan untuk membedakannya dari general tree. Dalam ilmu komputer, trie, atau prefix tree adalah sebuah struktur data dengan representasi ordered tree yang digunakan untuk menyimpan associative array yang berupa string. Berbeda dengan binary search tree (BST) yang tidak ada node di tree yang menyimpan elemen yang berhubungan dengan node sebelumnya dan, posisi setiap elemen di tree sangat menentukan. Semua keturunan dari suatu node mempunyai prefix string yang mengandung elemen dari node itu, dengan root merupakan string kosong. Values biasanya tidak terkandung di setiap node, hanya di daun dan beberapa node di tengah yang cocok dengan elemen tertentu.

Secara singkat bahwa Decision Tree merupakan salah satu metode klasifikasi pada Text Mining. Klasifikasi adalah proses menemukan kumpulan pola atau fungsi-fungsi yang mendeskripsikan dan memisahkan kelas data satu dengan lainnya, untuk dapat digunakan untuk memprediksi data yang belum memiliki kelas data tertentu (Jianwei Han, 2001).

Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil uji, dan node daun (leaf) merepresentasikan kelompok kelas tertentu. Level node teratas dari sebuah Decision Tree adalah node akar (root) yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. Pada umumnya Decision Tree melakukan strategi pencarian secara top-down untuk solusinya. Pada proses mengklasifikasi data yang tidak diketahui, nilai atribut akan diuji dengan cara melacak jalur dari node akar (root) sampai node akhir (daun) dan kemudian akan diprediksi kelas yang dimiliki oleh suatu data baru tertentu.

Decision Tree menggunakan algoritma ID3 atau C4.5, yang diperkenalkan dan dikembangkan pertama kali oleh Quinlan yang merupakan singkatan dari Iterative Dichotomiser 3 atau Induction of Decision “3″ (baca: Tree).
Algoritma ID3 membentuk pohon keputusan dengan metode divide-and-conquer data secara rekursif dari atas ke bawah. Strategi pembentukan Decision Tree dengan algoritma ID3 adalah:
• Pohon dimulai sebagai node tunggal (akar/root) yang merepresentasikan semua data..
• Sesudah node root dibentuk, maka data pada node akar akan diukur dengan information gain untuk dipilih atribut mana yang akan dijadikan atribut pembaginya.
• Sebuah cabang dibentuk dari atribut yang dipilih menjadi pembagi dan data akan didistribusikan ke dalam cabang masing-masing.
• Algoritma ini akan terus menggunakan proses yang sama atau bersifat rekursif untuk dapat membentuk sebuah Decision Tree. Ketika sebuah atribut telah dipilih menjadi node pembagi atau cabang, maka atribut tersebut tidak diikutkan lagi dalam penghitungan nilai information gain.
• Proses pembagian rekursif akan berhenti jika salah satu dari kondisi dibawah ini terpenuhi:
1. Semua data dari anak cabang telah termasuk dalam kelas yang sama.
2. Semua atribut telah dipakai, tetapi masih tersisa data dalam kelas yang berbeda. Dalam kasus ini, diambil data yang mewakili kelas yang terbanyak untuk menjadi label kelas pada node daun.
3. Tidak terdapat data pada anak cabang yang baru. Dalam kasus ini, node daun akan dipilih pada cabang sebelumnya dan diambil data yang mewakili kelas terbanyak untuk dijadikan label kelas.

Beberapa contoh pemakaian Decision Tree,yaitu :
• Diagnosa penyakit tertentu, seperti hipertensi, kanker, stroke dan lain-lain
• Pemilihan produk seperti rumah, kendaraan, komputerdanlain-lain
• Pemilihan pegawai teladan sesuai dengan kriteria tertentu
• Deteksi gangguan pada computer atau jaringan computer seperti Deteksi Entrusi, deteksi virus (Trojan dan varians),dan lain-lain

Nah,truz dari penjelasan segambreng tadi,kira-kira ada bayangan kaitannya dengan aplikasi personality style saia dan team inova yang telah sukses lahir kedunia dengan bonus bug-nya?
Jadi gini,pada algoritma sebelumnya,kebetulan saia yang dipercaya mengemban tugas suci sebagai programmer 1 bidang decision tree nya,saia menerapkan konsep decision tree pada setiap pertanyaan yang dijadikan acuan alias terdapat turun temurun dari pertanyaan induknya,dan disini saia menggunakan 4 indikator kepribadian.
Sanguinis,Koleris,Melankolis,Plegmatis.

And,Buju Buteeeettt…
hasilnya adalah codingan hampir 1500 baris,hanya untuk 10 pertanyaan..
Setelah melakukan konferensi meja gazebo(KMG),maka logika itu yang secara teori sudah benar.kayaknya kurang maksimal untuk diterapkan di aplikasi kami..
At least, saia dan team inova mendapat pencerahan..
Tingggg!!!
sangadh cerah..
Kebetulan ada seseorang yang lewat,tepat didepan KMG..
(hehehe,you know who…)
en,emang pada saat itu,jam 1 siang..
Jadi memang benar-benar sangadh cerah…

Kami mencoba mengakali konsep decision tree dengan cara,mengubah implementasinya pada penjumlahan nilai dari tiap kepribadian.
Jadi gini,gampangannya..
hmmmm,kayaknya ga gampang untuk jelasinnya…

Kunci dari program kami terletak pada pertanyaan utama.Jadi gini,4 kepribadian itu dibagi menjadi 2 golongan besar, yaitu :                       Ekstrovert : sanguinis dan Koleris
Introvert : Melankolis dan Plegmatis

Nilai Ekstrovert : sanguinis + Koleris
Nilia Introvert : Melankolis + Plegmatis

pertanyaan pertama pada aplikasi kami adalah mengkondisikan apakah jumlah nilai ekstrovert >= introvert.
apabila benar maka,tinggal membandingkan nilai sanguinis dan koleris,en klo jawabannya salah,maka program akan membandingkan nilai melankolis dan plegmatis.
Hasilnya adalah nilai kepribadian yang paling besar.
oia,setiap Nilai yang didapat akan disimpan kedalam temp,dan akan dimunculkan dalam bentuk grafik di program.

hmm,kayaknya gampang y…
tapi,sempet bingung en teraniaya waktu nyari niy algoritma..T_T
oia,Sebenarnya ada algoritma lain yang coba kami akali di konsep decision tree ini..
hehehe,tapi itu masih rahasia programmer…
yang penting program kami bermanfaat dan user bisa menikmati program ini..

Sudah jam 1 pagi lebih banyak,malah hampir jam 2,sob..
kayaknya kudu hibernasi dulu..
Sekian dulu dari saia..
semoga bermanfaat..
n’ semoga saia bisa bangun pagi..
grokkkzkkk…grokszzzzz…zzzzzzzz

Tidak ada simpanan yang lebih berguna daripada ilmu.
Tidak ada sesuatu yang lebih beruntung daripada adab.
Tidak ada kawan yang lebih bagus daripada akal.
Tidak ada benda ghaib yang lebih dekat daripada maut
.
– no name –

2 Responses to “Decision Tree”

  1. dafitawon Says:

    wah saya setuju dengan konsep decison tree coz itu ilmiah
    but,
    i’ m really “males banget” denger sanguistic, melankolis, de es be
    gak ilmiah bro!

    salam kenal
    http://firman.web.id

  2. yeyekh Says:

    @ dafitawon : Hmm,bukannya kepribadian itu bagian dari ilmu psikologi?^_^


Leave a Reply