Pruning Pada Fuzzy Decision Tree Dalam

advertisement
2
1 Pembersihan Data
Pembersihan terhadap data dilakukan
untuk menghilangkan data yang tidak
konsisten atau data yang mengandung
noise.
2 Integrasi data
Proses integrasi data dilakukan untuk
menggabungkan data dari berbagai
sumber.
3 Seleksi data
Proses seleksi data digunakan untuk
mengambil data yang relevan digunakan
dalam proses analisis.
4 Transformasi data
Proses
mentransformasikan
atau
menggabungkan data ke dalam bentuk
yang tepat untuk di-mining.
5 Data mining
Data mining merupakan proses penting
yang menerapkan metode-metode cerdas
untuk mengekstraksi pola-pola dalam
data.
6 Evaluasi pola
Evaluasi
pola
diperlukan
untuk
mengidentifikasi beberapa pola yang
menarik
yang
merepresentasikan
pengetahuan.
7 Representasi pengetahuan
Penggunaan visualisasi dan teknik
representasi
untuk
menunjukkan
pengetahuan hasil penggalian gunung
data kepada pengguna.
Tahapan di dalam proses KDD akan
ditunjukkan oleh Gambar 1.
2001). Data mining merupakan kumpulan
proses yang mengaplikasikan komputer dan
berbagai macam teknik untuk menemukan
informasi dari sekumpulan data. Data mining
dibagi menjadi dua kategori besar, yaitu
predictive data mining dan descriptive data
mining. Predictive data mining berupaya
menganalisis data dengan tujuan membuat suatu
model dan memprediksi perilaku dari kumpulan
data yang baru. Descriptive data mining lebih
pada upaya menjelaskan sekumpulan data
dengan ringkas yang menjelaskan sifat-sifat
menarik dari data.
Klasifikasi
Klasifikasi adalah suatu cara yang
digunakan untuk membedakan objek, kelas,
atau konsep pada suatu ruang data. Klasifikasi
bertujuan memodelkan suatu fungsi yang dapat
digunakan untuk mengetahui kelas dari suatu
objek yang kelasnya tidak dikenali.
Proses klasifikasi dibagi menjadi dua, yakni
tahap learning dan testing (Han & Kamber
2001). Pada tahap learning, sebagian data yang
telah diketahui label kelasnya (training set)
digunakan
untuk
membentuk
model.
Selanjutnya, pada tahap testing, model yang
sudah terbentuk diuji dengan menggunakan
sebagian data lain (test set) untuk mengetahui
akurasi dari model yang dihasilkan. Jika akurasi
yang didapatkan mencukupi, model tersebut
dapat dipakai untuk memprediksi kelas data
yang belum diketahui.
Decision Tree
Decision tree merupakan suatu pendekatan
yang sangat populer dan praktis dalam machine
learning untuk menyelesaikan permasalahan
klasifikasi. Metode ini digunakan untuk
memperkirakan nilai diskret dari fungsi target.
Fungsi pembelajaran direpresentasikan oleh
sebuah decision tree (Liang 2005).
Decision tree merupakan himpunan aturan
IF...THEN. Setiap path dalam tree dihubungkan
dengan sebuah aturan. Premis aturan terdiri atas
sekumpulan node yang ditemui, sedangkan
kesimpulan aturan terdiri atas kelas yang
terhubung dengan leaf dari path (Marsala 1998
dalam Romansyah et al.2009).
Fuzzy
Gambar 1 Tahap-tahap dalam proses KDD
(Han&Kamber 2001).
Data Mining
Data mining merupakan proses ekstraksi
informasi data berukuran besar (Han & Kamber
Kaidah fuzzy mengijinkan setiap objek
untuk memiliki nilai keanggotaan (membership)
lebih dari satu himpunan. Lebih spesifik lagi,
hal ini disebut sebagai fungsi keanggotaan
(membership function), yaitu suatu fungsi yang
memetakan sejumlah objek himpunan menuju
3
suatu himpunan tujuan dengan
keanggotaan tertentu (Smith 2003).
derajat
Secara formal, definisi dari himpunan fuzzy
adalah sebagai berikut:
Jika X merupakan suatu kumpulan objek yang
secara umum dilambangkan dengan x, himpunan fuzzy A pada X merupakan sebuah himpunan
dengan formulasi sebagai berikut:
A = {(x, µA (x))| x ɛ X}
Nilai µA (x) disebut sebagai fungsi atau derajat
keanggotaan x dalam A yang memetakan X ke
ruang keanggotaan M (Zimmerman 1991 dalam
Smith 2003).
G( S , A)  H ( S ) 
dengan bobot Wi =
| Sv |
H (S v )
vValues( A) | S |
| Sv |
adalah rasio dari data
|S|
dengan atribut v pada himpunan contoh.
Pada fuzzy ID3, fuzzy entropy dirumuskan
sebagai berikut:
H f (S )  H s ( S )  i  Pi * log 2 ( Pi )
N
Untuk menentukan fuzzy entropy dan
information gain dari suatu atribut A pada
algoritme fuzzy ID3 (FID3), digunakan
persamaan sebagai berikut:
Fuzzy Decision Tree

N
Fuzzy Decision Tree merupakan perluasan
ide dari teori klasik tentang proses klasifikasi
yang kita kenal sebagai Decision Tree. Node
dari tree dengan derajat satu atau disebut daun
(leaf) merupakan label dari konsep klasifikasi,
sedangkan node dengan derajat lebih tinggi
dibentuk dari sekumpulan aturan menggunakan
operator “OR”, “AND”, dan “NOT” (Rhyne &
Smith 1999 dalam Smith 2003).
Fuzzy Decision Tree memungkinkan untuk
menggunakan nilai-nilai numeric-symbolic
selama konstruksi atau saat mengklasifikasikan
kasus-kasus baru. Manfaat dari teori himpunan
fuzzy dalam decision tree ialah meningkatkan
kemampuan dalam memahami decision tree
ketika menggunakan atribut-atribut kuantitatif.
Bahkan dengan penggunaan teknik fuzzy dapat
meningkatkan ketahanan saat melakukan
klasifikasi kasus-kasus baru (Marsala 1998
dalam Romansyah et al 2009).
Entropy dan Information Gain
Information gain adalah suatu nilai statistik
yang digunakan untuk memilih atribut yang
akan mengekspansi tree dan menghasilkan node
baru pada algoritme ID3. Suatu entropy
dipergunakan untuk mendefinisikan nilai
information gain. Entropy dirumuskan sebagai
berikut:
H s (S )  i  Pi * log 2 ( Pi )
N
Pi adalah rasio dari kelas Ci pada himpunan
contoh S = {x1,x2,…,xk}.

P 
i

k
j 1
x j  Ci
S
Untuk menghitung nilai information gain
dari suatu atribut A, digunakan persamaan
sebagai berikut:
H f ( S , A)  i 1
C
j
S

N
ij
log 2
j
ij
S
(5)
G f ( S )  H f ( S )  v  A
N
| Sv |
* H f ( S v , A)
|S|
Dengan µij adalah nilai keanggotaan dari pola
ke-j untuk kelas ke-i. Hf(S) menunjukkan
entropy dari himpunan S dari data pelatihan
pada node. |Sv| adalah ukuran dari subset Sv  S
dari data pelatihan xj dengan atribut v. |S|
menunjukkan ukuran dari himpunan S
(Romansyah et al 2009).
Threshold
Jika proses learning dari FDT dihentikan
sampai semua data contoh pada masing-masing
leaf-node menjadi anggota sebuah kelas, akan
dihasilkan akurasi yang rendah. Oleh karena itu,
untuk meningkatkan akurasinya, proses
learning harus dihentikan lebih awal atau
melakukan pemangkasan tree secara umum
(Liang 2005). Untuk itu, diberikan 2 (dua) buah
threshold yang harus terpenuhi jika tree akan
diekspansi, yaitu:
 Fuzziness control threshold (θr)
Jika proporsi himpunan data dari kelas Ck
lebih besar atau sama dengan nilai threshold
θr, ekspansi tree dihentikan. Sebagai contoh:
jika diberikan θr adalah 85%, pada sebuah
sub-dataset rasio dari kelas 1 adalah 90%
dan kelas 2 adalah 10%, maka ekspansi tree
dihentikan.
 Leaf decision threshold (θn)
Jika banyaknya anggota himpunan data
pada suatu node lebih kecil daripada
threshold θn, ekspansi tree dihentikan.
Sebagai contoh: sebuah himpunan data
4
memiliki 600 contoh dengan θn adalah 2%.
Jika jumlah data contoh pada sebuah node
lebih kecil dari 12 (2% dari 600), ekspansi
tree dihentikan (Romansyah et al. 2009).
Fuzzy ID3 (FID3)
Algoritme ID3 (Iterative Dichotomiser 3)
pertama kali dikenalkan oleh Quinlan.
Algoritme ini menggunakan teori informasi
untuk menentukan atribut yang paling
informatif. Namun, ID3 ternyata sangat tidak
stabil dalam melakukan penggolongan karena
adanya gangguan kecil pada data pelatihan.
Logika fuzzy dapat memberikan suatu
peningkatan dalam melakukan penggolongan di
saat pelatihan. Algoritme fuzzy ID3 merupakan
algoritme yang efisien untuk membuat suatu
fuzzy decision tree (Liang 2005).
Overfitting
Overfitting merupakan masalah yang sering
muncul di dalam upaya klasifikasi. Overfitting
di dalam decision tree menghasilkan sesuatu
yang lebih kompleks daripada yang dibutuhkan.
Gejala yang ditunjukkan di dalam overfitting
memberi informasi kebaikan akurasi pada data
training, namun memberikan akurasi yang
buruk pada data testing. Di samping itu,
overfitting mengakibatkan semakin besar
ukuran dari tree (ditinjau dari jumlah node-nya),
justru memberi nilai akurasi yang rendah dalam
proses klasifikasi. Pruning merupakan cara
yang baik untuk menghindari atau mengatasi
overfitting. Pasca pruning tingkat akurasi dalam
proses klasifikasi bisa meningkat (Tan et al
2005).
Pruning
Pruning (pemangkasan tree) merupakan
bagian dari proses pembentukan decision tree.
Saat pembentukan decision tree, beberapa node
merupakan outlier maupun hasil dari noise data.
Penerapan pruning pada decision tree dapat
mengurangi outlier maupun noise data pada
decision tree awal sehingga dapat meningkatkan
akurasi pada klasifikasi data (Han & Kamber
2001 dalam Budi 2010).
Prinsip pruning terbagi menjadi dua: Prepruning dan post pruning. Pre-pruning
merupakan proses pemangkasan saat tree belum
terbentuk secara sempurna. Salah satu metode
pre-pruning adalah metode chi square. Metode
ini menghitung keterkaitan atau hubungan
setiap atribut terhadap atribut kelasnya sehingga
dapat
diketahui
apakah
atribut
yang
bersangkutan bisa menjadi classifier yang baik
atau tidak.
Misalkan didapatkan suatu atribut dengan m
kategori dan n kategori kelas. Langkah awal chi
square adalah membentuk tabel sederhana
seperti berikut:
Tabel 1 Contoh persebaran atribut untuk proses
pruning chi square
K1
Kn
jumla
h
Kategori1
E11
E21
Ea
Kategori 2
E12
E22
Eb
Kategori m
E13
E23
Ec
Jumlah
∑1m
∑2m
∑1m+
∑2m
Lalu, dengan melihat pada tabel sebaran chi
square , X2 = {α;(m-1)*(n-1)}
Kemudian, dilakukan perhitungan seperti
berikut:
e11 = (∑1m * Ea ) / (∑1m+ ∑2m)
e12 = (∑1m * Eb ) / (∑1m+ ∑2m)
e13 = (∑1m * Ec ) / (∑1m+ ∑2m)
e21 = (∑2m * Ea ) / (∑1m+ ∑2m)
e22 = (∑2m * Eb) / (∑1m+ ∑2m)
e23 = (∑2m * Ec) / (∑1m+ ∑2m)
Berikutnya adalah menghitung nilai X2 dari
data berikut:
X2 hitung = (E11- e11)2 / e11 + (E12- e12)2 / e12 +
(E13- e13)2 / e13 + (E21- e21)2 / e21 +
(E22- e22)2 / e22 + (E23- e23)2 / e23
Kemudian, dibandingkan nilai X2 dengan
nilai X2 hitung. Jika didapatkan nilai X2 hitung yang
lebih besar dari X2 , atribut yang bersangkutan
tidak
bisa
dihilangkan dalam
proses
pengembangan tree. Namun, jika nilai X2 hitung
lebih kecil dari X2, atribut tersebut bisa
diabaikan di dalam proses ekspansi tree.
Berbeda prinsip dengan pre-pruning, post
pruning bekerja setelah tree terbentuk dengan
sempurna. Salah satu metode dari post pruning
adalah rule post pruning. Metode ini berusaha
untuk
menyederhanakan rule dengan memotong antecedent atau leaf pada model tree
dengan prinsip seperti berikut (Mitchell 1997):
1 Infer tree as well as possible.
2 Convert tree to equivalent set of rules.
3 Prune each rule by removing any
preconditions that result in improving its
estimated accuracy.
Download