1
PENDAHULUAN Latar Belakang Organisasi Kesehatan Dunia (WHO) memperkirakan, bahwa 177 juta penduduk dunia mengidap penyakit diabetes melitus atau biasa disingkat diabetes. Jumlah ini akan terus meningkat hingga melebihi 300 juta pada tahun 2025. Dr Paul Zimmet, direktur dari International Diabetes Institute (IDI) di Victoria, Australia, meramalkan bahwa diabetes akan menjadi epidemi yang paling dahsyat dalam sejarah manusia. Hasil survey Organisasi Kesehatan Dunia (WHO) juga menyatakan bahwa jumlah penderita kencing manis (diabetes mellitus) di Indonesia sekitar 17 juta orang (8,6% dari jumlah penduduk) atau menduduki urutan terbesar ke-4 setelah India, Cina dan Amerika Serikat. Perkembangan yang cepat dalam teknologi pengumpulan dan penyimpanan data telah memudahkan suatu organisasi untuk mengumpulkan sejumlah data berukuran besar. Kondisi ini terjadi pada sebuah rumah sakit yang mempunyai beribu-ribu record data pasien dan jenis penyakitnya, misalnya kumpulan data diabetes yang terkait dengan hasil pemeriksaan laboratorium dari pasien rumah sakit. Data berukuran besar tersebut seringkali dibiarkan menggunung tanpa digunakan secara maksimal. Hal ini disebabkan keterbatasan pengguna komputer untuk mengolah data tersebut menjadi sebuah informasi yang berguna. Padahal jika dianalisis lebih dalam akan menghasilkan informasi atau pengetahuan yang penting dan berharga sebagai penunjang pengambilan keputusan. Data mining merupakan proses ekstraksi informasi atau pola penting dalam basis data berukuran besar (Han & Kamber 2001). Pada penelitian ini akan diterapkan salah satu teknik dalam data mining, yaitu klasifikasi terhadap data diabetes. Klasifikasi merupakan salah satu metode dalam data mining untuk mengetahui label kelas dari suatu record dalam data. Metode yang digunakan dalam penelitian ini yaitu metode klasifikasi dengan fuzzy decision tree. Penggunaan teknik fuzzy memungkinkan dilakukan penentuan suatu objek yang dimiliki oleh lebih dari satu kelas. Dengan menerapkan teknik data mining pada data diabetes diharapkan dapat ditemukan aturan klasifikasi yang dapat digunakan untuk mengetahui potensi seseorang terserang penyakit diabetes.
Tujuan Penelitian Tujuan dari penelitian ini adalah : 1. Menerapkan salah satu teknik data mining yaitu klasifikasi menggunakan metode fuzzy decision tree. 2. Menemukan aturan klasifikasi pada data diabetes yang menjelaskan dan membedakan kelas-kelas atau konsep sehingga dapat digunakan untuk mengetahui potensi penyakit diabetes berdasarkan nilai dari atribut lain yang diketahui. 3. Membangun aplikasi sederhana untuk membuat model atau aturan-aturan klasifikasi. Ruang Lingkup Penelitian Ruang lingkup penelitian dibatasi pada: 1. Membangun sebuah model untuk mengetahui potensi pasien terserang diabetes menggunakan data pemeriksaan lab pasien dari sebuah rumah sakit yang meliputi pemeriksaan GLUN (Glukosa Darah Puasa), GPOST (Glukosa Darah 2 Jam Pasca Puasa), Tg (Trigliserida), HDL (Kolesterol HDL), serta diagnosa pasien berdasarkan nilai GLUN, GPOST, HDL, dan TG. 2. Teknik yang digunakan adalah salah satu teknik dalam data mining yaitu teknik klasifikasi dengan menggunakan metode decision tree. Untuk menangani ketidakpastian dan ketidaktepatan, pendekatan fuzzy digunakan. 3. Penelitian dilakukan dengan mengimplementasikan salah satu teknik fuzzy decision tree yaitu Fuzzy ID3 (Iterative Dichotomiser 3) Decision Tree pada data hasil pemeriksaan lab pasien. Manfaat Penelitian Model yang dihasilkan pada penelitian ini diharapkan dapat digunakan oleh pihak yang berkepentingan untuk mengetahui potensi seseorang atau pasien terserang penyakit diabetes, sehingga terjadinya penyakit ini pada seseorang dapat diketahui sedini mungkin dan dapat dilakukan tindakan antisipasi.
TINJAUAN PUSTAKA Knowledge Data Discovery (KDD) Knowledge discovery in databases (KDD) adalah proses menemukan informasi yang berguna dan pola-pola yang ada dalam data (Goharian & Grossmann 2003). KDD
2
merupakan sebuah proses yang terdiri dari serangkaian proses iteratif yang terurut dan data mining merupakan salah satu langkah dalam KDD (Han & Kamber 2001). Pada Gambar 1 dapat dilihat tahapan proses KDD secara berurut. Tahapan proses KDD menurut Han & Kamber (2001), yaitu : 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 mengambil data yang relevan digunakan untuk proses analisis. 4. Transformasi data Proses mentransformasikan atau menggabungkan data ke dalam bentuk yang tepat untuk dimining. 5. Data mining Data mining merupakan proses yang penting dimana metode-metode cerdas diaplikasikan untuk mengekstrak pola-pola dalam data. 6. Evaluasi pola Evaluasi pola diperlukan untuk mengidentifikasi beberapa pola-pola yang menarik yang merepresentasikan pengetahuan. 7. Presentasi pengetahuan Penggunaan visualisasi dan teknik representasi untuk menunjukkan pengetahuan hasil peggalian gunung data kepada pengguna. Pattern Evaluation Data mining Task-relevant
Data Data Warehouse Data Cleaning
Selection and Transformation
Data Integration Databases
Gambar 1 Tahapan proses KDD (Han & Kamber 2001) Data Mining Data mining merupakan proses ekstraksi informasi data berukuran besar (Han dan Kamber 2001). Data mining merupakan
keseluruhan proses mengaplikasikan komputer dan bermacam-macam teknik untuk menemukan informasi dari sekumpulan data. Dari sudut pandang analisis data, data mining dapat diklasifikasi menjadi dua kategori, yaitu descriptive data mining dan predictive data mining. Descriptive data mining menjelaskan sekumpulan data dalam cara yang lebih ringkas. Ringkasan tersebut menjelaskan sifatsifat yang menarik dari data. Predictive data mining menganalisis data dengan tujuan mengkonstruksi satu atau sekumpulan model dan melakukan prediksi perilaku dari kumpulan data yang baru. Aplikasi data mining telah banyak diterapkan pada berbagai bidang, seperti analisis pasar dan manajemen, analisis perusahaan dan manajemen resiko, telekomunikasi, asuransi dan keuangan. Klasifikasi Klasifikasi adalah proses menemukan model (fungsi) yang menjelaskan dan membedakan kelas-kelas atau konsep, dengan tujuan agar model yang diperoleh dapat digunakan untuk mengetahui kelas atau objek yang memiliki label kelas yang tidak diketahui. Klasifikasi termasuk ke dalam kategori predictive data mining. Model yang diturunkan didasarkan pada analisis dari training data. Teknik klasifikasi adalah pendekatan sistematis untuk pembuatan model klasifikasi (classifier) dari sebuah data set input. Proses klasifikasi dibagi menjadi dua fase, yaitu learning dan testing (Han & Kamber 2001). Pada fase learning, sebagian data yang telah diketahui kelas datanya (training set) digunakan untuk membentuk model. Selanjutnya pada fase testing, model yang sudah terbentuk diuji dengan sebagian data lainnya (test set) untuk mengetahui akurasi dari model tersebut. Jika akurasinya mencukupi maka model tersebut dapat dipakai untuk prediksi kelas data yang belum diketahui. Himpunan Fuzzy Konsep logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh dari Universitas California pada bulan Juni 1965. Logika fuzzy merupakan generalisasi dari logika klasik yang hanya memiliki dua nilai keanggotaan 0 dan 1. Dalam logika fuzzy nilai kebenaran suatu pernyataan berkisar dari sepenuhnya benar ke sepenuhnya salah. Inti dari himpunan fuzzy yaitu fungsi keanggotaan yang menggambarkan hubungan antara
3
domain himpunan fuzzy dengan nilai derajat keanggotaan. Dengan teori himpunan fuzzy suatu objek dapat menjadi anggota dari banyak himpunan dengan derajat keanggotaan yang berbeda dalam masing-masing himpunan. Derajat keanggotaan menunjukkan nilai keanggotaan suatu objek pada suatu himpunan. Nilai keanggotaan ini berkisar antara 0 sampai 1 (Cox 2005). Linguistic Variable (Peubah Linguistik) Linguistic variable merupakan peubah verbal yang dapat digunakan untuk memodelkan pemikiran manusia yang diekspresikan dalam bentuk himpunan fuzzy. Peubah linguistik dikarakterisasi oleh quintaple (x, T(x), X, G, M) dengan x adalah nama peubah, T(x) adalah kumpulan dari linguistic term, G adalah aturan sintaks, M adalah aturan semantik yang bersesuaian dengan setiap nilai peubah linguistik. Sebagai contoh, jika umur diinterpretasikan sebagai peubah linguistik, maka himpunan dari linguistic term T(umur) menjadi : T(umur) = {sangat muda, muda, tua} Setiap term dalam T(umur) dikarakterisasi oleh himpunan fuzzy, X menunjukkan nilai interval x. Aturan semantik menunjukkan fungsi keanggotaan dari setiap nilai pada himpunan linguistic term (Cox 2005). Linguistic Term Linguistic term didefinisikan sebagai kumpulan himpunan fuzzy yang didasarkan pada fungsi keanggotaan yang bersesuaian dengan peubah linguistik (Au & Chan 2001). Jika D kumpulan dari record yang terdiri dari kumpulan atribut I = {I 1 ,..., I n } , dengan I v , v = 1,..., n . Atribut I dapat berupa atribut numerik atau kategorikal. Untuk setiap record d elemen D, d [I v ] menotasikan nilai i dalam record d untuk atribut I v . Kumpulan linguistic term dapat didefinisikan pada seluruh domain dari atribut kuantitatif. L vr , r = 1,..., s v menotasikan linguistic term yang
I v , sehingga himpunan fuzzy dapat didefinisikan untuk setiap L vr . berasosiasi dengan atribut
Himpunan fuzzy, L vr , r = 1,..., s v didefinisikan sebagai :
⎧ ∑ dom( I ) µ Lvr (iv ) jika I diskret v v iv ⎪⎪ Lvr = ⎨ µ L (i ) ⎪∫ dom( I v ) vr v jika I v kontinu ⎪⎩ iv untuk
semua
dom( I v ) = {iv1 ,..., ivn }.
iv ∈ dom( I v ) ,
dengan
Derajat keanggotaan dari nilai iv ∈ dom( I v ) dengan beberapa linguistic term Lvr dinotasikan oleh µ Lvr . Fuzzy Decision Tree (FDT) 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, yang mana fungsi pembelajaran direpresentasikan oleh sebuah decision tree (Liang 2005). Decision tree sama dengan satu himpunan aturan IF…THEN. Setiap path dalam tree dihubungkan dengan sebuah aturan, yang mana premis terdiri dari sekumpulan nodenode yang ditemui, dan kesimpulan dari aturan terdiri dari kelas yang terhubung dengan leaf dari path (Marsala 1998). Dalam pohon keputusan, leaf node diberikan sebuah label kelas. Non-terminal node, yang terdiri dari root dan internal node lainnya, mengandung kondisi-kondisi uji atribut untuk memisahkan record yang memiliki karakteristik yang berbeda. Edgeedge dapat dilabelkan dengan nilai-nilai numeric-symbolic. Sebuah atribut numericsymbolic adalah sebuah atribut yang dapat bernilai numeric ataupun symbolic yang dihubungkan dengan sebuah variabel kuantitatif. Sebagai contoh, ukuran seseorang dapat dituliskan sebagai atribut numericsymbolic: dengan nilai kuantitatif, dituliskan dengan “1,72 meter”, ataupun sebagai nilai numeric-symbolic seperti “tinggi” yang berkaitan dengan suatu ukuran (size). Nilainilai seperti inilah yang menyebabkan perluasan dari decision tree menjadi fuzzy decision tree (Yuan dan Shaw 1995). Penggunaan teknik fuzzy memungkinkan untuk mengetahui suatu objek yang dimiliki oleh lebih dari satu kelas. Fuzzy decision tree memungkinkan untuk menggunakan nilai-nilai numeric-symbolic selama konstruksi atau saat mengklasifikasikan kasus-kasus baru. Manfaat
4
dari teori himpunan fuzzy dalam decision tree ialah meningkatkan kemampuan dalam memahami decision tree ketika digunakan atribut-atribut kuantitatif. Bahkan, penggunaan teknik fuzzy dapat meningkatkan ketahanan saat melakukan klasifikasi kasuskasus baru (Marsala 1998). Fuzzy ID3 Decision Tree Algoritma ID3 (Iterative Dichotomiser 3) pertama kali diperkenalkan oleh Quinlan. Algoritma ini menggunakan teori informasi untuk menentukan atribut mana yang paling informatif, namun ID3 sangat tidak stabil dalam melakukan penggolongan berkenaan dengan gangguan kecil pada data pelatihan. Logika fuzzy dapat memberikan suatu peningkatan dalam melakukan penggolongan pada saat pelatihan (Liang 2005). Algoritma fuzzy ID3 merupakan algoritma yang efisien untuk membuat suatu fuzzy decision tree. Algoritma fuzzy ID3 adalah sebagai berikut (Liang 2005):
1.
Create a Root node that has a set of fuzzy data with membership value 1.
2.
If a node t with a fuzzy set of data D satisfies the following conditions, then it is a leaf node and assigned by the class name. •
The proportion of class Ck is greater than or equal to θr,
| D Ci | ≥ θr |D| • • 3.
the number of less than θn
•
Replace D by Dj (j=1,2,…,m) and repeat from 2 recursively.
Fuzzy Entropy dan Information Gain Information gain adalah suatu nilai statistik yang digunakan untuk memilih atribut yang akan mengekspansi tree dan menghasilkan node baru pada algoritma ID3. Suatu entropy dipergunakan untuk mendefinisikan nilai information gain. Entropy dirumuskan sebagai berikut:
H s ( S ) = ∑i − Pi * log 2 ( Pi ) N
(1)
dengan Pi adalah rasio dari kelas Ci pada himpunan contoh S = {x1,x2,…,xk}.
Pi
∑ =
k j =1
x j ∈ Ci
(2)
S
Terdapat 2 kasus kasus khusus yang terjadi pada klasifikasi boolean, yang pertama adalah jika semua anggota dari himpunan S memiliki tipe yang sama, maka nilai entropy adalah 0 (nol). Hal ini berarti tidak terjadi ketidakpastian klasifikasi.
H s (S ) = −1* log2 (1) − 0 * log2 (0) = 0 Kedua, jika jumlah contoh positif sama dengan jumlah contoh negatif, maka nilai entropy adalah 1 (satu), hal ini menandakan terjadi ketidakpastian klasifikasi maksimum. H s ( S ) = −0.5 * log 2 (0.5) − 0.5 * log 2 (0.5) = 1
a
data
set
there are no attributes more classifications
is for
If a node D does no satisfy the above conditions, then it is not a leaf-node. And an new sub-node is generated as follow: •
For Ai’s (i=1,…,L) calculate the information gain, and select the test attribute Amax that maximizes them.
•
Devide D into fuzzy subset D1,…,Dm according to Amax, where the membership value of the data in Dj is the product of the membership value in D and the value of Fmax,j of the value of Amax in D.
•
that connect between the nodes tj and t.
Generate new node ti,…,tm for fuzzy subsets D1,…,Dm and label the fuzzy sets Fmax,j to edges
Untuk melakukan perluasan atribut, yang didasarkan pada data dari himpunan contoh, terlebih dahulu harus didefinisikan ukuran standar information gain. Information gain digunakan sebagai ukuran seleksi atribut, yang merupakan hasil pengurangan entropy dari himpunan contoh setelah membagi ukuran himpunan contoh dengan jumlah atributnya. Information gain untuk atribut A didefinisikan sebagai berikut: G( S , A) = H ( S ) −
∑
v∈Values ( A)
dengan bobot Wi =
| Sv | H ( S v ) (3) |S|
| Sv | adalah rasio dari |S|
data dengan atribut v pada himpunan contoh. Pada himpunan data fuzzy, terdapat penyesuaian rumus untuk menghitung nilai
5
entropy untuk atribut dan information gain karena adanya ekspresi data fuzzy. Berikut adalah persamaan untuk mencari nilai fuzzy entropy dari keseluruhan data: H f ( S ) = H s ( S ) = ∑i − Pi * log 2 ( Pi ) N
(4)
Untuk menentukan fuzzy entropy dan information gain dari suatu atribut A pada algoritma fuzzy ID3 (FID3) digunakan persamaan sebagai berikut: H f ( S , A) = −∑i =1 C
∑
N j
µ ij
S
G f ( S ) = H f ( S ) − ∑v ⊆ A N
log 2
∑
N j
µ ij
S
| Sv | * H f ( S v , A) |S|
(5) (6)
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 (Liang 2005). Threshold Jika proses learning dari FDT dihentikan sampai semua data contoh pada masingmasing 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 (FCT) / θr Jika proporsi himpunan data dari kelas Ck lebih besar atau sama dengan nilai threshold θr, maka 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 (LDT) / θn Jika banyaknya anggota himpunan data pada suatu node lebih kecil dari threshold θn, maka ekspansi tree dihentikan. Sebagai contoh: sebuah himpunan data memiliki 600 contoh dengan θn adalah 2%. Jika jumlah data contoh pada sebuah node lebih kecil dari 12 (2% dari 600), maka ekspansi tree dihentikan.
K-fold Cross Validation K-fold cross validation dilakukan untuk membagi training set dan test set. K-fold cross validation mengulang k-kali untuk membagi sebuah himpunan contoh secara acak menjadi k subset yang saling bebas, setiap ulangan disisakan satu subset untuk pengujian dan subset lainnya untuk pelatihan (Fu 1994). Pada metode tersebut, data awal dibagi menjadi k subset atau “fold” yang saling bebas secara acak, yaitu S1,S2,…,Sk, dengan ukuran setiap subset kira-kira sama. Pelatihan dan pengujian dilakukan sebanyak k kali. Pada iterasi ke-i, subset Si diperlukan sebagai data pengujian dan subset lainnya diperlukan sebagai data pelatihan. Pada iterasi pertama S2,...,Sk menjadi data pelatihan dan S1 menjadi data pengujian; pada iterasi kedua S1,S3,...,Sk menjadi data pelatihan dan S2 menjadi data pengujian dan seterusnya. Sistem Inferensi Fuzzy Sistem inferensi fuzzy adalah suatu framework yang didasarkan pada konsep himpunan fuzzy, fuzzy if-then rules, dan fuzzy reasoning. FIS dapat menerima input berupa bilangan crisp atau bilangan fuzzy, tapi outputnya hampir semua berupa himpunan fuzzy. Pada sistem inferensi fuzzy yang outputnya berupa nilai crisp dibutuhkan metode defuzzifikasi untuk menghasilkan nilai crisp dari suatu himpunan fuzzy. Salah satu metode inferensi fuzzy yang paling umum digunakan adalah metode inferensi Mamdani (Ormos 2004).
METODE PENELITIAN Proses dasar sistem mengacu pada proses dalam Knowledge Discovery in Database (KDD). Proses tersebut dapat diuraikan sebagai berikut : a. Pembersihan data, membuang data dengan nilai yang hilang dan data yang duplikat. b. Transformasi data, proses transformasi data ke bentuk yang dapat di-mining. Sebelum di-mining, data diabetes diubah ke dalam bentuk data fuzzy. c. Data dibagi menjadi training set dan test set dengan menggunakan metode k-fold cross validation d. Aplikasi teknik data mining, merupakan tahap yang penting karena pada tahap ini teknik data mining diaplikasikan terhadap data. Untuk menemukan aturan klasifikasi digunakan metode fuzzy decision tree.