Anda di halaman 1dari 32

IMPLEMENTASI ALGORITMA CART PADA STUDI KASUS

KLASIFIKASI FASE DIABETES MENGGUNAKAN DALAM


BAHASA PEMROGRAMAN C++

Disusun oleh:
1. KENNY EVEREST K 081411631044
2. PANDU PATRA W 081411631021
3. ZAFITRA RAMADANI 081411631016
4. GARRINCHA DIDI N 081411631009

S1 SISTEM INFORMASI
FAKULTAS SAINS dan TEKNOLOGI
UNIVERSITAS AIRLANGGA
SURABAYA
2017
DAFTAR ISI

DAFTAR ISI.............................................................................................................i
DAFTAR TABEL....................................................................................................ii
DAFTAR GAMBAR..............................................................................................iii
BAB 1......................................................................................................................1
PENDAHULUAN...................................................................................................1
1.1. Latar Belakang..........................................................................................1
1.2. Rumusan Masalah.....................................................................................2
1.3. Tujuan........................................................................................................3
1.4. Manfaat......................................................................................................3
1.5. Batasan Masalah........................................................................................3
BAB 2......................................................................................................................4
TINJAUAN PUSTAKA...........................................................................................4
2.1 Diabetes.....................................................................................................4
2.2 Pengertian Decision Tree...........................................................................6
2.3 Pengertian Metode Classification..............................................................7
2.4 CART Algorithm.......................................................................................9
BAB 3.....................................................................................................................11
METODOLOGI PENELITIAN.............................................................................11
3.1 Tipe Variabel...........................................................................................11
3.2 Langkah Langkah Penelitian...................................................................11
3.3 Alat dan Bahan........................................................................................13
BAB 4....................................................................................................................14
HASIL DAN PEMBAHASAN.............................................................................14
4.1 Hasil.........................................................................................................14
4.2 Analisis dan Pembahasan........................................................................25
BAB 5....................................................................................................................26
KESIMPULAN DAN SARAN..............................................................................26
DAFTAR PUSTAKA.............................................................................................27
DAFTAR TABEL

Tabel 3.1 Perhitungan Performansi........................................................................16


Tabel 4.1 Data Split................................................................................................20
Tabel 4.2 Hasil Klasifikasi.....................................................................................27
DAFTAR GAMBAR

Gambar 2.1. Natural History of diabetes Mellitus..................................................9


Gambar 4.1 Pohon Keputusan dari Output Program.............................................23
Gambar 4.2 Pohon Keputusan...............................................................................24
BAB 1

PENDAHULUAN

1. Latar Belakang

Diabetes dikenal sebagai silent killer karena sering tidak disadari oleh
penyandangnya telah terjadi komplikasi. Berdasarkan dari Badan Pusat Statistik
(BPS) pada tahun 2003, angka penderita diabetes sebanyak 13,7 juta orang.
Indonesia menduduki rangking keempat dengan jumlah penyandang diabetes
terbanyak. Sedangkan data dari World Health Organization WHO menunjukkan
adanya peningkatan jumlah penyandang diabetes di Indonesia dari 8,4 juta pada
tahun 2000 menjadi sekitar 21,3 juta pada tahun 2030.

Berdasarkan ada tidaknya kelaian pada metabolisme karbohidrat, sejarah


alami diabetes dibagi menjadi 4 tahapan yaitu prediabetes, subclinical diabetes,
latent diabetes, dan tahapan paling akhir ialah overt diabetes [ CITATION Ste73 \l
1033 ].

Tantangan yang dihadapi ialah sulit dalam menentukan pada tahap mana
pasien berada dari gejala yang diamati. Cara utama yang dilakukan ialah hanya
menunggu penyelesaian studi prospektif yang tepat. Oleh karena itu, akan
dianalisis berbagai aspek metabolisme karbohidrat pada pasien tanpa gejala
obesitas (nonobese) dengan intoleransi glukosa dalam berbagai tingkat
[CITATION Rea79 \l 1033 ] . Penelitian yang dilakukan oleh Reaven (1973)
dengan menggunakan two dimentional scatter gram mencoba untuk mengetahui
hubungan antara variable metabolis: respon glkemik terhadap glucosa challenge
test, respon insulin terhadap Glucosa Challenge Test , dan sensitifitas insulin.
Tujuan dari penelitian ini adalah untuk memodelkan tahapan diabetes
[ CITATION Ste73 \l 1033 ] dengan menggunakan hubungan antara variable
yang diobservasi.
Permasalahan diskriminasi (Discrimination problem) merupakan
permasalahan yang mungkin terjadi diberbagai bidang, salah satunya adalah
bidang kesehatan. Dalam bidang kesehatan, permasalahan yang sering ditemui
adalah mengkategorikan penyakit atau kondisi medis dari pasien berdasarkan
variable variable kondisi dari pasien tersebut. (Pallara, dkk, 1992).

Berdasarkan uraian diatas, maka data yang digunakan di penelitian


sebelumnya [ CITATION Rea79 \l 1033 ], termasuk kedalam masalah
diskriminasi (discriminant problem) karena memiliki variable variable yang
menunjukan kondisi pasien dan response variable (kategori fase/tahapan diabetes).

Metode yang digunakan untuk permasalahan diskriminan adalah LDA


(Linear Discriminant Analysis). (Panel On Discriminant Analysis And Clustering,
1989). Namun, asumsi yang digunakan pada metode ini adalah asumsi normalitas
multivariat dan kesamaan matriks kovarian dimana jarang ditemui pada real data.
Alternatif dari metode tersebut adalah menggunakan pohon keputusan (decision
tree) [ CITATION Ale92 \l 1033 ].

Salah satu metode pada decision tree untuk mengklasifikasikan data adalah
menggunakan algoritma CART (Classification And Regression Tree) [ CITATION
Rom04 \l 1033 ]. Algoritma CART merupakan metode yang diajukan oleh
Breiman, Freidman, Olshen, dan Stone. Metode ini terdiri atas tiga tahap, yaitu :
construction of maximum tree, choice of the right tree size dan classification of
new data [ CITATION Bre98 \l 1033 ].

Berdasarkan uraian diatas, maka sangat menarik untuk menerapkan


algoritma CART dalam contoh kasus yang diangkat dalam penelitian [ CITATION
Rea79 \l 1033 ]. Sehingga dapat diperoleh gambaran mengenai akurasi algoritma
CART untuk permasalahan klasifikasi tahapan/fase diabetes.
2. Rumusan Masalah

1. Bagaimana menerapkan algoritma CART pada


contoh kasus klasifikasi tahapan/fase diabetes ?
2. Bagaimana mengimplementasikan algoritma CART
dalam bahasa pemrograman C++ pada contoh kasus klasifikasi tahapan/fase
diabetes ?

1. Tujuan

1. Untuk mengimplementasi algoritma CART pada contoh kasus klasifikasi


tahapan/fase diabetes.
3. Untuk mengimplementasi algoritma CART pada
contoh kasus klasifikasi tahapan/fase diabetes dalam Bahasa pemrograman
C++.

3. Manfaat

1. Menambah wawasan dan pengetahuan mengenai


algoritma CART.
2. Menambah wawasan dan pengetahuan mengenai
tahapan/fase diabetes.
3. Menambah wawasan dan pengetahuan mengenai
implementasi algoritma CART pada contoh kasus klasifikasi fase/tahapan
diabetes dalam Bahasa pemrograman C++.

2. Batasan Masalah

Klasifikasi fase/tahapan diabetes sesuai dengan data yang digunakan oleh


penelitian sebelumnya [ CITATION Rea79 \l 1033 ].
BAB 2

TINJAUAN PUSTAKA
2.1 Diabetes

Sebelum membahas definisi diabetes secara ilmiah, kita perlu meninjau


tahap-tahap dalam sejarah alami penyakit ini untuk meletakkan tahap diabetes
secara kimia dalam perspektif yang benar. Setiap klasifikasi diabetes melitus
genetik entah bagaimana menjadi berubah-ubah, seperti klasifikasi yang telah kita
gunakan selama beberapa tahun. Tabel 1 menyajikan skema yang menggambarkan
sejarah diabetes alami yang terbagi dalam empat tahap. 'Klasifikasi ini didasarkan
pada ada tidaknya kelainan metabolisme karbohidrat. Diabetes yang membesar
atau terang merupakan tahap yang paling maju. Gejala klasik penyakit mungkin
ada: Ada hiperglikemia puasa; Tes toleransi glukosa tidak diperlukan untuk
diagnosis. Tahapan penyakit ini telah terbagi menjadi bentuk penyakit nonketotik
dan ketotik. Tahap sebelumnya adalah diabetes laten atau kimiawi. Diabetes laten
adalah individu yang tidak memiliki gejala yang dapat dikaitkan dengan penyakit
ini, namun di antaranya diagnosis diabetes dapat ditentukan dengan prosedur
laboratorium yang diterima saat ini. Tingkat glukosa darah puasa mungkin
meningkat tetapi biasanya normal. Namun, tes toleransi glukosa oral atau
intravena pasti abnormal, apa pun kriteria untuk tes toleransi glukosa yang
abnormal. Tahap awal adalah diabetes subklinis. 2 Di sini, tidak hanya tingkat
gula darah puasa tetapi juga tes toleransi glukosa normal dalam keadaan normal.
Namun, diabetes mungkin dicurigai karena bukti cadangan fungsional yang tidak
mencukupi dari sel pulau kecil. Contohnya adalah wanita yang memiliki tes
toleransi glukosa normal namun memiliki riwayat kelainan toleransi glukosa
standar selama kehamilan. Yang terakhir ini disebut kehamilan atau diabetes
gestasional. Sebagian besar wanita tersebut mengalami diabetes laten atau
diabetes pada tahun-tahun berikutnya. Contoh lain diabetes subklinis adalah
individu dengan tes toleransi glukosa standar normal, tetapi tes toleransi
kortisoneglukosa yang abnormal pada keadaan tidak hamil.
Tahap awal adalah pradiabetes. 2 Kondisi prediabetik ada sebelum onset
diabetes mellitus yang dapat diidentifikasi, apakah bersifat terbuka, laten, atau
subklinis. Ini mengidentifikasi interval waktu dari konsepsi sampai demonstrasi
toleransi glukosa terganggu pada individu yang cenderung diabetes berdasarkan
genetik. Prediabetes dapat diduga hadir secara genetis pada kembar identik
nondiabetes dari pasien diabetes dan pada keturunan dua orang tua penderita
diabetes gabungan. Selama periode prediabetik, toleransi glukosa dan uji toleransi
cortisoneglucose normal. Sejumlah temuan menunjukkan bahwa kelompok subjek
prediabetik dapat dibedakan dari kelompok subyek kontrol normal walaupun tes
diagnostik yang andal tidak tersedia untuk mendeteksi pradiabetes pada individu.
Respons insulin plasma yang tertunda dan atau menurun terhadap stimulus
glukosa telah ditunjukkan pada kelompok individu prediabetik genetik 3-6 dan
pada kerabat nondiabetes lainnya dari pasien diabetes 7-Q oleh sejumlah peneliti.
Cacat ini serupa dengan yang ditunjukkan pada pasien diabetes terbuka, laten, dan
subklinis. Perubahan vaskular, yang tercermin dari penebalan membran basal
kapiler otot yang diperoleh dengan biopsi, telah ditemukan oleh Siperstein et al.rO
pada 52% kelompok "prediabetik"; Uji toleransi glukosa kortisol tidak dilakukan
pada subjek ini.

Gambar 2.1. Natural History of diabetes Mellitus


2.2 Pengertian Decision Tree

Secara konsep Decision tree adalah salah satu dari teknik decision
analysis.Tries sendiri pertama kali diperkenalkan pada tahun 1960-an oleh
Fredkin. Trie atau digital tree berasal dari kata retrival (pengambilan kembali)
sesuai dengan fungsinya. Secara etimologi kata ini diucapkan sebagai tree.
Meskipun mirip dengan penggunaan kata try tetapi hal ini bertujuan untuk
membedakannya dari general tree. Dalam ilmu komputer, trie, atau prefix tree
adalah sebuah struktur data dengan representasi ordered tree yang digunakan
untuk menyimpan associative array yang berupa string. Berbeda dengan binary
search tree (BST) yang tidak ada node di tree yang menyimpan elemen yang
berhubungan dengan node sebelumnya dan, posisi setiap elemen di tree sangat
menentukan. Semua keturunan dari suatu node mempunyai prefix string yang
mengandung elemen dari node itu, dengan root merupakan string kosong. Values
biasanya tidak terkandung di setiap node, hanya di daun dan beberapa node di
tengah yang cocok dengan elemen tertentu.

Secara singkat bahwa Decision Tree merupakan salah satu metode


klasifikasi pada Text Mining. Klasifikasi adalah proses menemukan kumpulan
pola atau fungsi-fungsi yang mendeskripsikan dan memisahkan kelas data satu
dengan lainnya, untuk dapat digunakan untuk memprediksi data yang belum
memiliki kelas data tertentu (Jianwei Han, 2001).

Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon
merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu
pembagian hasil uji, dan node daun (leaf) merepresentasikan kelompok kelas
tertentu. Level node teratas dari sebuah Decision Tree adalah node akar (root)
yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu
kelas tertentu. Pada umumnya Decision Tree melakukan strategi pencarian secara
top-down untuk solusinya. Pada proses mengklasifikasi data yang tidak diketahui,
nilai atribut akan diuji dengan cara melacak jalur dari node akar (root) sampai
node akhir (daun) dan kemudian akan diprediksi kelas yang dimiliki oleh suatu
data baru tertentu.
2.3 Pengertian Metode Classification

Metode Classification adalah sebuah metode dari data mining yang


digunakan untuk memprediksi kategori atau kelas dari suatu data instance
berdasarkan sekumpulan atribut-atribut dari data tersebut. Atribut yang digunakan
mungkin bersifat categorical (misalnya golongan darah : A, B, O, dst),
ordinal (misalnya urutan : small, medium, dan large), integer-valued (misalnya
banyaknya suatu kata pada suatu paragraf), atau real-valued (misalnya suhu).
Kebanyakan algoritma yang menggunakan metode klasifikasi ini hanya
menggunakan data yang bersifat diskret dan untuk data yang bersifat kontinu
(real-valued dan integer-valued) maka data tersebut harus dijadikan diskret
dengan cara memberikan threshold (misal lebih kecil dari 5 atau lebih besar dari
10) supaya data dapat terbagi menjadi grup-grup. Sebagai contoh dari metode
klasifikasi adalah menentukan e-mail yang masuk termasuk kategori spam atau
bukan spam atau menentukan diagnosis dari pasien berdasarkan umur, jenis
kelamin, tekanan darah, dan sebagainya (Tan, 2004).

Algoritma yang mengimplementasikan metode ini disebut dengan classifier.


Istilah classifier ini juga terkadang direferensikan sebagai fungsi matematika
yang digunakan untuk memetakan input data dengan kategori-kategori tertentu.

Cara kerja dari metode Classification adalah sebuah proses 2 langkah.


Langkah pertama adalah Learning. Pada langkah ini, classifier dibangun
berdasarkan sekumpulan kelas atau kategori yang sudah ditentukan dari data.
Langkah ini disebut learning step atau training step, dimana sebuah algoritma
classification membangun classifier dengan menganalisis atau belajar dari
sebuah training set. Sebuah tuple , yang direpresentasikan dengan n-dimensi
attribute vector, yang menggambarkan n buah pengukuran yang dibuat pada tuple
pada n attribute . Setiap tuple diasumsikan termasuk dalam kelas atau
kategori yang sudah ditentukan oleh attribute yang disebut dengan class label
attribute. Class label attribute mempunyai nilai diskret, tidak berurutan dan tiap
nilai berfungsi sebagai kelas atau kategori [ CITATION Han12 \l 1033 ].
Langkah pertama dari classification juga disebut sebagai learning of
mapping atau function , suatu fungsi pemetaan yang bisa memprediksi class
label y pada suatu tuple X. Pemetaan ini direpresentasikan dalam bentuk
classification rules, decision tree atau formula matematika. Dari rules atau tree
tersebut dapat digunakan untuk mengklasifikasi tuple baru (Han, 2006).

Langkah kedua adalah Classification. Pada langkah ini, classifier yang


sudah dibangun akan digunakan untuk mengklasifikasi data. Pertama, akurasi dari
prediksi classifier tersebut diperkirakan. Jika menggunakan training set untuk
mengukur akurasi dari classifier, maka estimasi akan optimis karena data yang
digunakan untuk membentuk classifier adalah training set juga. Oleh karena itu,
digunakan test set, yaitu sekumpulan tuple beserta class label-nya yang dipilih
secara acak dari dataset. Test set bersifat independen dari training set dikarenakan
test set tidak digunakan untuk membangun classifier (Han, 2006).

Akurasi dari classifier yang diestimasikan dengan test set adalah persentase
dari tuple test set yang diklasifikasi secara benar oleh classifier. Class label dari
setiap tuple dari test set dibandingkan dengan prediksi class label dari classifier.
Jika akurasi dari classifier dapat diterima maka classifer dapat digunakan untuk
mengklasifikasi data baru. Gambar 2.3 merupakan ilustrasi dari langkah Learning
dan Classification dari metode Classification (Han, 2006).

Metode Classification termasuk dari supervised learning karena class


label dari setiap tuple sudah disediakan. Berbeda dengan unsupervised learning
dimana class label dari setiap tuple tidak diketahui. Metode yang menggunakan
unsupervised learning adalah metode Clustering [ CITATION Han12 \l 1033 ].

Terdapat beberapa algoritma data mining yang menggunakan metode


Classification ini, seperti C4.5, CMAR, Nave Bayes, K Nearest Neighbours dan
algoritma yang penulis implemetasikan, CART.
2.4 CART Algorithm

CART merupakan singkatan dari Classification And Regression Trees.


CART adalah metode klasifikasi yang menggunakan data historis untuk
membentuk decision tree yang dapat digunakan untuk mengklasifikasi data baru.
Metodologi CART dikembangkan oleh Breiman, Freidman, Olshen, Stone pada
sekitar tahun 1984 dalam paper mereka yang berjudul Classification and
Regression Trees. Untuk membangun decision tree, CART menggunakan
learning sample, sekumpulan data historis yang sudah ditetapkan kelas-kelasnya
untuk observasi [ CITATION Rom04 \l 1033 ].

Decision Tree adalah representasi dari sekumpulan pertanyaan yang akan


membelah learning sample menjadi bagian yang lebih kecil. Pertanyaan yang
diajukan decision tree biasanya berupa yes/no question, seperti Is age greater
than 50? atau Is sex male?. Oleh karena itu, Decision Tree yang terbentuk
bersifat binary atau selalu bercabang dua. Algoritma CART akan mencari semua
kemungkinan variabel dan nilai untuk menemukan split yang paling baik dari
pertanyaan yang yang akan membagi learning sample menjadi 2 bagian dengan
homogenitas maksimal. Proses akan dilanjutkan sampai decision tree
menghasilkan data fragment, yaitu suatu data yang tidak bisa dibelah lagi
[ CITATION Rom04 \l 1033 ].

Sesuai dengan nama algoritmanya, CART dapat membentuk 2 tipe


decision tree, yaitu Classification Tree dan Regression Tree. Kedua tree tersebut
mempunyai kegunaan yang berbeda. Kelebihan metode CART adalah
ketahanannya terhadap outlier. Biasanya algoritma pemisahan akan mengisolasi
outlier pada node atau node individu. Properti praktis penting dari CART adalah
bahwa struktur pohon klasifikasi atau regresinya tidak sesuai dengan transformasi
monoton dari variabel independen. Seseorang dapat mengganti variabel apapun
dengan nilai logaritma atau kuadratnya, struktur pohon tidak akan berubah.

Keputusan yang diajukan oleh CART merupakan biner, berisi tepat dua
cabang untuk setiap simpul keputusan. CART secara rekursif mempartisi node
dalam data training yang diatur ke dalam himpunan bagian node dengan yang
serupa nilai untuk atribut target. Algoritma CART menumbuhkan pohon dengan
melakukan nodus keputusan untuk setiap pencarian menyeluruh dari semua
variabel yang tersedia dan semua nilai pemisahan yang mungkin, memilih
pemecahan optimal sesuai dengan kriteria berikut.

Misalkan, ( s|t ) menjadi ukuran kebaikan dari kandidat split s pada node t.

P ( j|t L )P( jt R )
classes
( s|t ) =2 P L PR
j=1

Dimana,

t L = of node t

t R= child of node t

number of records at t L
PL =
number of records training set

number of records at t R
PR =
number of recordstraining set

number of class jrecords at t L


P ( j|t L )=
number of records at t L

number of class j records at t R


P ( j|t R ) =
number of records at t L

1. Kemudian split optimal adalah split yang


memaksimalkan ukuran ( s|t ) atas semua kemungkinan split pada simpul
t. Karena CART dibatasi pada binary splits, kandidat membagi algoritma
CART yang akan dievaluasi untuk partisi awal pada node root.

2. Untuk setiap kandidat split yang ada, periksa


nilai dari berbagai komponen ukuran optimalitas. [ CITATION DAN15 \l
1033 ][CITATION Rea79 \l 1033 ].
BAB 3

METODOLOGI PENELITIAN

3.1 Tipe Variabel

Tipe variable dideskripsikan lagi (bedakan jenisnya ada yang continuous dan
categorical.

a. Attibute patient number : tipe data categorical.


b. Attribute Glucose Area : tipe data continuous
c. Attribute Fasting Plasma Glucose : tipe data continuous
d. Attribute Insulin Area : tipe data continuous
e. Attribute SSPG : tipe data continuous
f. Attribute Clinical Classficiation : tipe data categorical

3.2 Langkah Langkah Penelitian

Langkah langkah yang digunakan dalam penelitian ini adalah sebagai


berikut :
1. Studi pustaka mengenai diabetes, decision tree dan algoritma CART serta
mencari data klasifikasi diabetes. Data yang didapatkan adalah sebanyak
146 dengan attribute patient number, relative weight, fasting plasma
glucose, glucose area, insulin area, SSPG, dan Clinical classification.
2. Data klasifikasi akan dibagi menjadi dua, yaitu data training dan data
testing. Dari 145 data, dilakukan pembagian dimana data training yang
digunakan adalah sebanyak 115 dan data testing yang digunakan adalah
sebanyak 30 dengan masing masing target variable adalah sebanyak 10
data.
3. Membuat rancangan untuk pembuatan model decision tree untuk kasus
klasifikasi diabetes overt dan chemical dengan algoritma CART yang
diberikan dalam langkah langkah sebagai berikut :
a. Merancang Candidate Of Split
Candidate of split didapatkan dari tiap tiap predictor variable, yaitu
relative weight, fasting plasma glucose, glucose area, insulin area, SSPG.
Karena setiap predictor variable yang ada memiliki tipe data continuous,
maka untuk menghasilkan kemungkinan candidate of split dihasilkan
secara unik untuk setiap attribute dari kasus yang akan diselesaikan.

b. Menghitung performansi setiap kandidat cabang dengan rumus ;

P ( j|t L )P( jt R )
classes
( s|t ) =2 P L PR
j=1
Dimana

t L = of node t
t R= child of node t
number of records at t L
PL =
number of recordstraining set
number of records at t R
PR =
number of records training set
number of class j records at t L
P ( j|t L )=
number of records at t L

number of class jrecords at t R


P ( j|t R ) =
number of records at t L

c. Kemudian, titik yang akan menjadi titik potong (split point) pada
node t didefinisikan sebagai :

max (st )

Berikut adalah contoh tabel perhitungan performansi tiap tiap


kandidat cabang :

Tabel 3.1 Perhitungan Performansi


Split PL PR P( jt L ) P( j t R ) 2 P L P R Q(st) (st )

d. Selanjutnya, diulangi langkah sebelumnya untuk setiap node yang


belum dipilih sebagai cabang.
e. Akurasi dihitung dengan melihat error rate dari hasil klasifikasi /
prediksi dengan hasil sebenarnya atau dinyatakan dengan
persamaan sebagai berikut :
jumlah misklasifikasi
%error rate= x 100
total datatesting

Dan juga, hasil perhitungan dinyatakan dengan confusion matrix.


Ilustrasi confusion matrix yang digunakan adalah sebagai berikut :

Gambar confusion matrix.

1 2 3
1 10 0 0
2 0 10 0
3 0 0 10

3.3 Alat dan Bahan

1. Doxygen

2. Software Excel

3. CodeBlock

4. g++

5. graphviz

6. Boost Standart Template Library

7. Comdll32.dll

BAB 4

HASIL DAN PEMBAHASAN


4.1 Hasil

Seperti yang telah diuraikan sebelumnya dalam metodologi penelitian dimana


terdapat 115 data training dan 30 data testing, maka terlebih dahulu dilakukan
pembangunan pohon keputusan berdasarkan data training yang tersedia. Adapun
secara lebih rinci proses pembangunan pohon keputusan diuraikan dibawah ini :

1. Merancang Candidate Of Split


Candidate of split dihasilkan berdasarkan predictor variable yang tersedia.
Prediktor variable yang tersedia dalam kasus klasifikasi diabetes adalah
Relative Weight, Fasting Plasma Glucose, Glucose Area, Insulin Area, dan
SSPG. Karena tipe data dari semua predictor variable yang ada adalah
continuous, maka aturan untuk kemungkinan node sebelah kiri adalah
C S i , dimana i adalahindeks candidate of split . Berikut adalah
daftar sampel beberapa Candidate Of Split yang ada :
Attribute: Relative Weight
PL: <= 0.72
PR: >0.72
Attribute: Fasting Plasma Glucose
PL: <= 70
PR: >70

Attribute: Glucose Area

PL: <= 269

PR: >269

Attribute: Insulin Area

PL: <= 10

PR: >10

Attribute: SSPG

PL: <= 29

PR: >29
Dalam simulasi yang dilakukan terhadap data training, dihasilkan
sebanyak 389 candidate of splits dari predictor variable yang ada.

2. Menghitung Performansi Tiap Tiap Kandidat Cabang


Setelah membangun daftar dari candidate of splits yang ada,
selanjutnya setiap candidate of splits di hitung performansi menggunakan
table yang telah dijelaskan dalam bab 3 metodologi penelitian dan dipilih
kandidat cabang yang memilki nilai Psi yang terbesar. Berikut adalah
contoh perhitungan awal performansi dari tiap tiap candidate cabang.
Untuk iterasi pertama, didapatkan candidate of splits yang memiliki Psi
terbesar, yaitu Glucose Area. Berikut adalah rincian dari Candidate Of
Splits yang dipilih pada iterasi pertama algoritma :
Attribute: Glucose Area
PL: 418
value: 0.573913
Value of PR: 0.426087
PjTL:
TARGET NILAI
Overt 0
chemical 0.0151515
normal 0.984848
PjTR:
TARGET NILAI
Overt 0.469388
chemical 0.510204
normal 0.0204082
2*PL*PR: 0.489074
Selisih PjTL dan PjTR:
TARGET SELISIH
Overt -0.469388
chemical -0.495053
normal 0.96444
Qst: 1.92888
Psi: 0.943365

3. Data Dipartisi Sesuai Dengan Candidate Of Splits Yang Dipilih.


Pada kasus iterasi pertama, Karena node yang dipilih adalah
Glucose Area, maka data dipartisi sebagai berikut :

Tabel 4.1 Data Split


Glucose Area
PL (<=418) PR(>418)
37 113
81 88
14 85
36 92
78 61
58 93
32 145
28 122
24 132
16 130
21 66
13 98
76 101
82 138
53 94
23 105
6 112
67 110
84 87
49 142
18 135
27 124
5 106
75 62
79 126
54 133
15 107
73 129
19 95
26 117
72 137
7 118
9 109
60 77
3 86
70 65
22 144
40 127
20 139
41 63
33 99
48 96
56 83
17 119
2 120
4 111
69 125
80 141
8 136
35
38
12
11
51
44
45
43
46
25
64
50
31
74
52
39
71

4. Ulangi secara rekursif untuk masing masing data disebelah kiri dan
kanan. Berhenti melakukan pemanggilan rekursif, jika target variable telah
homogen. Karena masing masing cabang kiri dan kanan belum
homogen, maka akan dilakukan perhitungan performansi secara rekursif
untuk setiap cabang kiri dan kanan.

Pohon keputusan yang didapatkan dari algoritma CART terhadap data training :
Gambar 4.1 Pohon Keputusan dari Output Program
Gambar 4.2 Pohon Keputusan

Berdasarkan pohon keputusan yang dihasilkan, diperoleh aturan sebagai berikut :

0 overt
1 chemical
2 normal
if(glucoseArea <= 418){

//cek sspg

if(sspg <= 259){


return this->outcomes.at(2);
}

// jika sspg > 259

else{
//cek relative weight
if(relativeWeight<=0.91){
return this->outcomes.at(2);
}

else{
return this->outcomes.at(1);
}
}

//jika glucose area > 418

else{

//cek Fasting Plasma Glucose

if(fastingPlasmaGlucose <= 114){


// cek insulin area
if(insulinArea <= 117){
// cek Relative Weight
if(relativeWeight<=0.94){
return this->outcomes.at(1);
}
// jika relative weight > 0.94
else{
return this->outcomes.at(2);
}
}
//jika insulin area > 117
else{
return this->outcomes.at(1);
}
}
// jika fasting plasma glucose > 114
else{
return this->outcomes.at(0);
}

Berdasarkan rule yang telah didapat, kemudian dilakukan pengujian


menggunakan kasus uji yang ada. Berikut adalah hasil pengujian yang
didapatkan :

Tabel 4.2 Hasil Klasifikasi


Patien Relativ Fasting Glucos Insuli SSPG Clinical Predicted
t
73 e
0.97 Plasma
86 e 393
Area n 115
Area 85 Clasificatio
3 3
74 0.96 93 376 195 106 3 3
75 1.1 107 403 267 254 3 3
76 1.07 112 414 281 119 3 3
78 0.95 93 364 156 159 3 3
79 0.74 93 391 221 103 3 3
80 0.84 90 356 199 59 3 3
81 0.89 99 398 76 108 3 3
82 1.11 93 393 490 259 3 3
84 1.18 89 318 73 220 3 3
103 1.07 104 472 180 239 2 2
104 1.1 75 455 329 242 2 2
105 0.94 92 442 109 157 2 2
106 1.12 92 541 313 267 2 2
107 0.88 92 580 132 155 2 2
108 0.93 93 472 285 194 2 2
109 1.16 112 562 139 198 2 2
110 0.94 88 423 212 156 2 2
111 0.91 114 643 155 100 2 2
112 0.83 103 533 120 135 2 2
136 1.01 120 636 314 220 1 1
137 1.19 138 741 219 209 1 1
138 1.04 188 958 100 351 1 1
139 1.06 339 1354 10 450 1 1
140 1.03 265 1263 83 413 1 1
141 1.05 353 1428 41 480 1 1
142 0.91 180 923 77 150 1 1
143 0.9 213 1025 29 209 1 1
144 1.11 328 1246 124 442 1 1
145 0.74 346 1568 15 253 1 1

Untuk menghitung hasil klasifikasi, digunakan rumus error rate

jumlah misklasifikasi
%error rate= x 100
total datatesting

Didapatkan jumlah misklasifikasi adalah 0. Sehingga :

0
%error rate= x 100
30
%error rate=0

Dinyatakan juga dalam bentuk confusion matrix, untuk menunjukan jumlah


misklasifikasi :

1 2 3
1 10 0 0
2 0 10 0
3 0 0 10

4.2 Analisis dan Pembahasan

Untuk algoritma CART sendiri, memberikan hasil yang akurat, yaitu


sebanyak 100 %. Hal ini dapat dikarenakan seseuai dengan karakteristik dari
algoritma CART dimana setiap data dipilah pilah sehingga menjadi pure atau
memiliki target variable yang homogen. Sehingga, mampu memetakan secara
menyeluruh kondisi data yang digunakan untuk training dan testing.

Namun, dalam implementasi kali ini, kompleksitas algoritma terhadap


waktu kurang efisien Karena candidate split dilakukan secara exhaustive search
artinya mengenerate semua kemungkinan nilai berdasarkan data yang ada
sehingga Candidate of split yang dihasilkan dapat sangat besar jika data memiliki
heterogenitas yang tinggi.
BAB 5

KESIMPULAN DAN SARAN

Berdasarkan hasil pengujian yang dilakukan, maka algoritma CART


terbukti memiliki akurasi yang tinggi untuk kasus klasifikasi jenis diabetes
(normal, chemical dan overt). Sementara dari segi efisiensi waktu, dikarenakan
pola split point generation menggunakan nave / exhaustive search, maka akan
memiliki kecendrungan waktu komputasi yang lama untuk tipe data yang
memiliki heterogenitas yang tinggi.

Kedepannya, implementasi algoritma yang ada dalam modul ini perlu


diefisienkan dan perlu dilakukan refactoring dan juga metode split point
generation dapat menjadi lebih efisien. Selain itu, Karena pada hakikatnya CART
adalah algoritma untuk klasifikasi dan regresi, maka perlu ditambahkan juga kasus
regresi pada modul program ini.
DAFTAR PUSTAKA
Breiman, L., Jerome H., F., & Richard A. , O. (1998). CLASSIFICATION AND REGRESSION
TREES. London: CRC Press.

Fajans, S. S. (1973 ). The Definition of Chemical Diabetes . Metabolism, 211-217.

Han, J., & Kamber, M. (2012). Data Miining Consepts and Techniques. London: Elsevier.

LAROSE, D. T. (2015). DISCOVERING KNOWLEDGE IN DATA An Introduction to Data


Mining. United States of America : John Wiley & Sons, Inc.

Pallara, A. (1992). Binary Decision Trees Approach to Classification: A Review of CART


and Other Methods With Some Aplications to Real Data. Statistica Applicata,
255-280.

Reaven, G. M., & Miller, R. G. (1973). An Attempt to Define the Nature of Chemical
Diabetes Using a Multidimensional Analysis. Diabetologi, 17-24.

Timofeev, R. (2004). Classication and Regression Trees (CART) Theory and Applications.
Berlin: Humboldt University.

Anda mungkin juga menyukai