Anda di halaman 1dari 13

BAB II

INDUCT/RIPPLE-DOWN RULE (RDR)

Bab ini berisi tentang uraian mengenai teori Ripple-Down Rules (RDR), yang meliputi RDR
dengan pengembangan manual dan RDR yang menerapkan algoritma Induct untuk
pengembangannya.

II.1 Ripple-Down Rule (RDR)


Ripple-Down Rule (RDR) merupakan suatu metode akuisisi pengetahuan dalam
pengembangan basis pengetahuan secara bertahap dari suatu sistem pakar atau sistem berbasis
pengetahuan. RDR dikembangkan oleh Compton dan Jansen [COM89] sebagai suatu metode
akuisisi pengetahuan dan pengelolaan dari suatu sistem berbasis aturan berukuran besar. RDR
telah berhasil digunakan untuk menstrukturkan ulang sistem GARVAN-ES1, sebuah sistem
pakar pengecekan kesehatan yang memberikan diagnosa terhadap pasien berdasarkan
pengukuran tingkat hormon thyroid. RDR dipandang sebagai metode yang berhasil dalam
membangun sistem berbasis pengetahuan untuk permasalahan klasifikasi [COM00].
RDR dibangun untuk mengatasi permasalahan tidak adanya penjelasan yang lengkap dari
pakar mengenai keputusan yang mereka ambil. Dalam RDR, pakar mengekspresikan
pengetahuannya dalam bentuk pemecahan terhadap kasus-kasus yang diberikan. Oleh karena
itu, pendekatan dengan teori RDR dapat digolongkan ke dalam pendekatan berbasis kasus
(case-based). Teori RDR menggunakan prinsip bahwa pengetahuan selalu diberikan oleh
pakar untuk satu konteks tertentu, dan akan dapat bernilai benar hanya untuk konteks yang
sama [COM00].
Dalam RDR, pengetahuan baru ditambahkan jika terjadi kesalahan sistem dalam memberikan
klasifikasi untuk suatu kasus. Kasus yang menyebabkan penambahan pengetahuan ini akan
disimpan sebagai kasus cornerstone pada basis pengetahuan. Penambahan pengetahuan baru
menjamin akurasi sistem secara bertahap karena pengetahuan yang ditambahkan akan
mengklasifikasikan kasus terkini secara benar dan tidak menyebabkan kesalahan interpretasi
pada kasus-kasus sebelumnya [COM00]. Penambahan pengetahuan ini merupakan bagian
dari proses akuisisi pengetahuan, yaitu suatu proses mentransfer pengetahuan dan
mengubahnya dengan kemampuan kepakaran menjadi solusi untuk pemecahan masalah.
Akusisi pengetahuan secara bertahap merupakan keuntungan dari penggunaan RDR dalam

II-1
II-2

suatu sistem berbasis pengetahuan, karena dalam masa pemakaian pun sistem masih terus
dapat berkembang.
Proses akuisisi pengetahuan dapat dilakukan secara manual oleh pakar atau secara otomatis
melalui program komputer. Compton dan Gaines [GAI92] mengembangkan suatu algoritma
pembelajaran mesin yang membangun RDR secara otomatis menggunakan metode Induct.
Algoritma ini dikenal dengan sebutan Induct/RDR. Penjelasan mengenai metode Induct dan
Induct/RDR akan diberikan pada sub-bab II.2.

II.1.1 Representasi Pengetahuan RDR [KHO98


Pengetahuan RDR direpresentasikan dalam bentuk pohon biner dengan setiap simpul
menyatakan satu kaidah. Setiap simpul memiliki maksimal dua cabang yaitu cabang except
dan cabang else kecuali pada simpul akar yang hanya memiliki satu cabang yaitu cabang
except. Komponen-komponen pengetahuan RDR tersebut dapat dijelaskan di bawah ini.
Simpul (node) pohon menyatakan kaidah dalam pengetahuan, yang berisi serangkaian kondisi
beserta konklusi yang dihasilkan apabila kondisi terpenuhi. Dalam RDR, suatu kaidah dapat
menjadi perkecualian bagi kaidah yang lain. Kondisi dalam kaidah dapat berbentuk konjungsi
sebagai berikut :
IF klausa-1 AND klausa-2 AND ... AND klausa-n THEN kelas-X
atau berbentuk disjungsi sebagai berikut :
IF klausa-1 OR klausa-2 OR ... OR klausa-n THEN kelas-X
Cabang except disebut juga cabang IF-TRUE, pada umumnya direpresentasikan sebagai anak
cabang kanan pada pohon RDR. Cabang except mendefinisikan suatu perkecualian positif dari
kaidah pada simpul induk. Cabang ini akan dieksekusi bila kondisi kaidah induk (kaidah
dengan level satu tingkat di atasnya) terpenuhi. Solusi pada cabang ini akan menganulir solusi
sebelumnya jika kondisinya terpenuhi.
Cabang else disebut juga cabang IF-FALSE, pada umumnya direpresentasikan sebagai anak
cabang kiri pada pohon RDR. Cabang else mendefinisikan suatu perkecualian negatif dari
kaidah pada simpul induk. Cabang ini akan dieksekusi bila kondisi induk tidak terpenuhi.
Solusi pada cabang ini juga akan menganulir solusi kaidah sebelumnya jika kondisinya
terpenuhi.
Representasi pengetahuan RDR dapat dilihat pada gambar di bawah ini.
II-3

Gambar II-1 Representasi pengetahuan RDR dalam bentuk pohon biner

Basis pengetahuan RDR terdiri atas sekumpulan kaidah beserta kasus cornerstone yang
terkait. Kasus cornerstone merupakan kasus yang menyebabkan terjadinya penambahan
kaidah baru, yang disimpan ketika terjadi penambahan kaidah baru untuk mengoreksi adanya
kesalahan klasifikasi oleh sistem. Setiap kaidah terhubung dengan satu kasus cornerstone,
kecuali kaidah pada simpul akar.
Kaidah RDR mempunyai secara umum mempunyai bentuk formulasi :
if <kondisi-1> then <konklusi-1>[because of <kasus cornerstone>]
except if <kondisi-2> then <konklusi-2>[because of <kasus
cornerstone>]
else if <kondisi-3> then <konklusi-3>[because of <kasus cornerstone>]
Formulasi ini dapat dituliskan dalam pernyataan “if-then-else” biasa sehingga menjadi :
if <kondisi-1> then
if <kondisi-2> then <konklusi-2> else <konklusi-1>
else if <kondisi-3> then <konklusi-3>

II.1.2 Inferensi RDR


Proses inferensi pada RDR dimulai pada simpul akar. Kasus masukan akan diperiksa apakah
memenuhi kaidah-kaidah dalam pohon RDR untuk mendapatkan konklusi. Setiap kasus
masukan pasti akan memenuhi kaidah pada simpul akar. Jika kaidah induk terpenuhi, maka
konklusi dari kaidah induk akan menjadi konklusi untuk kasus terkait jika kaidah induk tidak
memiliki cabang.
Jika kaidah induk memiliki cabang, maka penelusuran dilanjutkan ke cabang IF-TRUE untuk
memeriksa perkecualian positif dari kaidah induk. Jika kondisi kaidah terpenuhi, maka
konklusi kasus adalah konklusi kaidah tersebut. Jika kondisi kaidah tidak terpenuhi, maka
konklusi kasus adalah konklusi kaidah sebelumnya yang dipenuhi dan penelusuran
dilanjutkan ke cabang IF-FALSE untuk memeriksa perkecualian negatif dari kaidah induk.
II-4

Penelusuran berakhir jika simpul yang dievaluasi tidak memiliki cabang dan konklusi akhir
sistem adalah konklusi kaidah terakhir yang dipenuhi pada jalur inferensi.

Gambar II-2 Contoh inferensi dengan RDR

Pada Gambar II-2 di atas, digunakan kasus [a, b, e, f, g, i] sebagai kasus masukan. Proses
inferensi dimulai dengan mengevaluasi kaidah 0.0 terhadap kasus masukan. Kondisi true
dipenuhi untuk semua kasus, sehingga konklusi awal sistem adalah konklusi kaidah 0.0 yaitu
none. Proses inferensi dilanjutkan dengan mengevaluasi cabang IF-TRUE yaitu kaidah 1.1
dengan kondisi (a,b). Karena kondisi (a,b) terpenuhi, maka konklusi sementara sistem
berubah dari none menjadi kelas 1 dan penelusuran dilanjutkan pada cabang IF-TRUE.
Kaidah 2.2 mempunyai kondisi (c) yang tidak terpenuhi oleh kasus, sehingga penelusuran
selanjutnya ke cabang IF-FALSE dan konklusi sistem tetap kelas 1. Kaidah 4.5 pada cabang
IF-FALSE dengan kondisi (e,g) dipenuhi oleh kasus, sehingga konklusi sistem berubah
menjadi konklusi kaidah 4.5 yaitu kelas 5. Penelusuran berhenti pada kaidah 4.5 yang sudah
tidak mempunyai cabang.
Dengan demikian jalur inferensi untuk kasus [a, b, e, f, g, i] adalah [(kaidah 0.0, none),
(kaidah 1.1, kelas 1), (kaidah 2.2, kelas 1), (kaidah 4.5, kelas 5) ]

II.1.3 Pengembangan Manual pada RDR


Pengembangan RDR menyangkut proses akuisisi pengetahuan untuk meningkatkan
performansi sistem. Akuisisi pengetahuan akan menambahkan pengetahuan baru pada RDR
II-5

dan dilakukan apabila terjadi kesalahan klasifikasi terhadap kasus masukan sehingga sistem
memberikan solusi yang salah. Untuk itu, diperlukan solusi yang benar terhadap kasus
masukan tersebut dan kondisi untuk kaidah yang akan ditambahkan.
Jika konklusi kelas 5 yang diberikan oleh sistem pada struktur RDR yang ditunjukkan oleh
gambar Gambar II-2 dinyatakan salah, dengan konklusi yang benar adalah kelas 3, maka
kaidah baru dapat ditambahkan sebagai perkecualian positif dari kaidah 4.5. Dalam hal ini,
kondisi kasus adalah memenuhi kondisi pada kaidah.
Pemilihan kondisi untuk membentuk kaidah baru dilakukan berdasarkan pada perbedaan
kondisi antara kasus masukan dan kasus kunci pada kaidah terakhir yang dipenuhi pada jalur
inferensi. Berdasarkan contoh di atas, daftar perbedaan tersebut adalah sebagai berikut :

kasus kunci kaidah 4.5 : [a, b, e, g]


kasus masukan : [a, b, e, f, g, i]
daftar perbedaan : [f, i]
Kondisi untuk penambahan kaidah baru dipilih dari daftar perbedaan yang diperoleh, salah
satu kondisi atau kombinasinya. Kondisi yang dipilih dapat membentuk suatu kaidah menjadi
bersifat generik maupun spesifik. Untuk kaidah bersifat generik, maka penanganan terhadap
kasus-kasus lain yang tercakup dilakukan dengan menambahkan cabang IF-TRUE
baru,sehingga kaidah ini dapat mencakup lebih banyak kasus. Kaidah bersifak spesifik jika
kondisi yang dipilih lebih banyak, sehingga kaidah jenis ini hanya dapat menangani kasus
dengan kondisi lebih spesifik. Kasus yang tercakup di dalamnya juga akan berjumlah lebih
sedikit.
Untuk kasus di atas, maka kedua kondisi dari daftar perbedaan dipilih sebagai kondisi pada
kaidah baru. Sehingga struktur pohon RDR dari gambar di atas menjadi seperti pada Gambar
II-3.
II-6

Gambar II-3 Contoh akuisisi pengetahuan pada RDR

II.2 Pembelajaran Induct pada RDR [GAI92]


Akusisi pengetahuan pada RDR secara manual untuk membangun pohon kaidah awal
dianggap tidak praktis [LIT96]. Oleh karena itu, dikembangkan suatu metode pembelajaran
Induct untuk membangun RDR secara otomatis, yang kemudian dikenal sebagai
Induct/Ripple-Down Rules (RDR) [GAI92].

II.2.1 Definisi Induct


Induct didefinisikan sebagai :

suatu metode pembelajaran yang menghasilkan ruang hipotesa H dari sekumpulan instans
X untuk mendefinisikan konsep target c. Setiap hipotesa h dalam H menunjukkan sebuah
fungsi boolean terhadap X, yaitu h : X  {0,1}. Tujuan pembelajaran inductive adalah
untuk memperoleh sebuah hipotesa h sedemikian sehingga h(x) = c(x) untuk semua x
dalam X [MIT97].
Dalam pembelajaran inductive, dilakukan observasi terhadap sekumpulan data atribut-nilai
dari suatu konsep, yang biasa disebut sebagai data latih. Pembelajaran akan
mengidentifikasikan kombinasi atribut-nilai yang mendefinisikan konsep dari data. Hasil
II-7

pendefinisian konsep ini kemudian digunakan untuk mengklasifikasikan data baru, atau data
uji dengan menggunakan asumsi bahwa hipotesa terbaik yang sesuai dengan data uji adalah
hipotesa terbaik yang sesuai pada data latih. Oleh karena itu, kualitas data latih sangat
mempengaruhi kualitas pembelajaran yang dihasilkan.
Sebuah inductive system dapat digambarkan sebagai sebuah sistem yang menerima masukan
training example dengan kelas terdefinisi dan instance baru yang belum terklasifikasi.
Inductive system menggunakan beberapa pendekatan untuk membangun ruang hipotesa H
yang mendeskripsikan training example. Sistem mengklasifikasikan instance baru
menggunakan H, menghasilkan keluaran berupa klasifikasi instance baru atau nilai ”don’t
know”.
Pendekatan Induct pada RDR menggunakan metodologi statistik untuk menghasilkan kaidah
dari data. Penelitian dilakukan terhadap data pada [GAI89] dan menghasilkan sistem yang
menurunkan kaidah-kaidah dengan eksepsi, yang merupakan struktur dari RDR. Ekstensi
Induct ke RDR menggunakan statistical decision procedure untuk membangkitkan kaidah.
Prosedur statistik tersebut akan dipanggil secara rekursif pada data yang tersisa untuk
membangkitkan kaidah IF-TRUE dan IF-FALSE.

II.2.2 Pembangkitan Premis Kaidah


Untuk membangun sebuah rule lengkap, klausa penyusun premis dibangkitkan satu demi
satu. Premis terdiri atas klausa-klausa yang harus dipenuhi oleh data sebagai kondisi dari
kelas data. Terpenuhinya premis akan mengklasifikasikan data latih ke dalam klasifikasi kelas
yang sesuai. Pembangkitan premis dalam Induct/RDR menggunakan pertimbangan bahwa
premis akan menghasilkan rule yang sensitif terhadap data uji, dan mengklasifikasikan data
latih dengan tepat.
Gambar II-4 menunjukkan analisa kesalahan yang memberikan control statistik dari algoritma
yang digunakan dalam Induct. Data dibagi ke dalam beberapa diagnosa yaitu D0, D1, D2, D3,
dan sebagainya. Diagnosa D0 merupakan diagnosa target yang digunakan oleh Induct untuk
mendefinisikan sebuah kaidah. Elips luar menunjukkan cakupan kasus untuk kaidah sebelum
diubah, yaitu meliputi kasus-kasus dengan diagnosa D0, D8, D9, D12, D15, dan D18. Elips
dalam menunjukkan cakupan kasus jika ditambahkan klausa pada kaidah, yaitu meliputi
kasus-kasus dengan diagnosa D0, D8, dan D9. Hal ini menunjukkan adanya pengurangan
dalam jumlah kasus yang dicakup oleh kaidah jika ditambahkan klausa terhadap kaidah
tersebut, yang membuat suatu kaidah menjadi semakin spesifik terhadap kasus tertentu.
II-8

Gambar II-4 Error analysis untuk statistical control algoritma Induct [GAI92]

Pembangkitkan premis untuk kaidah RDR secara inductive dapat dilakukan dengan langkah-
langkah sebagai berikut:
1. klasifikasi yang paling sering muncul dari data dipilih sebagai konklusi target.
2. premis awal diinisialisasi tanpa mempunyai klausa. Premis ini akan meluluskan
semua kasus karena tidak ada kondisi khusus yang harus dipenuhi.
3. untuk setiap kombinasi atribut-nilai dilakukan pengujian secara iteratif terhadap
kemungkinannya sebagai klausa. Pasangan atribut-nilai yang terbaik dipilih sebagai
klausa berdasarkan pengujian statistik.
4. pengambilan keputusan untuk menambahkan klausa dilakukan dengan menggunakan
pengujian statistik yang sama dan pertimbangan apakah penambahan klausa terpilih
tersebut dapat meningkatkan performansi kaidah atau sebaliknya. Jika terdapat
peningkatan, maka proses kembali ke langkah 3. Sedangkan jika tidak terdapat
peningkatan, proses berhenti dengan kaidah yang dihasilkan sebagai keluaran.
Proses pembangkitan premis melibatkan suatu fungsi statistik untuk memilih klausa terbaik
yang akan melakukan pemangkasan (pruning) pada setiap rule yang sudah lengkap.
Pembangkitan suatu rule secara lengkap memunculkan kemungkinan overfitting terhadap
training set. Untuk mengantisipasi hal ini, penghapusan klausa dilakukan dari bagian
belakang sebuah rule lengkap. Penghapusan dilakukan sampai kualitas rule mencapai nilai
maksimal, dan berhenti jika penghapusan dapat memperburuk kualitas rule. Pengukuran
kualitas rule ini melibatkan fungsi probabilitas untuk mengukur kemungkinan rule terpilih
secara acak (random) [WIT00]. Penjelasan mengenai fungsi-fungsi statistik tersebut diberikan
pada sub-bab II.2.3.
II-9

II.2.3 Pemilihan Klausa Terbaik


Pemilihan klausa terbaik melibatkan suatu pengujian statistik untuk memilih pasangan
atribut-nilai sebagai klausa pada premis rule. Pasangan atribut-nilai yang dipilih adalah yang
mempunyai nilai probabilitas terkecil untuk terpilih secara acak. Nilai probabilitas diperlukan
untuk melakukan pembandingan antara pemilihan secara acak dengan pemilihan oleh rule
yang dibangun. Pembandingan dilakukan pada derajat generalitas yang sama.
Derajat generalitas dari suatu rule merupakan cakupan rule terhadap kasus. Kasus yang dapat
tercakup oleh rule adalah kasus yang memenuhi kondisi rule. Dua buah rule dengan derajat
generalitas yang sama dapat diartikan bahwa kondisi-kondisi dalam masing-masing rule yang
harus dipenuhi oleh kasus adalah sama dan jumlah kasus yang dapat tercakup oleh rule adalah
sama.
Dasar pengujian statistik untuk pemilihan klausa terbaik ditunjukkan dalam Diagram Venn
pada Gambar II-5 di bawah ini. Diberikan himpunan semesta entitas E, predikat target Q, dan
himpunan predikat uji S. S akan digunakan untuk membangun rule set yang dapat
menghasilkan kesimpulan berupa predikat target jika diketahui nilai dari predikat uji. S akan
memilih entitas e dari E yang benilai benar untuk Q dan membandingkan proses pemilihan
oleh rule R dengan pemilihan secara acak.

Gambar II-5 Dasar untuk pengujian statistik pada Induct[GAI92]

Untuk mendefinisikan probabilitas penyeleksian secara acak dari derajat generalitas yang
sama, diketahui Q sebagai entitas relevan dalam E dengan Q(e) terpenuhi (Persamaan II-1), S
entitas terpilih dalam E dengan S(e) terpenuhi (Persamaan II-2), dan C entitas benar dalam E
dengan Q(e) dan S(e) terpenuhi (Persamaan II-3).
II-10

Persamaan II-1

Persamaan II-2

Persamaan II-3

Kardinalitas dari E, Q, S, dan C masing-masing dinyatakan dengan e, q, s, dan c. Probabilitas


terpilihnya sebuah entitas yang memenuhi Q (e yang bernilai benar untuk Q) dari himpunan
entitas E secara random, dinyatakan dengan notasi p, adalah :

Persamaan II-4

dengan q adalah jumlah kasus dengan kelas Q, e adalah jumlah seluruh kasus dalam data.
Probabilitas suatu rule yang terpilih secara acak untuk memilih s dan memperoleh sejumlah c
atau lebih entitas bernilai benar, dinyatakan dengan notasi r, didefinisikan dengan
menjumlahkan distribusi binomial standar untuk memperoleh Persamaan II-5:

Persamaan II-5

dengan s adalah jumlah kasus dengan pasangan atribut-nilai yang diuji, i adalah jumlah kasus

dengan kelas Q dari pasangan atribut-nilai yang diuji. Tanda kurung dalam menyatakan

fungsi kombinatorial dengan .


Penggunaan r untuk mengukur kualitas suatu rule adalah dengan mengambil pasangan
atribut-nilai yang mempunyai nilai r terkecil, yaitu pasangan atribut-nilai yang mempunyai
probabilitas terkecil untuk terpilih secara acak. Kualitas suatu rule ditentukan dari nilai
probabilitas ini, nilai r yang besar menunjukkan buruknya kualitas rule tersebut. Nilai
probabilitas r membandingkan performansi antara pemilihan acak dan pemilihan oleh rule
pada derajat generalitas yang sama [WIT00].
Nilai atribut missing value dalam pengujian dapat diperhitungkan sebagai false positive (salah
yang memang bernilai salah). Kontribusi missing value dalam false positive penting dalam
akuisisi pengetahuan karena pakar dapat memasukkan conjunctive rule yang tidak lengkap
yang akan dianggap sebagai entitas dengan missing value. Induct kemudian membangkitkan
set kaidah yang sama atau ekivalen lebih kecil.
II-11

Algoritma untuk memilih klausa terbaik yang digunakan dalam Induct tersebut oleh [LIT96]
didefinisikan di bawah ini.
BestClause(Class,Attr,Training_Set)
{Fungsi ini menghasilkan klausa terbaik untuk ditambahkan ke dalam
kaidah}

loop
tmpTerm  term dengan atribut A nilai V yang akan menghasilkan
nilai r minimal jika ditambahkan ke kaidah
clause  clause + tmpTerm
hapus A dari attr
z  jumlah example dalam trainingSet dengan kelas=class dan
clause bernilai true
s  jumlah example dalam trainingSet dengan clause bernilai
true
if z=s then stop
end loop
while r(clause) > r(clause – lastTerm) do
clause  clause – lastTerm
return clause

end BestClause
Algoritma II-1 Pemilihan Klausa Terbaik [LIT96]

Fungsi BestClause melakukan pemangkasan (pruning) pada rule yang telah lengkap.
Pemangkasan ini dilakukan dari bagian belakang, dan akan berhenti jika terjadi penurunan
kualitas rule yaitu peningkatan nilai r. Fungsi BestClause akan mengembalikan klausa yang
mempunyai nilai r terkecil.
Pemangkasan setelah rule lengkap ini dilakukan untuk mengantisipasi terjadinya overfitting,
seperti telah dinyatakan sebelumnya. Di samping fakta ini, pemangkasan yang dihentikan
pada saat nilai r meningkat dapat menjadi keputusan yang tidak tepat. Misalnya ketika
pemangkasan dihentikan pada klausa ketiga dari belakang karena pada klausa ini nilai r
meningkat. Sedangkan pada klausa kelima, nilai r lebih kecil daripada klausa ketiga, dan
mencapai nilai minimal. Oleh karena itu, pada pemangkasan sampai dengan klausa kelima,
dapat diperoleh rule yang lebih baik daripada rule yang diperoleh pada pemangkasan sampai
dengan klausa ketiga. Meskipun demikian, metode ini dianggap dapat menghasilkan rule
yang cukup baik dengan komputasi yang lebih rendah.
Pada Gambar II-4, himpunan semesta E merupakan data yang diperlukan, predikat target Q
adalah D0, dan entitas terpilih S berada di dalam elips luar. Pemilihan terhadap klausa terbaik
pada setiap stage berdasarkan pada nilai r (Persamaan II-5), dengan mencari nilai r minimum.
Permasalahan pada Induct/RDR adalah memilih antara tetap mempertahankan kaidah yang
bersifat lebih umum sesuai dengan elips luar atau menambahkan klausa sesuai dengan elips
dalam. Pada Gambar II-4, elips luar tidak hanya mencakup D0 tetapi juga D7, D8, D9, dan
II-12

sebagainya. Pada struktur RDR, diagnosa D7, D8, D9, dan sebagainya diperlakukan sebagai
eksepsi.
Kemampuan menangani eksepsi yang dimiliki Induct/RDR tidak berpengaruh pada akurasi
dari BP final. Pengaruhnya lebih pada struktur BP yaitu kecenderungan terhadap penggunaan
kaidah yang umum dengan banyak eksepsi daripada kaidah yang lebih spesifik dengan sedikit
eksepsi. Hal ini berpengaruh pada ukuran BP secara kuantitatif yaitu jumlah kaidah dan
klausa yang terlibat.

II.2.4 Pembangkitan Kaidah RDR


RDR menstrukturkan dirinya sendiri dengan menggunakan metode Induct berdasarkan nilai
probabilitas r untuk memperoleh rule dengan kualitas yang baik. Algoritma yang digunakan
untuk pembangkitan rule dari data latih dalam [GAI95] dapat dideskripsikan sebagai berikut :
1. Kelas yang paling besar kejadiannya dalam data dipilih sebagai kelas default.
2. Kelas dengan kejadian paling besar berikutnya dipilih sebagai kelas target.
Berdasarkan nilai r dari setiap pasangan atribut-nilai, dibangun eksepsi positif yaitu
rule R untuk kelas target. Subset data yang memenuhi kondisi rule dipisahkan dari
data latih. Jika pada subset ini terdapat lebih dari satu kelas, maka proses diulang
secara rekursif. Data yang memenuhi R dihapus dari data latih.
3. Untuk data yang tidak memenuhi kondisi R, dibangun rule alternatif yaitu eksepsi
negatif dari rule R.
4. Proses diulang secara rekursif pada data set yang tersisa, dan berhenti jika pada data
set hanya terdapat satu kelas.
Pembangkitan struktur lengkap RDR dengan metode Induct ini untuk selanjutnya disebut
Induct/RDR. Untuk permasalahan dalam Gambar II-4, pembangkitan rule dengan Induct/RDR
dideskripsikan sebagai berikut. Premis yang terkait dengan elips luar dipilih untuk
membangkitkan rule. Algoritma Induct secara rekursif memanggil dirinya dua kali.
Pemanggilan pertama untuk membangkitkan cabang IF-TRUE untuk data yang berada pada
elips luar. Pemanggilan yang kedua untuk membangkitkan cabang IF-FALSE untuk data di
luar elips. Untuk membangkitkan cabang IF-TRUE, D0 sebagai diagnosis yang mempunyai
kejadian terbanyak dalam data menjadi diagnosis default sehingga target untuk pembangkitan
rule berikutnya adalah diagnosis yang mempunyai kejadian terbanyak berikutnya. Untuk
membangkitkan cabang IF-FALSE, pemilihan diagnosis yang dijadikan sebagai default
dilakukan dengan cara yang sama.
Algoritma Induct/RDR didefinisikan sebagai berikut :
II-13

BuildRDR(Default_Class,Attrs,Training_Set)
{Fungsi ini menghasilkan kaidah RDR dengan struktur data terdiri atas
komponen Class,Clause,ifTrue,ifFalse}

untuk Class = (set of class values)


jika Class = Default_Class
TempClause  BestClause(Class,Attr,Training_Set)
jika r(TempClause) < r(T.Clause)
T.Clause  TempClause
T.Class  Class
Covered  himpunan semua entitas e dalam Training_Set dengan
T.Clause(e) bernilai benar
NotCovered  himpunan semua entitas e dalam Training_Set dengan
T.Clause(e) bernilai salah
jika e berada dalam Covered and e.Class = Class
hapus dari Attrs semua atribut yang digunakan dalam T.Clause
T.ifTrue  BuildRDR(Class,Attrs,Covered)
restore atribut yang dihapus ke Attrs
jika e berada dalam NotCovered dan e.Class = Class
hapus dari Attrs semua atribut yang digunakan dalam T.Clause
T.ifFalse  BuildRDR(Default_Class,Attrs,NotCovered)
return T
Algoritma II-2 Pembangkitan RDR dengan Induct [LIT96]

Dalam algoritma pembangkitan RDR ini digunakan fungsi BestClause untuk menentukan
klausa yang akan digunakan dalam membangun rule untuk mengklasifikasikan seluruh entitas
e dalam Training_Set. Untuk membangun struktur RDR awal, sebuah kelas yang paling
banyak muncul dalam data dipilih sebagai kelas default pada top-level rule. Kemudian
algoritma membangun rule yang memiliki nilai r terkecil menggunakan fungsi BestClause
untuk kelas selain kelas default. Dalam hal ini, kelas yang dimaksud adalah kelas dengan
kejadian terbanyak dalam data setelah kelas default. Training_Set dipisahkan menjadi dua
subset, yaitu Covered jika kondisi klausa untuk rule bernilai True; dan Not_Covered jika
kondisi klausa bernilai False. Jika salah satu dari kedua subset ini masih mengandung lebih
dari satu kelas, maka BuildRDR memanggil dirinya secara rekursif pada subset tersebut.
Pemanggilan pada subset Covered menggunakan kelas pada rule, sedangkan pemanggilan
pada subset Not_Covered menggunakan kelas default. Algoritma ini menghasilkan struktur
RDR.

Anda mungkin juga menyukai