Assalamualaikum sahabat whitecyber semua diseluruh tanah air … kali ini seperti biasa saya akan sharing singkat bagaimana menganalisa pertandingan tenis dengan menggunakan teknologi BIGDATA atau sering kita kenal dengan Data Mining. Sebenarnya saya sudah membahas pembahasan ini lengkap di link ini :
namun tidak apa-apa ya kita akan kupas secara singkat, nanti bila ada waktu lagi saya akan bahas dengan metode dan cara yang berbeda dengan olah data yang berbeda juga.
Mengenal Decision Tree
Seperti diketahui bahwa manusia selalu menghadapi berbagai macam masalah di dalam kehidupannya sehari-hari. Masalah-masalah yang timbul dari berbagai macam bidang ini memiliki tingkat kesulitan dan kompleksitas yang sangat bervariasi, mulai dari masalah yang sangat sederhana dengan sedikit faktor-faktor terkait hingga masalah yang sangat rumit dengan banyak sekali faktor-faktor yang terkait, sehingga factor-faktor yang berkaitan dengan masalah tersebut perlu untuk diperhitungkan.
Seiring dengan perkembangan kemajuan pola pikir manusia, manusia mulai mengembangkan sebuah sistem yang dapat membantu manusia dalam menghadapi masalah-masalah yang timbul sehingga dapat menyelesaikannya dengan mudah. Pohon keputusan atau yang lebih dikenal dengan istilah Decision Tree ini merupakan implementasi dari sebuah sistem yang manusia kembangkan dalam mencari dan membuat keputusan untuk masalah-masalah tersebutdengan memperhitungkan berbagai macam faktor yang berkaitan di dalam lingkup masalah tersebut.
Dengan pohon keputusan, manusia dapat dengan mudah mengidentifikasi dan melihat hubungan antara faktor-faktor yang mempengaruhi suatu masalah sehingga dengan memperhitungkan faktor-faktor tersebut dapat dihasilkan penyelesaian terbaik untuk masalah tersebut. Pohon keputusan ini juga dapat menganalisa nilai resiko dan nilai suatu informasi yang terdapat dalam suatu alternatif pemecahan masalah. Pohon keputusan dalam analisis pemecahan masalah pengambilan keputusan merupakan pemetaan alternatif-alternatif pemecahan masalah yang dapat diambil dari masalah tersebut. Pohon keputusan juga memperlihatkan faktor-faktor kemungkinan yang dapat
mempengaruhi alternative-alternatif keputusan tersebut, disertai dengan estimasi hasil akhir yang akan didapat bila kita mengambil alternatif keputusan tersebut.
Secara umum, pohon keputusan adalah suatu gambaran permodelan dari suatu persoalan yang terdiri dari serangkaian keputusan yang mengarah kepada solusi yang dihasilkan. Peranan pohon keputusan sebagai alat bantu dalam mengambil keputusan telah dikembangkan oleh manusia sejak perkembangan teori pohon yang dilandaskan pada teori graf. Seiring dengan perkembangannya, pohon keputusan kini telah banyak dimanfaatkan oleh manusia dalam berbagai macam sistem pengambilan keputusan.
Decision tree adalah struktur flowchart yang menyerupai tree (pohon), dimana setiap simpul internal menandakan suatu tes pada atribut, setiap cabang merepresentasikan hasil tes, dan simpul daun merepresentasikan kelas atau distribusi kelas. Alur pada decision tree di telusuri dari simpul akar ke simpul daun yang memegang prediksi. (Han, J., & Kamber, M. (2006). Data Mining Concept and Tehniques. San Fransisco: Morgan Kauffman.)
.
.
Algoritma c4.5
Pohon keputusan merupakan metode yang umum digunakan untuk melakukan klasifikasi pada data mining. Seperti yang telah dijelaskan sebelumnya, klasifikasi merupakan Suatu teknik menemukan kumpulan pola atau fungsi yang mendeskripsikan serta memisahkan kelas data yang satu dengan yang lainnya untuk menyatakan objek tersebut masuk pada kategori tertentu dengan melihat pada kelakuan dan atribut dari kelompok yang telah didefinisikan.
Metode ini popular karena mampu melakukan klasifikasi sekaligus menunjukkan hubungan antar atribut. Banyak algoritma yang dapat digunakan untuk membangun suatu decision tree, salah satunya ialah algoritma C45. Algoritma C4.5 dapat menangani data numerik dan diskret. Algoritma C.45 menggunakan rasio perolehan (gain ratio). Sebelum menghitung rasio perolehan, perlu dilakukan perhitungan nilai informasi dalam satuan bits dari suatu kumpulan objek, yaitu dengan menggunakan konsep entropi.
Konsep Entropy
Entropy(S) merupakan jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sampel S. Entropy dapat dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. semakin kecil nilai Entropy maka akan semakin Entropy digunakan dalam mengekstrak suatu kelas. Entropi digunakan untuk mengukur ketidakaslian S.
.
Besarnya Entropy pada ruang sampel S didefinisikan dengan :
.
.
Dimana :
- S : ruang (data) sampel yang digunakan untuk pelatihan
- P+: jumlah yang bersolusi positif atau mendukung pada data sampel untuk kriteria tertentu
- P-: jumlah yang bersolusi negatif atau tidak mendukung pada data sampel untuk kriteria tertentu.
- Entropi(S) = 0, jika semua contoh pada S berada dalam kelas yang sama.
- Entropi(S) = 1, jika jumlah contoh positif dan negative dalam S adalah sama.
- 0 > Entropi(S) > 1, jika jumlah contoh positif dan negative dalam S tidak sama.
Konsep Gain
Gain (S,A) merupakan Perolehan informasi dari atribut A relative terhadap output data S. Perolehan informasi didapat dari output data atau variabel dependent S yang dikelompokkan berdasarkan atribut A, dinotasikan dengan gain (S,A).
.
.
Dimana:
- A : Atribut
- S : Sampel
- n : Jumlah partisis himpunan atribut A
- |Si| : Jumlah sampel pada pertisi ke –i
- |S| : Jumlah sampel dalam S
Untuk memudahkan penjelasan mengenai algoritma C4.5berikut ini disertakan contoh kasus yang dituangkan dalam Tabel 4.1 :
.
.
Tabel 1 merupakan kasus yang akan dibuat pohon keputusan untuk menentukan main tenis atau tida. Data ini memiliki atribut-atribut yaitu, keadaan cuaca (outlook), temperatur, kelembaban (humidity) dan keadaan angin (windy).
Berikut merupakan cara membangun pohon keputusan dengan menggunakan algoritma:
- Pilih atribut sebagai akar. Sebuah akar didapat dari nilai gain tertinggi dari atribut-atribut yang ada.
- Buat cabang untuk masing-masing nilai
- Bagi kasus dalam cabang
- Ulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama.
.
.
.
Dari hasil pada Tabel 4.2 dapat diketahui bahwa atribut dengan Gain tertinggi adalah HUMIDITY yaitu sebesar 0.37. Dengan demikian HUMIDITY dapat menjadi node akar.
Ada 2 nilai atribut dari HUMIDITY yaitu HIGH dan NORMAL. Dari kedua nilai atribut tersebut, nilai atribut NORMAL sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atribut HIGH masih perlu dilakukan perhitungan lagi hingga semua kasus masuk dalam kelas seperti yang terlihat pada Gambar di sebelah kanan.
Kelebihan Pohon Keputusan
Dalam membuat keputusan dengan menggunankan pohon keputusan, metode ini memiliki kelebihan sebagai berikut :
- Daerah pengambilan keputusan lebih simpel dan spesifik.
- Eliminasi perhitungan-perhitungan tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sample diuji hanya berdasarkan kriteria atau kelas tertentu.
- Fleksibel untuk memilih fitur dari internal node yang berbeda. Sehingga dapat meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional.
- Dengan menggunakan pohon keputusan, penguji tidak perlu melakukan estimasi pada distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Karena metode ini menggunakan kcriteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan.
Kekurangan Pohon Keputusan
Pohon keputusan sangat membantu dalam pengambilan keputusan, namun pohon keputusan juga memiliki beberapa kekurangan, diantaranya :
- Kesulitan dalam mendesain pohon keputusan yang optimal.
- Hasil kualitas keputusan yang didapat sangat tergantung pada bagaimana pohon tersebut didesain. Sehingga jika pohon keputusan yang dibuat kurang optimal, maka akan berpengaruh pada kualitas dari keputusan yang didapat.
- Terjadi overlap terutama ketika kelas-kelas dan criteria yang digunakan jumlahnya sangat banyak sehingga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan.
- Pengakumulasian jumlah eror dari setiap tingkat dalam sebuah pohon keputusan yang besar.
Decision Tree pada RapidMiner
RapidMiner sebagai software pengolah data mining menyediakan tool untuk membuat decision tree. Hal ini tentu akan memudahkan kita membuat decision tree dengan menggunakan RapidMiner dibandingkan membuat decision tree secara manual yaitu dengan melakukan perhitungan menggunakan algoritma C4.5 yang telah dijelaskan sebelumnya.
.
.
Pada operator Decision tree terdapat input training set (tra), port ini merupakan output dari operator retrieve. Output dari operator lain juga dapat digunakan oleh port ini. Port ini menghasilkan ExampleSet yang dapat diperoses menjadi decision tree. Selain itu pada operator ini juga terdapat output model (mod) dan example set (exa). Mod akan mengonversi atribut yang dimasukkan menjadi mpdel keputusan dalam bentuk decision tree. exa merupakan port yang menghasilkan output tanpa mengubah inputan yang masuk melalui port ini. Port ini biasa digunakan untuk menggunakan kembali sama ExampleSet di operator lebih lanjut atau untuk melihat ExampleSet dalam Hasil Workspace.
Langkah selanjutnya ialah mengatur parameter sesuai dengan kebutuhan kita. Setelah menghubungkan operator retrieve dengan operator decision tree, atur parameter decision tree seperti pada gambar 4.9.
.
.
Criterion, berguna memilih kriteria untuk menetapkan atribut sebagai akar dari decision tree. kriteria yang dapat dipilih, antara lain
- Gain ratio merupakan varian dari information_gain. Metode ini menghasilkan information gain untuk setiap atribut yang memberikan nilai atribut yang seragam
- Information_gain, dengan metode ini, semua entropi dihitung. Kemudian atribut dengan entropi minimum yang dipilih untuk dilakukan perpecahan pohon (split). Metode ini memiliki bias dalammemilih atribut dengan sejumlah besar nilai.
- Gini_index merupakan ukuran ketidakaslian dari suatu ExampleSet. Metode ini memisahkan pada atribut yang dipilih memberikan penurunan indeks gini rata-rata yang dihasilkan subset.
- Accuracy, metode ini memimilih beberapa atribut untuk memecah pohon (split) yang memaksimalkan akurasi dari keseluruhan pohon.
- Minimal size of split, Ukuran untuk membuat simpul-simpul pada decision tree. simpul dibagi berdasarkan ukuran yang lebih besar dari atau sama dengan parameter Minimal size of split. Ukuran simpul adalah jumlah contoh dalam subset nya
- Minimal leaf size, Pohon yang dihasilkan sedemikian rupa memiliki himpunan bagian simpul daun setidaknya sebanyak jumlah minimal leaf size.
- Minimal gain merupakan nilai gain minimal yang ditentukan untuk menghasilkan simpul pohon keputusan. Gain dari sebuah node dihitung sebelum dilakukan pemecahan. Node dipecah jika gain bernilai lebih besar dari Minimal Gain yang ditentukan. Nilai minimal gain yang terlalu tinggi akan mengurangi perpaecahan pohon dan menghasilkan pohon yang kecil. Sebuah nilai yang terlalu tinggi dapat mencegah pemecahan dan menghasilkan pohon dengan simpul tunggal.
- Maximal depth, Parameter ini digunakan untuk membatasi ukuran Putusan Pohon. Proses generasi pohon tidak berlanjut ketika kedalaman pohon adalah sama dengan kedalaman maksimal.
Jika nilainya diatur ke ‘-1’, parameter kedalaman maksimal menempatkan tidak terikat pada kedalaman pohon, pohon kedalaman maksimum dihasilkan. Jika nilainya diatur ke ‘1 ‘ maka akan dihasilkan pohon dengan simpul tunggal.
- Confidence, Parameter ini menentukan tingkat kepercayaan yang digunakan untuk pesimis kesalahan perhitungan pemangkasan.
- number of prepruning alternatives. Parameter ini menyesuaikan jumlah node alternatif mencoba untuk membelah ketika split dicegah dengan prepruning pada simpul tertentu.
- no prepruning, Secara default Pohon Keputusan yang dihasilkan dengan prepruning. Menetapkan parameter ini untuk menonaktifkan benar prepruning dan memberikan pohon tanpa prepruning apapun.
- no pruning Secara default Pohon Keputusan yang dihasilkan dengan pemangkasan. Menetapkan parameter ini untuk menonaktifkan benar pemangkasan dan memberikan sebuah unpruned
Setelah parameter diatur, klik ikon Run pada toolbar, seperti pada gambar 40 untuk menampilkan hasilnya. Tunggu beberapa saat, komputer membutuhkan waktu untuk menyelesaikan perhitungan.
.
.
Selain menampilkan hasil decision tree berupa graph atau tampilan pohon keputusan, RapidMiner juga menyediakan tool untuk menampilkan hasil berupa teks view dengan mengklik button Text View seperti yang tampak pada Gambar 4.13.
.
Tree
Temperature > 84: no {no=1, yes=0} Temperature ≤ 84 | Temperature > 80.500: yes {no=0, yes=2} | Temperature ≤ 80.500 | | Temperature > 77.500: no {no=1, yes=0} | | Temperature ≤ 77.500 | | | Temperature > 73.500: yes {no=0, yes=2} | | | Temperature ≤ 73.500 | | | | Temperature > 64.500 | | | | | Temperature > 66.500 | | | | | | Temperature > 70.500 | | | | | | | Outlook = overcast: yes {no=0, yes=1} | | | | | | | Outlook = rain: no {no=1, yes=0} | | | | | | | Outlook = sunny: no {no=1, yes=0} | | | | | | Temperature ≤ 70.500: yes {no=0, yes=3} | | | | | Temperature ≤ 66.500: no {no=1, yes=0} | | | | Temperature ≤ 64.500: yes {no=0, yes=1}
.
Seperti ini hasilnya temen-temen semua … Sudah larut malam kita cukupkan sekian ya … kita akan lanjut sharing di artikel selanjutnya.
.