Algoritma Decision Tree

Emilia Novita Sari-Institut Teknologi Statistika dan Bisnis Muhammadiyah

2023-01-20

Pengertian

Algoritma C4.5 merupakan salah satu algoritma yang digunakan untuk melakukan klaifikasi atau segmentasi atau pengelompokkan dan bersifat prediktif. Menurut Quinlan algoritma C4.5 adalah algoritma yang terkenal dan algoritma c4.5 merupakan algoritma yang digunakan umtuk membentuk pohon keputusan.

Tahapan Algoritma

  1. Menyiapkan data latih. Data latih biasanya diambil dari data yang pernah terjadi sebelumnya dan sudah dikelompokkan ke dalam kelas – kelas tertentu. 2 .Menentukan akar pohon. Akar akan diambil dari atribut yang terpilih, dengan cara menghitung nilai gain dari masing – masing atribut. Nilai gain yang paling tinggi akan menjadi akar pertama. Sebelum menghitung niali gain dari atribut, harus menghitung dulu nilai entropy.
  2. Menghitung nilai gain ratio 4.Mengulangi langkah ke 2 hingga semua record terpartisi
  3. Proses partisi pohon keputusan akan berhenti saat, semua record dalam simpul N mendapat kelas yang sama, tidak ada atribut record yang dipartisi lagi dan tidak ada record didalam cabang yang kosong.

Eksperimen

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
 Data<- read_excel("~/Emil/Golf.xls", sheet = 2 )
library(caret)
## Warning: package 'caret' was built under R version 4.1.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.1.3
## Loading required package: lattice
library(rattle)
## Warning: package 'rattle' was built under R version 4.1.3
## Loading required package: tibble
## Warning: package 'tibble' was built under R version 4.1.3
## Loading required package: bitops
## Warning: package 'bitops' was built under R version 4.1.1
## Rattle: A free graphical interface for data science with R.
## Version 5.5.1 Copyright (c) 2006-2021 Togaware Pty Ltd.
## Type 'rattle()' to shake, rattle, and roll your data.
library(party)
## Warning: package 'party' was built under R version 4.1.3
## Loading required package: grid
## Loading required package: mvtnorm
## Warning: package 'mvtnorm' was built under R version 4.1.1
## Loading required package: modeltools
## Warning: package 'modeltools' was built under R version 4.1.1
## Loading required package: stats4
## Loading required package: strucchange
## Warning: package 'strucchange' was built under R version 4.1.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.1.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.1.3
data("iris")
model=ctree(Species~.,data = iris)
plot(model)

table(predict(model),iris$Species)
##             
##              setosa versicolor virginica
##   setosa         50          0         0
##   versicolor      0         49         5
##   virginica       0          1        45
library(rpart)


model2=rpart(Species~.,data = iris)
fancyRpartPlot(model2)

predict(model2)
##     setosa versicolor  virginica
## 1        1 0.00000000 0.00000000
## 2        1 0.00000000 0.00000000
## 3        1 0.00000000 0.00000000
## 4        1 0.00000000 0.00000000
## 5        1 0.00000000 0.00000000
## 6        1 0.00000000 0.00000000
## 7        1 0.00000000 0.00000000
## 8        1 0.00000000 0.00000000
## 9        1 0.00000000 0.00000000
## 10       1 0.00000000 0.00000000
## 11       1 0.00000000 0.00000000
## 12       1 0.00000000 0.00000000
## 13       1 0.00000000 0.00000000
## 14       1 0.00000000 0.00000000
## 15       1 0.00000000 0.00000000
## 16       1 0.00000000 0.00000000
## 17       1 0.00000000 0.00000000
## 18       1 0.00000000 0.00000000
## 19       1 0.00000000 0.00000000
## 20       1 0.00000000 0.00000000
## 21       1 0.00000000 0.00000000
## 22       1 0.00000000 0.00000000
## 23       1 0.00000000 0.00000000
## 24       1 0.00000000 0.00000000
## 25       1 0.00000000 0.00000000
## 26       1 0.00000000 0.00000000
## 27       1 0.00000000 0.00000000
## 28       1 0.00000000 0.00000000
## 29       1 0.00000000 0.00000000
## 30       1 0.00000000 0.00000000
## 31       1 0.00000000 0.00000000
## 32       1 0.00000000 0.00000000
## 33       1 0.00000000 0.00000000
## 34       1 0.00000000 0.00000000
## 35       1 0.00000000 0.00000000
## 36       1 0.00000000 0.00000000
## 37       1 0.00000000 0.00000000
## 38       1 0.00000000 0.00000000
## 39       1 0.00000000 0.00000000
## 40       1 0.00000000 0.00000000
## 41       1 0.00000000 0.00000000
## 42       1 0.00000000 0.00000000
## 43       1 0.00000000 0.00000000
## 44       1 0.00000000 0.00000000
## 45       1 0.00000000 0.00000000
## 46       1 0.00000000 0.00000000
## 47       1 0.00000000 0.00000000
## 48       1 0.00000000 0.00000000
## 49       1 0.00000000 0.00000000
## 50       1 0.00000000 0.00000000
## 51       0 0.90740741 0.09259259
## 52       0 0.90740741 0.09259259
## 53       0 0.90740741 0.09259259
## 54       0 0.90740741 0.09259259
## 55       0 0.90740741 0.09259259
## 56       0 0.90740741 0.09259259
## 57       0 0.90740741 0.09259259
## 58       0 0.90740741 0.09259259
## 59       0 0.90740741 0.09259259
## 60       0 0.90740741 0.09259259
## 61       0 0.90740741 0.09259259
## 62       0 0.90740741 0.09259259
## 63       0 0.90740741 0.09259259
## 64       0 0.90740741 0.09259259
## 65       0 0.90740741 0.09259259
## 66       0 0.90740741 0.09259259
## 67       0 0.90740741 0.09259259
## 68       0 0.90740741 0.09259259
## 69       0 0.90740741 0.09259259
## 70       0 0.90740741 0.09259259
## 71       0 0.02173913 0.97826087
## 72       0 0.90740741 0.09259259
## 73       0 0.90740741 0.09259259
## 74       0 0.90740741 0.09259259
## 75       0 0.90740741 0.09259259
## 76       0 0.90740741 0.09259259
## 77       0 0.90740741 0.09259259
## 78       0 0.90740741 0.09259259
## 79       0 0.90740741 0.09259259
## 80       0 0.90740741 0.09259259
## 81       0 0.90740741 0.09259259
## 82       0 0.90740741 0.09259259
## 83       0 0.90740741 0.09259259
## 84       0 0.90740741 0.09259259
## 85       0 0.90740741 0.09259259
## 86       0 0.90740741 0.09259259
## 87       0 0.90740741 0.09259259
## 88       0 0.90740741 0.09259259
## 89       0 0.90740741 0.09259259
## 90       0 0.90740741 0.09259259
## 91       0 0.90740741 0.09259259
## 92       0 0.90740741 0.09259259
## 93       0 0.90740741 0.09259259
## 94       0 0.90740741 0.09259259
## 95       0 0.90740741 0.09259259
## 96       0 0.90740741 0.09259259
## 97       0 0.90740741 0.09259259
## 98       0 0.90740741 0.09259259
## 99       0 0.90740741 0.09259259
## 100      0 0.90740741 0.09259259
## 101      0 0.02173913 0.97826087
## 102      0 0.02173913 0.97826087
## 103      0 0.02173913 0.97826087
## 104      0 0.02173913 0.97826087
## 105      0 0.02173913 0.97826087
## 106      0 0.02173913 0.97826087
## 107      0 0.90740741 0.09259259
## 108      0 0.02173913 0.97826087
## 109      0 0.02173913 0.97826087
## 110      0 0.02173913 0.97826087
## 111      0 0.02173913 0.97826087
## 112      0 0.02173913 0.97826087
## 113      0 0.02173913 0.97826087
## 114      0 0.02173913 0.97826087
## 115      0 0.02173913 0.97826087
## 116      0 0.02173913 0.97826087
## 117      0 0.02173913 0.97826087
## 118      0 0.02173913 0.97826087
## 119      0 0.02173913 0.97826087
## 120      0 0.90740741 0.09259259
## 121      0 0.02173913 0.97826087
## 122      0 0.02173913 0.97826087
## 123      0 0.02173913 0.97826087
## 124      0 0.02173913 0.97826087
## 125      0 0.02173913 0.97826087
## 126      0 0.02173913 0.97826087
## 127      0 0.02173913 0.97826087
## 128      0 0.02173913 0.97826087
## 129      0 0.02173913 0.97826087
## 130      0 0.90740741 0.09259259
## 131      0 0.02173913 0.97826087
## 132      0 0.02173913 0.97826087
## 133      0 0.02173913 0.97826087
## 134      0 0.90740741 0.09259259
## 135      0 0.90740741 0.09259259
## 136      0 0.02173913 0.97826087
## 137      0 0.02173913 0.97826087
## 138      0 0.02173913 0.97826087
## 139      0 0.02173913 0.97826087
## 140      0 0.02173913 0.97826087
## 141      0 0.02173913 0.97826087
## 142      0 0.02173913 0.97826087
## 143      0 0.02173913 0.97826087
## 144      0 0.02173913 0.97826087
## 145      0 0.02173913 0.97826087
## 146      0 0.02173913 0.97826087
## 147      0 0.02173913 0.97826087
## 148      0 0.02173913 0.97826087
## 149      0 0.02173913 0.97826087
## 150      0 0.02173913 0.97826087

#Referensi 1. https://rpubs.com/newajay/iris 2. Akun Github : https://github.com/emilianovitasari

`