Sunjana
Universitas Widyatama
sunjana@widyatama.ac.id
ABSTRAKS
Data mining merupakan proses analisa data untuk menemukan suatu pola dari kumpulan data tersebut.
Data mining mampu menganalisa data yang besar menjadi informasi berupa pola yang mempunyai arti bagi
pendukung keputusan.
Salah satu teknik yang ada pada data mining adalah klasifikasi. Pada paper ini akan dibahas teknik
klasifikasi yang diterapkan untuk menemukan pola yang terjadi pada data mata kuliah mahasiswa. Teknik
klasifikasi yang akan digunakan adalah Decision tree , yaitu algoritma C4.5.
A-24
Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010) ISSN: 1907-5022
Yogyakarta, 19 Juni 2010
ini merupakan bagian dari proses KDD yang disebut the number of possible paths from the root to a
dengan interpretation. Tahap ini mencakup leaf node.
pemeriksaan apakah pola atau informasi yang 3. Prune (generalize) each rule by removing
ditemukan bertentangan dengan fakta atau hipotesa preconditions that increase classification
yang ada sebelumnya. accuracy.
2.2 Decision tree 4. Sort pruned rules by their accuracy, and use
Decision tree adalah flow-chart seperti struktur them in this order when classifying future test
tree, dimana tiap internal node menunjukkan sebuah examples.
test pada sebuah atribut, tiap cabang menunjukkan Information Gain
hasil dari test, dan leaf node menunjukkan class-class Information gain adalah salah satu atribute
atau class distribution [6]. selection measure yang digunakan untuk memilih
Algoritma ID3 dan Algoritma C4.5 test atribute tiap node pada tree. Atribut dengan
Sebelum membahas algoritma C4.5 perlu information gain tertinggi dipilih sebagai test atribut
dijelaskan terlebih dahulu algoritma ID3 karena C4.5 dari suatu node [6]. Ada 2 kasus berbeda pada saat
adalah ekstensi dari algoritma decision-tree ID3. penghitungan Information Gain, pertama untuk kasus
Algoritma ID3/C4.5 ini secara rekursif membuat penghitungan atribut tanpa missing value dan kedua,
sebuah decision tree berdasarkan training data yang penghitungan atribut dengan missing value.
telah disiapkan. Algoritma ini mempunyai inputan
berupa training samples dan samples. Training Penghitungan Information Gain tanpa missing
samples berupa data contoh yang akan digunakan value
untuk membangun sebuah tree yang telah diuji Misalkan S berisi s data samples. Anggap atribut
kebenaranya. Sedangkan samples merupakan field- untuk class memiliki m nilai yang berbeda, Ci (untuk
field data yang nantinya akan kita gunakan sebagai i = 1, …,I). anggap si menjadi jumlah samples S pada
parameter dalam melakukan klasifikasi data. Berikut class Ci. Maka besar information-nya dapat dihitung
adalah algoritma dasar dari ID3 dan C4.5 dengan :
Algoritma ID3 [6] m
Input : Training samples, samples I ( s1, s2,…,sm ) = - p
i 1
i * log 2 ( pi )
Output : Decision tree
Method : si
(1) Create node N; Dimana pi = adalah probabilitas dari sample yang
(2) If samples are all of the same class, C then s
(3) Return N as a leaf node labeled with the mempunyai class Ci.
class C; Misalkan atribut A mempunyai v nilai yang
(4) if atribute-list is empty then berbeda, {a1, a2,...,av}. Atribut A dapat digunakan
(5) Return N as a leaf node labeled with the untuk mempartisi S menjadi v subset, {S1, S2,...,Sv},
most common class in samples; // dimana Sj berisi samples pada S yang mempunyai
majority voting nilai aj dari A. Jika A terpilih menjadi test atribut
(6) select test-atribute, atribute among atribute- (yaitu, best atribut untuk splitting), maka subset-
list with the highest information gain; subset akan berhubungan dengan pertumbuhan node-
(7) label node N with test-atribute; node cabang yang berisi S. Anggap sij sebagai jumlah
(8) for each known value ai of test-atribute // samples class Ci pada subset Sj. Entropy, atau nilai
partition the samples information dari subset A adalah :
v s1 j ... s mj
(9) grow a branch from node N for the
condition test-atribute = ai; E(A) = I ( s1, s2,…,sm )
(10) let si be the set of samples in samples j 1 s
for which test-atribute = ai; // a s1 j ... smj
partition adalah bobot dari subset jth dan
(11) if si is empty then s
(12) attach a leaf labeled with the ,most jumlah samples pada subset (yang mempunyai nilai aj
common class in samples; dari A) dibagi dengan jumlah total samples pada S.
(13) else attach the node returned by Untuk subset Sj,
m
p
Generate_decision_tree(si, attribute-list-test-
atribute); I ( s1j, s2j,…,smj) = - ij * log 2 ( pij )
i 1
A-25
Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010) ISSN: 1907-5022
Yogyakarta, 19 Juni 2010
Gain(A) = I ( s1, s2,…,sm ) – E(A) Untuk atribut dengan missing value penghitungan
Sebagai contoh : kita ingin mencari apakah pegolf information gain-nya diselesaikan dengan Gain
akan masuk class play atau don’t play berdasarkan Ratio. Sebelum menghitung gain ratio terlebih dahulu
data berikut: dihitung I ( s1, s2,…,sm ) dan E(A).
m
Outlook
Tabel 2.1. Contoh data play tennis
Temperature Humidity Windy Play
I ( s1, s2,…,sm ) = - p i 1
i * log 2 ( pi )
Sunny 85 85 False Don’t v s1 j ... s mj
Sunny 80 90 True
Play
Don’t
E(A) = j 1 s
I ( s1, s2,…,sm )
Play
Overcast 83 78 False Play Dimana penghitungan I ( s1, s2,…,sm ) dan E(A)
Rain 70 96 False Play hanya dilakukan pada atribut yang ada nilainya.
Rain 68 80 False Play Kemudian untuk mencari gain dari atribut A
Rain 65 70 True Don’t
Play
dihitung dengan rumus sebagai berikut :
Overcast 64 65 True Play Gain (A) = Prob S yang diketahui * E(A)
Sunny 72 95 False Don’t Dimana,
Play A = atribut dengan missing value yang sedang
Sunny 69 70 False Play dicari nilai gain-nya,
Rain 75 80 False Play
S = jumlah samples pada subset A yang
Sunny 75 70 True Play
Overcast 72 90 True Play diketahui nilainya.
Overcast 81 75 False Play Sedangkan nilai split pada atribut A dinyatakan
Rain 71 80 True Don’t dengan :
Play m
Dari data-data pada tabel kita akan mencoba
untuk membangun sebuah classifier yang
Split(A) = -u * log2 u - p
i 1
j * log 2 ( p j )
berdasarkan atribut Outlook, Temperature, Humidity Dimana,
dan Windy. Disana ada dua kelas yaitu Play dan u adalah prob samples pada atribut A yang
Don’t play. Dan ada 14 examples, 5 examples merupakan missing values.
menyatakan Don’t Play dan 9 examples menyatakan sj
Play. Maka, pj = adalah probabilitas sample Sj yang
9 9 |s |
I (s1,s2) = I (9,5) = - log2 -
14 14 diketahui nilainya.
5 5 Nilai Gain Ratio pada atribut A :
log2 = 0,940 Gain Ratio(A) = Gain(A) / Split(A)
14 14 Sebagai contoh : kita ingin mencari apakah pegolf
Entropy untuk atribut Outlook adalah : akan masuk class play atau don’t play berdasarkan
5 4 data berikut:
E( Outlook ) = * I (2,3) + * I (4,0) + Tabel 2.2. data play tennis dengan missing value
14 14
Outlook Temp Humidity Windy Class
5 sunny 75 70 yes play
* I (3,2)
14 sunny 80 90 yes don’t
= 0,694 play
Dengan nilai Gain( Outlook) yaitu: sunny 85 85 no don’t
Gain ( Outlook ) = I ( s1, s2 ) – E(Outlook) play
= 0,94 – 0,694 sunny 72 95 no don’t
= 0,246 play
dengan menggunakan cara yang sama, Gain dari sunny 69 70 no play
semua atribut dapat dicari. ? 72 90 yes play
Gain ( Outlook) = 0,246 cloudy 83 78 no play
Gain ( Humidity ) = 0,151 cloudy 64 65 yes play
Gain ( Windy ) = 0,048 cloudy 81 75 no play
Gain ( Temperature) = 0,029 rain 71 80 yes don’t
Setelah nilai information gain pada semua atribut play
dihitung, maka atribut yang mempunyai nilai rain 65 70 yes don’t
information gain terbesar yang dipilih menjadi test play
atribut. rain 75 80 no play
Penghitungan Information Gain dengan missing rain 68 80 no play
value rain 70 96 no play
A-26
Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010) ISSN: 1907-5022
Yogyakarta, 19 Juni 2010
A-27
Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010) ISSN: 1907-5022
Yogyakarta, 19 Juni 2010
A-28
Seminar Nasional Aplikasi Teknologi Informasi 2010 (SNATI 2010) ISSN: 1907-5022
Yogyakarta, 19 Juni 2010
PUSTAKA
[1] Andrew W. Moore, “Decision Trees“,
Carnegie Mellon University.
(http://www.cs.cmu.edu/~awm)
[2] Berry Linoff, Mastering Data Mining, John
Wiley & Son, Inc, 2000
[3] Frank, Vanden Berghen, “Classification Trees
: C4.5”, Universit Libre de Bruxelles, 2003.
[4] Han,Jiawei and Khamber, Micheline. “Data
Mining : Concepts and Techniques”, Morgan
Kaufmann Publishers, San Francisco,USA,
2001.
[5] Long, William, “Classification Tress”,
Harvard-MIT Division of Health Sciences and
Technology.
[6] Malerba Donato, Floriana Esposito, dan
Giovanni Semeraro, “A Comparative Analysis
of Methods for Pruning Decision Tress”,
IEEE, Italy, 1997
[7] Quinlan, J.R. “C4.5: Programs For Machine
Learning”. San Mateo, CA: Morgan
Kaufmann,
A-29