Algoritma Data Mining (2) Tugas Klasifikasi Anief Fauzan Rozi, S. Kom., M. Eng. 1
Kompentensi Mahasiswa mengetahui algoritma data mining pada tugas klasifikasi 2
Pokok Bahasan Algoritma C4.5 3
Supervised Learning à Klasifikasi Nasabah Tabungan Aset Pendapatan Risiko Kredit A Sedang Tinggi 75 Baik B Rendah Rendah 50 Buruk C Tinggi Sedang 25 Buruk D Sedang Sedang 50 Baik E Rendah Sedang 100 Baik F Tinggi TInggi 25 Baik G Rendah Rendah 25 Buruk H Sedang Sedang 75 Baik I Tinggi Rendah 50? Klasifikasi digunakan untuk mengetahui variabel target jika diketahui hubungan tersembunyi antara variabel input. Tabel di samping contoh dari masalah yang dapat diselesaikan dengan tugas data mining klasifikasi. Variabel target dari masalah ini adalah resiko kredit. Sedangkan variabel inputnya adalah tabungan, aset, dan pendapatan. 4
Algoritma C4.5 (1) Algoritma C4.5 merupakan algoritma yang digunakan untuk membentuk pohon keputusan. Dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Proses pada pohon keputusan adalah mengubah bentuk data (tabel) menjadi model pohon, mengubah model pohon menjadi rule, dan menyederhanakan rule (Basuki & Syarif, 2003) 5
Algoritma C.45 (2) Langkah- langkah secara umum: 1. Pilih atribut sebagai akar (root) 2. Buat cabang untuk tiap- tiap nilai 3. Bagi kasus dalam cabang 4. Ulangi proses untuk setiap cabang (langkah 1, 2, dan 3) sampai semua kasus pada cabang memiliki kelas yang sama. 6
Contoh Kasus (1) Diberikan beberapa data tentang keputusan bermain tenis. Buatlah pohon keputusan dengan algoritma c4.5 agar kelak kita dapat memutuskan bermain atau tidak jika diketahui informasi lainnya. 7
Contoh Kasus (2) 8
Penyelesaian 1. Tentukan mana variabel tujuan, mana variabel input. 2. Lakukan tahap- tahap algoritma C4.5 pada variabel input untuk menentukan variabel tujuan. 9
Penentuan Variabel Tujuan dan Variabel Input Berdasar tabel dan pertanyaan, maka dapat dituliskan bahwa: Variabel tujuan adalah kolom play Variabel input adalah kolom outlook, temperature, humidity, windy 10
Langkah 1: Pilih atribut sebagai akar (1) Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari variabel input. Rumusnya: Keterangan: S = himpunan kasus A = atribut n = jumlah partisi atribut A S i = jumlah kasus pada partisi ke- 1 S = jumlah kasus dalam S 11
Langkah 1: Pilih atribut sebagai akar (2) Sedangkan untuk mencari nilai entrophy, digunakan rumus berikut ini: Keterangan: S = himpunan kasus n = jumlah partisi S pi = proporsi dari S i terhadap S 12
Langkah 1: Pilih atribut sebagai akar (3) Hasil perhitungan gain pada masing- masing atribut adalah seperti tertera pada tabel perhitungan node 1 berikut ini: Tips mengitung nilai entrophy: Jika salah satu nilai dari kolom ya dan tidak ada yang nilainya 0, maka dipastikan nilai entrophy juga 0 Jika nilai kolom ya dan tidak bernilai sama, maka entrophy bernilai 1 13
Langkah 1: Pilih atribut sebagai akar (4) Pada tabel tersebut dapat dilihat bahwa nilai gain tertinggi adalah pada artibut humidity, yaitu 0,3705065. Maka atribut humidity ini adalah akar dari pohon keputusan. 14
Langkah 2: buat cabang untuk masing- masing nilai Keterangan: Pengisian cabang berdasar pada nilai yang ada di kolom humidity, yaitu high dan normal (lihat soal). 15
Langkah 3: Bagi kasus dalam cabang Keterangan: Humidity memiliki dua nilai, high dan normal. Pada perhitungan node 1, untuk nilai normal menghasilkan 7 keputusan yes dan 0 keputusan no. Artinya untuk semua nilai humidity normal keputusannya adalah yes, maka anak cabang dari normal adalah yes. Sedangkan untuk high, terdapat 3 keputusan yes dan 4 keputusan no. Artinya untuk nilai high belum jelas keputusannya, maka anak cabang dari high perlu dicari kembali (perhitungan node 2) 16
Langkah 4: ulangi langkah 1, 2, dan 3 sampai tidak ada percabangan lagi (1). Penentuan anak cabang untuk humidity high 17
Langkah 4: ulangi langkah 1, 2, dan 3 sampai tidak ada percabangan lagi (2) Pada tabel tersebut dapat dilihat bahwa nilai gain tertinggi adalah pada artibut outlook, yaitu 0,69951385. Maka atribut outlook ini adalah anak cabang dari humidity high. 18
Langkah 4: ulangi langkah 1, 2, dan 3 sampai tidak ada percabangan lagi (3) Keterangan: Outlook memiliki tiga nilai yaitu: sunny, cloudy, dan rainny. Pada perhitungan node 2, dapat dilihat untuk semua nilai outlook sunny keputusannya adalah no. Untuk semua nilai cloudy keputusannya adalah yes. Sedangkan untuk rainny belum jelas keputusannya, maka anak cabang dari rainny perlu dicari kembali (perhitungan node 3) 19
Langkah 4: ulangi langkah 1, 2, dan 3 sampai tidak ada percabangan lagi (4). Penentuan node untuk outlook rainny 20
Langkah 4: ulangi langkah 1, 2, dan 3 sampai tidak ada percabangan lagi (5) Pada tabel tersebut dapat dilihat bahwa nilai gain tertinggi adalah pada artibut windy, yaitu 1. Maka atribut windy ini adalah anak cabang dari outlook rainny. 21
Langkah 4: ulangi langkah 1, 2, dan 3 sampai tidak ada percabangan lagi (6) Keterangan: Windy memiliki dua nilai yaitu: true dan false. Pada perhitungan node 3, dapat dilihat untuk semua nilai windy true keputusannya adalah no. Untuk semua nilai false keputusannya adalah yes. Karena pada kondisi ini semua anak cabang telah jelas, maka perhitungan berhenti. 22
Hasil Akhir Klasifikasi (1) 23
Hasil Akhir Klasifikasi (2) Dari pohon keputusan tersebut dapat dibuat suatu rumusan: Humidity: Normal à main tenis Humidity: High, Outlook: Cloudy à main tenis Humidity: High, Outlook: Sunny à tidak main tenis Humidity: High, Outlook: Rainny, Windy: false à main tenis Humidity: High, Outlook: Rainny, Windy: trueà tidak main tenis 24
Implementasi Data mining tugas klasifikasi (algoritma c4.5) dengan php- mysql 25
Pertanyaan??? 26
Kuis (1) Diberikan data sebagai berikut: 27
Kuis (2) Buatlah pohon keputusan yang dapat mengklasifikasikan rekomendasi lensa berdasar atribut yang lain! 28