Materi 5 DATA MINING 3 SKS Semester 6 S1 Sistem Iformasi UNIKOM 2016 Nizar Rabbi Radliya izar.radliya@yahoo.com Nama Mahasiswa NIM Kelas Kompetesi Dasar Memahami tekik data miig klasifikasi da mampu meerapka tekik klasifikasi berbasis decisio tree megguaka algoritma C4.5. Pokok Bahasa Klasifikasi 1. Kosep klasifikasi 2. Klasifikasi berbasis decisio tree 3. Pembahasa algoritma I. Kosep Klasifikasi Kasifikasi merupaka salah satu tekik dari model prediksi. Tekik ii diguaka utuk pembuata model yag dapat melakuka pemetaa dari setiap himpua variabel ke setiap targetya, kemudia megguaka model tersebut utuk memberika ilai target pada himpua variabel baru yag didapat (ilai targetya belum tersedia). Dalam klasifikasi ada dua pekerjaa utama yag dilakuka, yaitu: 1. Pembagua model sebagai prototipe utuk diguaka pada pekerjaa ke dua. 2. Pegguaa model tersebut utuk melakuka pegeala/klasifikasi/prediksi pada suatu objek data lai yag target kelasya belum diketahui. Berikut beberapa cotoh masalah yag dapat diselesaika dega klasifikasi: 1. Meetuka apakah suatu trasaksi kartu kredit merupaka trasaksi yag curag atau buka. 2. Melakuka deteksi peyakit pasie berdasarka sejumlah ilai parameter peyakit yag diderita. 3. Memprediksi pelagga maa yag aka berpidah ke kompetitor atau tetap setia. Framework (keragka kerja) tekik klasifikasi dalam data miig dapat digambarka seperti pada gambar 1 di bawah ii. 1
Data Latih (x,y) Algoritma Pelatiha Pembagua Model Data Uji (x,?) Peerapa Model Keluara Data Uji (x,y) Gambar 1. Kosep Keragka Kerja Tekik Klasifikasi Pada gambar 1 di atas terdapat data latih (x,y) yag target kelasya sudah diketahui (ilai y sudah ada), dimaa data latih ii kita guaka utuk pembagua model. Pembagua model juga aka melibatka algoritma pelatiha. Pada matari ii model yag dibagu hasilya dalam betuk poho keputusa. Ada beberapa algoritma pelatiha yag diguaka utuk membetuk poho keputusa, diataraya ID3, C4.5, CART, dll. Pada materi ii kita aka mempelajari algoritma C4.5 utuk pembetuka poho keputusa (decisio tree). Poho keputusa ati bisa kita trasformasi mejadi sebuah rule dalam betuk seleksi kodisi da dapat diimplemetasika megguaka bahasa pemrograma atau SQL utuk pembagua sistem. Model yag dihasilka aka diterapka utuk memprediksi target kelas (y) pada data uji (x,?) sehigga dihasilka data uji (x,y). Umumya model yag dihasilka dari tekik klasifikasi dapat memprediksi seluruh data latih dega bear. Tetapi belum tetu mampu memprediksi dega bear terhadap seluruh data uji. Maka kita bisa meetuka kelayaka pegguaa model dari ilai accuracy da error rate (tigkat kesalaha). Suatu model layak diguaka apabila ilai akurasiya lebih tiggi dari ilai tigkat kesalahaya. Jadi semaki ilai akurasiya tiggi, maka model tersebut semaki layak (berfugsi) utuk diimplemetasika. Berikut persamaa/formula utuk meetuka ilai akurasi da tigkat kesalaha. Jumlah data yag prediksiya bear Akurasi = Jumlah data yag diprediksi Tigkat Kesalaha Jumlah data yag prediksiya salah = Jumlah data yag diprediksi 2
II. Klasifikasi Berbasis Decisio Tree Poho keputusa adalah model prediksi megguaka struktur poho atau struktur berhirarki. Poho keputusa bayak dijadika model dari hasil klasifikasi. Poho keputusa diguaka utuk memecahka masalah dega cara memetaka setiap kodisi ilai pada setiap atribut, sehigga kita dapat melakuka pegambila keputusa berdasarka target kelas hasil prediksi. Poho (tree) merupaka struktur data yag terdiri dari simpul (ode) da cabag (brace). Simpul (ode) pada struktur poho dibedaka mejadi tiga yaitu simpul akar (root ode), simpul percabaga/iteral (brace/iteral ode) da simpul dau (leaf ode). Peggambara poho keputusa dapat dilihat pada gambar di bawah 2 ii. 1 Baha Root Node Brace/Edge Kayu Besi Iteral Node 1.1 Jeis Kayu 1.2 Taha Lama Balsa Jati 1.1.1 Cepat Rusak 1.1.2 Taha Lama Leaf Node Gambar 2. Struktur Poho Keputusa Model poho keputusa dalam tekik klasifikasi dihasilka dega pegguaa algoritma pelatiha terhadap data latih. Root ode da iteral ode dalam model poho keputusa dibetuk oleh atribut-atribut yag aka meetuka ilai kelas targetya (leaf ode). Nilai brace/edge utuk setiap ode aka ditetuka oleh domai/istace dari setiap atribut. III. Algoritma C4.5 Algoritma C4.5 diguaka utuk pembetuka poho keputusa. Berikut adalah ragkuma alur algoritma C4.5: 1. Pilih atribut sebagai akar, 2. Buat cabag utuk tiap-tiap ilai, 3
3. Bagi kasus dalam cabag, 4. Ulagi proses utuk setiap cabag sampai semua kasus pada cabag memiliki kelas yag sama. Utuk memilih atribut sebagai akar, didasarka pada ilai gai tertiggi dari atribut-atribut yag ada. Utuk meghitug gai diguaka rumus atau persamaa sebagai berikut: IV. Gai(S,A) = Etropy(S) S i i=1 * Etropy(Si) Keteraga: S A Si S : himpua kasus : atribut : jumlah partisi atribut A S : jumlah kasus pada partisi ke-i (Si) : jumlah kasus dalam S Sedagka persamaa utuk meghitug etropy sebagai berikut: Etropy(S) = i=1 p i * log 2 p i Keteraga: S A pi : himpua kasus : atribut : jumlah partisi S : proporsi dari Si terhadap S Pembahasa Cotoh Kasus Disii kita aka coba meerapka tekik klasifikasi utuk pembuata model poho keputusa da rule dalam melakuka prediksi pelaksaaa bermai teis. Pada kasus ii peetua keputusa bermai teis atau tidak, semetara ditetuka oleh 4 atribut, yaitu diatraya: 1. Atribut outlook (domai: suy, cloudy, raiy); 2. Atribut temperature (domai: hot, mild, cool); 3. Atribut humidity (domai: high, ormal); 4. Atribut widy (domai: true, false). Pada kasus ii yag mejadi target kelas adalah atribut play, sehigga terdapat dua target kelas yaitu Tidak/No (S1) da Ya/ (S2). Jumlah objek/kasus yag kita jadika 4
sebagai data latih adalah sebayak 14 kasus. Data latih yag aka kita guaka dapat dilihat pada tabel 1 di bawah ii. Tabel 1. Data Latih No Outlook Temperature Humidity Widy Play 1 Suy Hot High False No 2 Suy Hot High True No 3 Cloudy Hot High False 4 Raiy Mild High False 5 Raiy Cool Normal False 6 Raiy Cool Normal True 7 Cloudy Cool Normal True 8 Suy Mild High False No 9 Suy Cool Normal False 10 Raiy Mild Normal False 11 Suy Mild Normal True 12 Cloudy Mild High True 13 Cloudy Hot Normal False 14 Raiy Mild High True No Pembetuka model poho keputusa megguaka algoritma C4.5. Dalam algoritma C4.5, pemiliha atribut sebagai akar didasarka pada ilai gai tertiggi dari atribut-atribut yag ada. Utuk memudahka perhituga gai data latih dipetaka terlebih dahulu seperti pada tabel 2 di bawah ii. Tabel 2. Hasil Perhituga Gai Utuk Peetua Root Node (Node 1) Node Jml Kasus (S) Tidak (S1) Ya (S2) Etropy Gai 1 Total 14 4 10 0.863 Outlook 0.259 Cloudy 4 0 4 0.000 Raiy 5 1 4 0.722 Suy 5 3 2 0.971 Temperature 0.184 Cool 4 0 4 0.000 Hot 4 2 2 1.000 Mild 6 2 4 0.918 Humidity 0.371 High 7 4 3 0.985 Normal 7 0 7 0.000 Widy 0.006 False 8 2 6 0.811 True 6 4 2 0.918 Sebelum mecari ilai gai, kita cari dulu ilai etropy total da etropy semua domai pada setiap atribut. Berikut adalah perhituga ilai etropy total. 5
Etropy(S) = i=1 p i * log 2 p i Etropy(Total) = ( S 1 S log 2( S 1 S ))+ ( S 2 S log 2( S 2 S )) Etropy(Total) = ( 4 log 14 2( 4 10 ))+ ( log 14 14 2( 10 )) 14 Etropy(Total) = 0.863 Setelah ilai etropy kita temuka, maka lagkah selajutya kita hitug ilai gai utuk setiap atribut. Berikut adalah perhituga gai utuk atribut outlook. Gai(S,A) = Etropy(S) S i i=1 * Etropy(Si) Gai(Total,Outlook) = Etropy(Total) Outlook i i=1 * Etropy(Outlooki) S Total Gai(Total,Outlook) = 0.863 (( 4 14 0)+ ( 5 14 0.722)+ ( 5 14 0.971)) Pada perhituga gai utuk semua kasus, ditemuka ilai gai tertiggi adalah atribut humidity. Maka atribut humidity kita jadika sebagai root ode (ode 1). Utuk brace/edge pada root ode ditetuka oleh domai. Lalu ode utuk setiap brace/edge kita jadika sebagai leaf ode apabila semua kasus utuk domai tersebut ada pada target kelas yag sama. Cotohya domai ormal semua kasus masuk ke dalam target kelas Ya/ (S2). Poho keputusa yag dihasilka dari perhituga gai pada semua kasus dapat dilihat pada gambar 3 di bawah ii. 1 Humidity High Normal 1.1? 1.2 Gambar 3. Poho Keputusa Berdasarka Semua Kasus Data Latih Apabila semua kasus pada domai tidak pada target yag sama maka kita jadika sebagai iteral ode (cotoh: ode 1.1), dimaa atribut yag megisi ode tersebut kita 6
tetuka sesuai hasil perhituga ilai gai tertiggi dari beberapa kasus tertetu. Maksud dari beberapa kasus tertetu adalah kasus yag memeuhi/memiliki ilai domai yag target kelasya tidak sama. Cotohya pada kasus yag atribut humidity berilai high, tidak memiliki target kelas yag sama. Maka perhituga gai berikutya haya melibatka kasus yag atribut humidity berilai high. Hasil dari perhituga gai utuk peetua iteral ode dapat dilihat pada tabel 3 di bawah ii. Tabel 3. Hasil Perhituga Gai Utuk Peetua Iteral Node 1.1 Node Jml Kasus Tidak Ya (S) (S1) (S2) Etropy Gai 1.1 Humidity:High 7 4 3 0.985 Outlook 0.700 Cloudy 2 0 2 0.000 Raiy 2 1 1 1.000 Suy 3 3 0 0.000 Temperature 0.020 Cool 0 0 0 0.000 Hot 3 2 1 0.918 Mild 4 2 2 1.000 Widy 0.020 False 4 2 2 1.000 True 3 2 1 0.918 Hasil dari perhituga gai dari kasus data latih yag atribut humidity berilai high, meyataka ilai gai tertiggi adalah atribut outlook. Semua kasus data latih yag atribut humidity berilai high da atribut outlook berilai cloudy, masuk ke dalam target kelas Ya/ (S2) da yag berilai suy semua kasusya masuk ke dalam target kelas Tidak/No (S1). Dega begitu maka brace cloudy da suy aka meghasilka leaf ode. Sedagka domai raiy aka meghasilka iteral ode, karea semua kasusya tidak masuk pada target kelas yag sama. Poho keputusa yag dihasilka dari perhituga gai pada kasus yag atribut humidity berilai high dapat dilihat pada gambar 4 di bawah ii. 7
1 Humidity High Normal 1.1 Outlook 1.2 Cloudy Raiy Suy 1.1.1 1.1.2? 1.1.3 No Gambar 4. Poho Keputusa Berdasarka Kasus yag Atribut Humidity Berilai High Peetua iteral ode pada brace raiy aka dilakuka perhituga gai pada kasus yag atribut humidity berilai high da atribut outlook berilai raiy. Hasil dari perhituga gai tersebut dapat dilihat pada tabel 4 di bawah ii. Node 1.1.2 Tabel 4. Hasil Perhituga Gai Utuk Peetua Iteral Node 1.1.2 Humidity:High & Outlook:Raiy Jml Kasus (S) Tidak (S1) Ya (S2) Etropy 2 1 1 1.000 Gai Temperature 0.000 Cool 0 0 0 0.000 Hot 0 0 0 0.000 Mild 2 1 1 1.000 Widy 1.000 False 1 0 1 0.000 True 1 1 0 0.000 Hasil dari perhituga gai dari kasus data latih yag atribut humidity berilai high da atribut outlook berilai raiy, meyataka ilai gai tertiggi adalah atribut widy. Semua kasus data latih yag atribut humidity berilai high da atribut outlook berilai 8
raiy serta atribut widy berilai false, masuk ke dalam target kelas Ya/ (S2) da yag berilai true semua kasusya masuk ke dalam target kelas Tidak/No (S1). Dega begitu maka brace false da true aka meghasilka leaf ode. Poho keputusa yag dihasilka dari perhituga gai pada kasus yag atribut humidity berilai high da atribut outlook berilai raiy dapat dilihat pada gambar 5 di bawah ii. 1 Humidity High Normal 1.1 Outlook 1.2 Cloudy Raiy Suy 1.1.1 1.1.2 Widy 1.1.3 No False True 1.1.2.1 1.1.2.2 No Gambar 5. Poho Keputusa Berdasarka Kasus yag Atribut Humidity Berilai High da Atribut Outlook Berilai Raiy Pada poho keputusa di gambar 5, semua cabag sudah diakhiri dega leaf ode. Maka dari itu poho keputusa ii sudah bisa kita guaka. Sebaikya pertama kita lakuka pemetaa dari semua kasus data latih pada poho keputusa tersebut. Apabila semua kasus sudah sesuai dega target kelasya masig-masig, maka poho keputusa tersebut bisa kita guaka utuk data uji. 9
Poho keputusa juga bisa kita trasformasi ke dalam betuk rule yag atiya bisa kita jadika acua dalam pembagua sistem/program. Berikut hasil trasformasi dari poho keputusa ke dalam betuk rule dega meguaka algoritma seleksi kodisi bersarag/bertigkat. If (humidity = ormal ) { play = yes ; } else if (humidity = high ) { } if (outlook = cloudy ) { play = yes ; } else if (outlook = suy ) { play = o ; } else if (outlook = raiy ) { } V. Daftar Pustaka if (widy = false ) { play = yes ; } else if (widy = true ) { } play = o ; [1] Astuti, F.A. 2013. Data Miig. Yogyakarta: Adi. [2] Kusrii & Taufiz, E.L. 2009. Algoritma Data Miig. Yogyakarta: Adi. [3] Prasetyo, E. 2012. Data Miig: Kosep da Aplikasi Megguaka MATLAB. Yogyakarta: Adi. [4] Prasetyo, E. 2014. Data Miig: Megolah Data Mejadi Iformasi Megguaka MATLAB. Yogyakarta: Adi. VI. Materi Berikutya Pokok Bahasa Sub Pokok Bahasa Klasifikasi 1. Klasifikasi berbasis earest eighbor 2. Pembahasa algoritma 10