SlideShare a Scribd company logo
1 of 56
Decision Tree and
Random Forest
Irwansyah Saputra, S.Kom., M.Kom., MTA
Founder of Multinity Indonesia
Tentang Saya
โ€ข Irwansyah Saputra
โ€ข Dosen Ilmu Komputer
โ€ข Mahasiswa S3 Ilmu Komputer IPB University
โ€ข Bidang Kajian: Computational Intelligence &
Optimization (Data mining, machine
learning, artificial intelligence)
Halo semuanya, saya suka belajar tentang
segala hal dan suka berbagi pengetahuan. Saya
juga sering menjadi pembicara di berbagai
seminar.
Kontak yang bisa dihubungi:
WhatsApp: 0895323302241
Instagram: @irwansight_
Web: https://irw.one
Disclaimer
Materi ini digunakan sebagai bahan ajar Program Data Mining di
Multinity.id
Silakan gunakan, mohon untuk tidak mengubah template.
Jika Anda memiliki kesulitan dalam memahami materi pada slide
ini, silakan belajar di Multinity.id
Referensi
1. Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques Third
Edition, Elsevier, 2012
2. Ian H. Witten, Frank Eibe, Mark A. Hall, Data mining: Practical Machine Learning
Tools and Techniques 3rd Edition, Elsevier, 2011
3. Markus Hofmann and Ralf Klinkenberg, RapidMiner: Data Mining Use Cases and
Business Analytics Applications, CRC Press Taylor & Francis Group, 2014
4. Daniel T. Larose, Discovering Knowledge in Data: an Introduction to Data Mining,
John Wiley & Sons, 2005
5. Ethem Alpaydin, Introduction to Machine Learning, 3rd ed., MIT Press, 2014
6. Florin Gorunescu, Data Mining: Concepts, Models and Techniques, Springer,
2011
7. Oded Maimon and Lior Rokach, Data Mining and Knowledge Discovery Handbook
Second Edition, Springer, 2010
8. Warren Liao and Evangelos Triantaphyllou (eds.), Recent Advances in Data Mining
of Enterprise Data: Algorithms and Applications, World Scientific, 2007
9. Suyanto, DATA MINING: Untuk klasifikasi dan klasterisasi data, Penerbit
Informatika, 2017
Decision Tree
Irwansyah Saputra, S.Kom., M.Kom., MTA
Founder of Multinity Indonesia
Decision tree dalam keseharian
Dalam kehidupan sehari-hari, kita pasti akan menggunakan algoritme decision tree
walaupun mungkin kita menggunakannya tanpa sadar. Misalnya syarat mengikuti
ujian universitas adalah:
๏‚ท Terdaftar sebagai mahasiswa aktif
๏‚ท Tidak terkena sanksi akademik
๏‚ท Tidak ada nilai C
Sanksi
akademik
Mahasiswa
Tidak ikut
ujian
Aktif Tidak Aktif
Nilai C
Tidak ikut
ujian
ada
Tidak ada
Tidak ikut
ujian
ada
Ikut ujian
Tidak ada
Ide dasar Decision tree
โ€ข Mencari ukuran varians / entropi dari berbagai atribut.
โ€ข Mendapatkan akar sebagai atribut yang memiliki informasi
terbanyak dalam dataset berdasarkan ukuran entropi.
โ€ข Kemudian, membuat cabang untuk atribut yang memiliki peringkat
di bawah akar. Semakin kecil informasi yang dimiliki, atribut akan
semakin di bawah.
โ€ข Ujungnya adalah daun. Di tingkatan ini, perhitungan akan berhenti
dilakukan karena sudah mencapai akhir pohon.
โ€ข Setelah model pohon dibuat, akan menghasilkan aturan IF โ€“ Then
yang dapat digunakan dan dipahami tanpa membutuhkan
pengetahuan statistika sama sekali.
Struktur Pohon
Keterangan:
๏‚ท Root Node = biasa juga disebut dengan node induk. Yaitu node
pertama yang ditempati oleh atribut dengan nilai informasi tertinggi.
๏‚ท Decision Node = pemisahan sub node menjadi lebih banyak sub node.
๏‚ท Leaf Node = node terminal, karena tidak dapat dipisahkan lagi.
๏‚ท Sub-Tree = biasa disebut cabang, yaitu bagian pohon dari pohon
keseluruhan.
Kenapa harus mencari root node?
โ€ข Jika menggunakan sembarang atribut sebagai root, maka
aturan yang dihasilkan akan tidak berguna sama sekali.
โ€ข Mencari atribut sebagai root untuk mengetahui seberapa
pengaruhnya atribut tersebut pada kelas target. Tentunya,
atribut yang memiliki informasi tertinggi layak menjadi root.
โ€ข Tanpa root, kita tak bisa membuat struktur pohon yang
benar.
โ€ข Root akan sangat penting dalam membuat aturan yang
dihasilkan dari pohon.
Bagaimana cara mencari root?
โ€ข Pertama, kita harus mendapatkan varians dari setiap kelas
pada atribut dan total target.
โ€ข Hitung varians tersebut dengan entropi.
โ€ข Cari weighting average dari setiap atribut.
โ€ข Lakukan perhitungan entropi total โ€“ weighting average. Ini
disebut information gain.
โ€ข atribut yang memiliki information gain tertinggi, maka layak
menjadi root.
Apa itu entropi?
โ€ข Sederhananya, Entropi adalah ukuran ketidakteraturan (measure of
disorder), bisa juga disebut dengan ukuran kemurnian (purity).
Rumusnya:
๐ธ ๐‘† =
๐‘–=1
๐‘›
โˆ’๐‘๐‘– log2 ๐‘๐‘–
Keterangan:
๏‚ท ๐‘† = Himpunan kasus
๏‚ท ๐‘› = Jumlah anggota dari ๐‘†
๏‚ท ๐‘๐‘– = proporsi dari ๐‘†๐‘– terhadap ๐‘†
Contoh sederhana
โ€ข Misalnya kita memiliki dataset yang terdiri dari kelas positif dan
kelas negatif , sehingga โ€˜iโ€™ pada rumus bisa bernilai positif atau
negatif.
โ€ข Jika kita memiliki total berjumlah 10 tupel, lalu terbagi pada data
positif sebanyak 3 tupel dan untuk data negatif sebanyak 7 tupel,
maka P+ adalah 3/10 dan P- adalah 7/10.
๐ธ ๐‘† =
๐‘–=1
๐‘›
โˆ’๐‘๐‘– log2 ๐‘๐‘–
๐ธ ๐‘† = โˆ’
3
10
ร— log2
3
10
+ โˆ’
7
10
ร— log2
7
10
โ‰ˆ 0.88
Visualisasi Entropi
๏‚ท Kita lihat lingkaran yang paling kiri (hanya berisi data negatif), lingkaran tersebut terletak di angka 0
pada P+. Wajar saja, karena yang kita hitung adalah P+, sehingga jika lingkaran berisi kumpulan nilai
negatif, maka ia akan berada di paling kiri.
๏‚ท Kita bisa memahami jika lingkaran hanya berisi data negatif atau positif saja, maka itu berarti tingkat
kemurniannya tinggi dan tingkat ketidakteraturannya rendah.
๏‚ท Selain itu kita bisa perhatikan lingkaran di tengah yang menunjukkan keberagaman dari kelas yang
dibagi sama rata antara kelas positif dan negatif. Terlihat bahwa lingkaran tersebut terletak pada nilai
Entropi = 1 di sumbu y. Artinya semakin tinggi keberagaman / ketidakteraturan dalam suatu
lingkaran, maka semakin tinggi juga nilai entropinya.
๐ธ ๐‘† =
๐‘–=1
๐‘›
โˆ’๐‘๐‘– log2 ๐‘๐‘–
๐ธ ๐‘† = โˆ’
3
10
ร— log2
3
10
+ โˆ’
7
10
ร— log2
7
10
โ‰ˆ 0.88
Kesimpulan Entropi
โ€ข Berdasarkan seluruh penjelasan di atas, kita bisa menyimpulkan bahwa entropi
merupakan ukuran ketidakteraturan atau ukuran kemurnian.
โ€ข Semakin tinggi ukuran ketidakteraturan, semakin rendah ukuran kemurnian.
Begitu juga sebaliknya.
โ€ข Tujuan kita adalah bagaimana caranya mengurangi ketidakteraturan tersebut.
Apa itu Information Gain?
โ€ข Information gain merupakan teknik untuk mengurangi ketidakteraturan
entropi sehingga bisa mendapatkan ukuran informasi dari hasilnya.
โ€ข Semakin tinggi nilai information gain, berarti semakin tinggi juga
informasi yang didapatkan.
Rumusnya:
๐ผ๐บ ๐‘Œ, ๐‘‹ = ๐ธ ๐‘Œ โˆ’ ๐ธ ๐‘Œ ๐‘‹
Keterangan:
๏‚ท ๐ธ ๐‘Œ = entropi dari atribut target
๏‚ท ๐ธ ๐‘Œ ๐‘‹ = entropi rata-rata dari atribut prediktor terhadap atribut
target
๏‚ท ๐‘‹ = atribut prediktor
๏‚ท ๐‘Œ = atribut target
Contoh kasus
Nomor Pelanggaran Bonus
1 Excellent Normal
2 Excellent Normal
3 Excellent Normal
4 Excellent High
5 Good Normal
6 Good Normal
7 Good Normal
8 Good Normal
9 Good High
10 Good High
11 Poor High
12 Poor High
13 Poor High
14 Poor High
Pelanggaran Bonus
Normal High Total
Excellent 3 1 4
Good 4 2 6
Poor 0 4 4
Total 7 7 14
Ubah menjadi tabel kontingensi,
agar lebih mudah
โ€ข Berdasarkan tabel kontingensi, kita bisa mengetahui
bahwa atribut Pelanggaran terdiri dari tiga kategori
yaitu Excellent, Good dan Poor.
โ€ข Sedangkan atribut target Bonus terdiri dari dua
kategori yaitu High dan Normal. Jumlah kelas dari
kategori High dan Normal didistribusikan dengan
sempurna karena jumlahnya sama rata, yaitu 7 data
untuk setiap kelas.
Penyelesaian
โ€ข Selanjutnya kita bisa menghitung entropi dari seluruhnya. Pertama kita hitung entropi dari
atribut target Bonus terlebih dahulu:
๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  = โˆ’
7
14
ร— log2
7
14
+ โˆ’
7
14
ร— log2
7
14
= 1
โ€ข Selanjutnya kita hitung entropi dari tiap kelas pada atribut Pelanggaran.
๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐ธ๐‘ฅ๐‘๐‘’๐‘™๐‘™๐‘’๐‘›๐‘ก = โˆ’
3
4
ร— log2
3
4
+ โˆ’
1
4
ร— log2
1
4
โ‰ˆ 0.811
๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐บ๐‘œ๐‘œ๐‘‘ = โˆ’
4
6
ร— log2
4
6
+ โˆ’
2
6
ร— log2
2
6
โ‰ˆ 0.918
๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐‘ƒ๐‘œ๐‘œ๐‘Ÿ = โˆ’0 ร— log2 0 + โˆ’
4
4
ร— log2
4
4
= 0
โ€ข Didapatkan weighting average atribut Pelanggaran:
๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› =
4
14
ร— 0.811 +
6
14
ร— 0.918 +
4
14
ร— 0 = 0.625
Pelanggaran Bonus
Normal High Total
Excellent 3 1 4
Good 4 2 6
Poor 0 4 4
Total 7 7 14
Penyelesaian
โ€ข Saatnya untuk mencari nilai information gain dari data tersebut menggunakan
rumus:
๐ผ๐บ ๐‘Œ, ๐‘‹ = ๐ธ ๐‘Œ โˆ’ ๐ธ ๐‘Œ ๐‘‹
๐ผ๐บ ๐ต๐‘œ๐‘›๐‘ข๐‘ , ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  โˆ’ ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘›
= 1 โˆ’ 0.625
= 0.375
โ€ข Dari nilai information gain tersebut, kita dapat menyimpulkan bahwa
informasi yang dimiliki oleh atribut Pelanggaran terhadap atribut targetnya
(yaitu atribut Bonus) adalah sebesar 0.375 atau 37.5% .
Perbedaan ID3 dan C5.0
โ€ข Letak perbedaan paling mendasar dari ID3 dan C5.0 adalah pada perhitungan gain. Jika ID3
menggunakan information gain untuk menyeleksi atribut dan memilihnya sebagai akar, pada
C5.0 yang digunakan adalah gain rasio. Perbedaan lebih lanjut antara information gain dan
gain rasio dapat dilihat sebagai berikut:
1. Gain rasio bisa digunakan untuk menghitung kelas yang memiliki tipe data numerik
maupun kategorik.
2. Gain rasio hanya dimiliki oleh algoritme C4.5
3. Gain rasio bisa memberikan nilai sedikit lebih spesifik dibandingkan information gain
dalam beberapa kasus.
Menghitung Gain Ratio
โ€ข Cara menghitung nilai gain rasio cukup mudah. Hanya dengan menentukan nilai
information gain dan splitinfo dari suatu kelas.
โ€ข Persamaan SplitInfo adalah:
๐‘†๐‘๐‘™๐‘–๐‘ก๐ผ๐‘›๐‘“๐‘œ๐ด(๐ท) = โˆ’
๐‘—=1
๐‘ฃ
|๐ท๐‘—|
|๐ท|
ร— ๐‘™๐‘œ๐‘”2(
|๐ท๐‘—|
|๐ท|
)
Keterangan:
๏‚ท ๐ท๐‘— = Jumlah setiap kelas dalam suatu atribut.
๏‚ท ๐ท = Jumlah seluruh tupel dalam dataset.
Contoh kasus
๐‘†๐‘๐‘™๐‘–๐‘ก๐ผ๐‘›๐‘“๐‘œ๐ด(๐ท) = โˆ’
๐‘—=1
๐‘ฃ
๐ท๐‘—
๐ท
ร— ๐‘™๐‘œ๐‘”2(
๐ท๐‘—
๐ท
)
= โˆ’
4
14
ร— log2
4
14
+ โˆ’
6
14
ร— log2
6
14
+ โˆ’
4
14
ร— log2
4
14
= 1.557
โ€ข Setelah kita dapatkan splitinfo, kita bisa mencari gain rasio dengan rumus:
๐บ๐‘Ž๐‘–๐‘›๐‘…๐‘Ž๐‘ก๐‘–๐‘œ ๐ด =
๐บ๐‘Ž๐‘–๐‘› ๐ด
๐‘†๐‘๐‘™๐‘–๐‘ก๐ผ๐‘›๐‘“๐‘œ ๐ด
=
0.375
1.557
= 0.241
Pelanggaran Bonus
Normal High Total
Excellent 3 1 4
Good 4 2 6
Poor 0 4 4
Total 7 7 14
Kasus Decision Tree
ID Outlook Temp. Humidity Wind Decision
0 Sunny Hot High Weak No
1 Sunny Hot High Strong No
2 Overcast Hot High Weak Yes
3 Rain Mild High Weak Yes
4 Rain Cool Normal Weak Yes
5 Rain Cool Normal Strong No
6 Overcast Cool Normal Strong Yes
7 Sunny Mild High Weak No
8 Sunny Cool Normal Weak Yes
9 Rain Mild Normal Weak Yes
10 Sunny Mild Normal Strong Yes
11 Overcast Mild High Strong Yes
12 Overcast Hot Normal Weak Yes
13 Rain Mild High Strong No
Keterangan dataset:
๏‚ท atribut prediktor terdiri dari empat atribut
yaitu Outlook, Temperature, Humidity dan
Wind.
๏‚ท atribut target terdiri dari satu atribut yaitu
Decision.
๏‚ท Semua atribut memiliki tipe data yang sama
yaitu kategorik.
Buat tabel kontingensi
โ€ข Ubah ke dalam bentuk tabel kontingensi
Outlook Decision
Yes No Total
Overcast 4 0 4
Rain 4 1 5
Sunny 2 3 5
Total 7 7 14
Temp. Decision
Yes No Total
Cool 0 4 4
Hot 2 2 4
Mild 2 4 6
Total 4 10 14
Humidity Decision
Yes No Total
High 4 3 7
Normal 7 0 7
Total 11 3 14
Wind Decision
Yes No Total
Weak 2 6 8
Strong 4 2 6
Total 6 8 14
Hitung entropi Outlook
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐‘‚๐‘ฃ๐‘’๐‘Ÿ๐‘๐‘Ž๐‘ ๐‘ก = โˆ’
0
4
ร— log2
0
4
+ โˆ’
4
4
ร— log2
4
4
= 0
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐‘…๐‘Ž๐‘–๐‘› = โˆ’
1
5
ร— log2
1
5
+ โˆ’
4
5
ร— log2
4
5
โ‰ˆ 0.722
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐‘†๐‘ข๐‘›๐‘›๐‘ฆ = โˆ’
3
5
ร— log2
3
5
+ โˆ’
2
5
ร— log2
2
5
โ‰ˆ 0.971
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ =
4
14
ร— 0 +
5
14
ร— 0.722 +
5
14
ร— 0.971 โ‰ˆ 0.605
Hitung entropi Temperature
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = ๐ถ๐‘œ๐‘œ๐‘™ = โˆ’
0
4
ร— log2
0
4
+ โˆ’
4
4
ร— log2
4
4
= 0
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = ๐ป๐‘œ๐‘ก = โˆ’
2
4
ร— log2
2
4
+ โˆ’
2
4
ร— log2
2
4
= 1
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = ๐‘€๐‘–๐‘‘ = โˆ’
2
6
ร— log2
2
6
+ โˆ’
4
6
ร— log2
4
6
โ‰ˆ 0.918
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐‘‡๐‘’๐‘š๐‘. =
4
14
ร— 0 +
4
14
ร— 1 +
6
14
ร— 0.918 โ‰ˆ 0.679
Hitung entropi Humidity
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = ๐ป๐‘–๐‘”โ„Ž
= โˆ’
4
7
ร— log2
4
7
+ โˆ’
3
7
ร— log2
3
7
โ‰ˆ 0.985
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = ๐‘๐‘œ๐‘Ÿ๐‘š๐‘Ž๐‘™
= โˆ’
0
7
ร— log2
0
7
+ โˆ’
7
7
ร— log2
7
7
= 0
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ =
7
14
ร— 0.985 +
7
14
ร— 0
Hitung entropi Wind
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘Š๐‘–๐‘›๐‘‘ = ๐‘Š๐‘’๐‘Ž๐‘˜ = โˆ’
2
8
ร— log2
2
8
+ โˆ’
6
8
ร— log2
6
8
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘Š๐‘–๐‘›๐‘‘ = ๐‘†๐‘ก๐‘Ÿ๐‘œ๐‘›๐‘” = โˆ’
4
6
ร— log2
4
6
+ โˆ’
2
6
ร— log2
2
6
โ‰ˆ 0.918
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐‘Š๐‘–๐‘›๐‘‘ =
8
14
ร— 0.811 +
6
14
ร— 0.918 โ‰ˆ 0.857
Hitung entropi Total
๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› = โˆ’
4
14
ร— log2
4
14
+ โˆ’
10
14
ร— log2
10
14
โ‰ˆ 0.863
Hitung Information Gain
๐ผ๐บ ๐‘Œ, ๐‘‹ = ๐ธ ๐‘Œ โˆ’ ๐ธ ๐‘Œ ๐‘‹
๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜
= 0.863 โˆ’ 0.605
= 0.259
๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐‘‡๐‘’๐‘š๐‘. = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘.
= 0.863 โˆ’ 0.679
= 0.184
๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ
= 0.863 โˆ’ 0.493
= 0.371
๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐‘Š๐‘–๐‘›๐‘‘ = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘Š๐‘–๐‘›๐‘‘
= 0.863 โˆ’ 0.857
= 0.006
Hasil keseluruhan
atribut
Decision
Entropy
Information
Gain
Yes No Total
Outlook
๏‚ท Overcast 4 0 4 0
0.259
๏‚ท Rain 4 1 5 0.722
๏‚ท Sunny 2 3 5 0.971
Temp.
๏‚ท Cool 0 4 4 0
0.184
๏‚ท Hot 2 2 4 1
๏‚ท Mild 2 4 6 0.918
Humidity
๏‚ท High 4 3 7 0.985
0.371
๏‚ท Normal 7 0 7 0
Wind
๏‚ท Weak 2 6 8 0.811
0.006
๏‚ท Strong 4 2 6 0.918
Struktur Pohon yang dihasilkan
?
Humidity
Yes
High Normal
atribut
Decision
Entropy
Information
Gain
Yes No Total
Humidity | High 4 3 7 0.985
Outlook
๏‚ท Overcas
t
2 0 2
0
0.6995
๏‚ท Rain 1 1 2 1
๏‚ท Sunny 0 3 3 0
Temp.
๏‚ท Cool 0 0 0 0
0.0203
๏‚ท Hot 1 2 3 0.918
๏‚ท Mild 2 2 4 1
Wind
๏‚ท Weak 2 2 4 1
0.0203
๏‚ท Strong 1 2 3 0.918
Lakukan pencarian cabang
ID Outlook Temp. Humidity Wind Decision
0 Sunny Hot High Weak No
1 Sunny Hot High Strong No
2 Overcast Hot High Weak Yes
3 Rain Mild High Weak Yes
7 Sunny Mild High Weak No
11 Overcast Mild High Strong Yes
13 Rain Mild High Strong No
Struktur Pohon yang dihasilkan
Outlook
Humidity
Yes
High Normal
? No
Sunny
Yes
Overcast
Rain
Lakukan pencarian cabang
ID Outlook Temp.
Humidit
y
Wind Decision
3 Rain Mild High Weak Yes
13 Rain Mild High Strong No
atribut
Decision Entrop
y
Informatio
n Gain
Yes No Total
Humidity |
High and
Outlook | Rain
1 1 2 1
Temp.
๏‚ท Cool 0 0 0 0
0
๏‚ท Hot 0 0 0 0
๏‚ท Mild 1 1 2 1
Wind
๏‚ท Weak 1 0 1 0
1
๏‚ท Strong 0 1 1 0
Struktur Pohon yang dihasilkan
Outlook
Humidity
Yes
High Normal
Wind No
Sunny
Yes
Overcast
Rain
No
Strong
Yes
Weak
Aturan yang dihasilkan
๏‚ท If Humidity = Normal, then Yes.
๏‚ท If Humidity = High and Outlook = Sunny, then No.
๏‚ท If Humidity = High and Outlook = Overcast, then Yes.
๏‚ท If Humidity = High and Outlook = Sunny and Wind = Strong, then No.
๏‚ท If Humidity = High and Outlook = Sunny and Wind = Weak, then Yes.
Outlook
Humidity
Yes
High Normal
Wind No
Sunny
Yes
Overcast
Rain
No
Strong
Yes
Weak
Random Forest
Irwansyah Saputra, S.Kom., M.Kom., MTA
Founder of Multinity Indonesia
Ide Random Forest
โ€ข Semakin banyak kemungkinan yang dibuat, maka peluang
benar semakin banyak juga.
โ€ข Berisi banyak decision tree kemudian dicari nilai mayoritas.
โ€ข Banyaknya decision tree adalah hyperparamater. Artinya
bisa diatur sendiri.
โ€ข Satu decision tree rentan terkena overfitting, sehingga
dilakukan bagging.
Probabilitas
โ€ข Saat seseorang bertaruh dengan uang $100, maka ada
beberapa kemungkinan:
โ€ข Jika ia bermain sekali, maka kemungkinan menang atau
kalah adalah 50:50
โ€ข Sehingga, kita bisa memecah uang tersebut untuk beberapa
kali permainan.
โ€ข Karena semakin banyak ia bermain, maka semakin banyak
peluang ia menang.
โ€ข Ini konsep dasar Random Forest
Apa buktinya?
Misalnya:
1.Game 1 โ€” play 100 times, betting $1 each time.
2.Game 2โ€” play 10 times, betting $10 each time.
3.Game 3โ€” play one time, betting $100.
Mungkin hasilnya bisa sama jika melihat ekspektasi:
โ€ข Expected Value Game 1 = (0.60*1 + 0.40*-1)*100 = 20
โ€ข Expected Value Game 2= (0.60*10 + 0.40*-10)*10 = 20
โ€ข Expected Value Game 3= 0.60*100 + 0.40*-100 = 20
Terlihat berbeda jika...
โ€ข Hasilnya terlihat berbeda jika kita visualisasikan.
Random Forest adalah...
โ€ข Banyaknya pohon yang dibuat,
akan menghasilkan akurasi
yang beragam.
โ€ข Akurasi yang mayoritas, akan
dijadikan hasil akhir random
forest.
Cara kerja RF
DATASET
DATASET
DATASET
DATASET
DATASET
1
0
1
1
Model 1
Model 2
Model 3
Model n
Mayoritas
memprediksi 1
โ€ข Tentukan jumlah pohon yang akan dibuat. Dalam python disebut dengan n_estimators.
โ€ข Lakukan bagging, yaitu mengambil sampel dari atribut dan sampel dari baris untuk dimodelkan dengan
decision tree dan bangun sebanyak jumlah pohon yang ditentukan.
โ€ข Biasanya menggunakan gini split indeks untuk membuat pohon. Menggunakan information gain pun
tak masalah.
โ€ข Lihat hasil prediksi mayoritas, itu yang akan menjadi hasil akhir dari random forest.
โ€ข Jika pada kode, kita bisa membuat ratusan pohon. Pada teknik manual, kita bisa membuat beberapa
sampel pohon sebagai gambaran.
Kenapa Random Forest?
โ€ข Karena decision tree rentan low bias
dan high variance.
โ€ข Low bias: model dapat memprediksi
aturan dengan ketat sehingga hampir
tidak ada bias di dalamnya, karena
sudah semua masuk ke dalam aturan.
โ€ข High variance: akibat dari low bias.
Karena aturan sangat ketat, maka
pohon yang dimodelkan semakin
dalam, menyebabkan tingkat varians
yang tinggi dan overfitting.
โ€ข Dengan random forest, kita bisa
mengatasi low bias dan high variance.
Karena hanya diberikan beberapa
atribut dan tupel sampel untuk setiap
pohon.
Lebih jelas...
DATASET
DATASET
DATASET
DATASET
DATASET
1
0
1
1
Model 1
Model 2
Model 3
Model n
Mayoritas
memprediksi 1
Outlook
Humidity
Yes
High Normal
Wind No
Sunny
Yes
Overcast
Rain
No
Strong
Yes
Weak
Contoh kasus
id temperatur badan sesak nafas batuk diagnosis sakit covid-19
1 tinggi ya tidak ya
2 normal ya ya ya
3 normal tidak tidak tidak
4 tinggi tidak ya tidak
5 tinggi ya tidak ya
6 normal ya tidak ya
7 tinggi ya ya ya
8 normal tidak ya tidak
Iterasi Pohon 1
Kita asumsikan bahwa pohon yang akan dibuat sebanyak 3 pohon. Karena dataset memiliki tupel yang
sedikit, maka pohon pertama bisa kita buat dengan melibatkan seluruh atribut dan hilangkan baris nomor
5. Pada kasus ini, pencarian root atau atribut terbaik akan dilakukan dengan menggunakan gini indeks,
tidak dengan information gain atau gain rasio. Tujuan dari tugas ini adalah mencari atribut terbaik dari
berbagai pohon yang dibangun (best split).
id temperatur badan sesak nafas batuk diagnosis sakit covid-19
1 tinggi ya tidak ya
2 normal ya ya ya
3 normal tidak tidak tidak
4 tinggi tidak ya tidak
6 normal ya tidak ya
7 tinggi ya ya ya
8 normal tidak ya tidak
Iterasi Pohon 1
โ€ข Ubahlah menjadi tabel kontingensi
Temp. Badan
Diagnosis
ya tidak Total
tinggi 2 1 3
normal 2 2 4
Total 4 3 7
Sesak Nafas
Diagnosis
ya tidak Total
ya 4 0 4
tidak 0 3 3
Total 4 3 7
Batuk
Diagnosis
ya tidak Total
ya 2 2 4
tidak 2 1 3
Total 4 3 7
Diagnosis
ya tidak Total
4 3 7
Iterasi Pohon 1
โ€ข Selanjutnya, hitung gini indeks dari setiap kelas dari atribut yang tersedia dengan rumus:
๐บ๐‘–๐‘›๐‘– = 1 โˆ’
๐‘–=1
๐ถ
(๐‘๐‘–)2
Maka untuk setiap atribut, kita bisa mendapatkan gini indeks:
โ€ข ๐‘‡๐‘’๐‘š๐‘. ๐ต๐‘Ž๐‘‘๐‘Ž๐‘›|๐‘‡๐‘–๐‘›๐‘”๐‘”๐‘– = 1 โˆ’
2
3
2
+
1
3
2
= 0.44
๐‘‡๐‘’๐‘š๐‘. ๐ต๐‘Ž๐‘‘๐‘Ž๐‘›|๐‘๐‘œ๐‘Ÿ๐‘š๐‘Ž๐‘™ = 1 โˆ’
2
4
2
+
2
4
2
= 0.5
๐‘†๐‘’๐‘ ๐‘Ž๐‘˜ ๐‘๐‘Ž๐‘“๐‘Ž๐‘ |๐‘Œ๐‘Ž = 1 โˆ’
4
4
2
+
0
4
2
= 0
๐‘†๐‘’๐‘ ๐‘Ž๐‘˜ ๐‘๐‘Ž๐‘“๐‘Ž๐‘ |๐‘‡๐‘–๐‘‘๐‘Ž๐‘˜ = 1 โˆ’
0
3
2
+
3
3
2
= 0
๐ต๐‘Ž๐‘ก๐‘ข๐‘˜|๐‘Œ๐‘Ž = 1 โˆ’
2
4
2
+
2
4
2
= 0.5
๐ต๐‘Ž๐‘ก๐‘ข๐‘˜|๐‘‡๐‘–๐‘‘๐‘Ž๐‘˜ = 1 โˆ’
2
3
2
+
1
3
2
= 0.44
Iterasi Pohon 1
โ€ข Setelah didapatkan semua gini indeks, selanjutnya dicari gini split sebagai berikut:
๐‘‡๐‘’๐‘š๐‘. ๐ต๐‘Ž๐‘‘๐‘Ž๐‘› =
3
7
โˆ— 0.444444444 +
4
7
โˆ— 0.5 = 0.476190476
๐‘†๐‘’๐‘ ๐‘Ž๐‘˜ ๐‘๐‘Ž๐‘“๐‘Ž๐‘  =
5
8
โˆ— 0 +
3
8
โˆ— 0 = 0
๐ต๐‘Ž๐‘ก๐‘ข๐‘˜ =
4
7
โˆ— 0.5 +
3
7
โˆ— 0.444444444 = 0.476190476
โ€ข Terakhir adalah penentuan akar atau atribut terbaik. Berdasarkan perhitungan di atas,
maka atribut Sesak Nafas merupakan atribut terbaik karena memiliki gini split indeks yang
paling rendah.
โ€ข Jika kita ingin membuat pohon utuh, kita bisa lakukan langkah selanjutnya seperti pada
algoritme decision tree. Namun, tugas kita hanyalah mencari atribut terbaik dari pohon 1.
Iterasi Pohon 2
โ€ข Kita buat pohon kedua dengan menghilangkan atribut Batuk, juga
menghilangkan baris 4 dan 6 dari dataset. Maka hasilnya sebagai berikut:
id temperatur badan sesak nafas diagnosis sakit covid-19
1 tinggi ya ya
2 normal ya ya
3 normal tidak tidak
5 tinggi ya ya
7 tinggi ya ya
8 normal tidak tidak
Iterasi Pohon 2
โ€ข Lakukan perhitungan gini indeks dan gini split indeks dengan rumus seperti pada
pohon pertama, dan hasilnya akan menjadi seperti:
โ€ข Berdasarkan perhitungan gini split indeks di atas, maka atribut yang menjadi akar
adalah Sesak Nafas, karena memiliki nilai gini split indeks terkecil.
Temp.
Badan
Diagnosis
gini
indeks
gini split
indeks
ya tidak Total
tinggi 3 0 3 0
0.22
normal 1 2 3 0.44
Total 4 2 6 0.44
Sesak
Nafas
Diagnosis
gini indeks
gini split
indeks
ya tidak Total
ya 4 0 4 0
0
tidak 0 2 2 0
Total 4 2 6 0.44
Iterasi Pohon 3
โ€ข Asumsikan kita melakukan bagging pada dataset dengan menghilangkan atribut
Sesak Nafas, baris yang dihilangkan adalah 2 dan 7. Hasilnya dapat dilihat sebagai
berikut:
id temperatur badan batuk diagnosis sakit covid-19
1 tinggi tidak ya
3 normal tidak tidak
4 tinggi ya tidak
5 tinggi tidak ya
6 normal tidak ya
8 normal ya tidak
Iterasi Pohon 3
โ€ข Lakukan perhitungan gini indeks dan gini split indeks dengan rumus seperti pada
pohon pertama, dan hasilnya akan menjadi seperti:
โ€ข Terlihat pada perhitungan di atas, terlihat bahwa atribut terbaik adalah Batuk,
karena memiliki nilai gini split indeks terkecil.
Temp.
Badan
Diagnosis
gini
indeks
gini split
indeks
ya tidak Total
tinggi 2 1 3 0.44
0.44
normal 1 2 3 0.44
Total 3 3 6 0.5
Batuk
Diagnosis
gini
indeks
gini split
indeks
ya tidak Total
ya 0 2 2 0
0.25
tidak 3 1 4 0.375
Total 3 3 6 0.5
Hasil Akhir
โ€ข Berdasarkan iterasi pada ketiga pohon dengan melakukan bagging terhadap
dataset yang tersedia, maka hasilnya adalah atribut Sesak Nafas menjadi atribut
terbaik dan layak untuk menjadi Akar karena memiliki nilai gini split terkecil.
โ€ข Walaupun atribut Batuk berhasil menjadi atribut terbaik pada pohon ketiga, itu
hanya disebabkan bagging yang dilakukan terhadap atribut Sesak Nafas.
Sehingga jika dilakukan iterasi pohon secara terus menerus dan melibatkan
atribut Sesak Nafas, akan dipastikan bahwa atribut Sesak Nafas akan menjadi
atribut terbaik dan menjadi akar.
Random Forest Regression
โ€ข Sama saja. Perbedaannya pada hasil yang didapatkan.
โ€ข Pada regresi, hasil bersifat numerik, sehingga untuk
mendapatkan nilai akhirnya dengan cara menghitung
median atau mean dari keseluruhan pohon.
โ€ข Akan lebih paham nanti setelah memahami materi regresi.

More Related Content

What's hot

Data mining 1 pengantar
Data mining 1   pengantarData mining 1   pengantar
Data mining 1 pengantarIrwansyahSaputra1
ย 
K-Means Clustering.ppt
K-Means Clustering.pptK-Means Clustering.ppt
K-Means Clustering.pptAdam Superman
ย 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
ย 
Materi Data Mining - C4.5
Materi Data Mining - C4.5Materi Data Mining - C4.5
Materi Data Mining - C4.5dedidarwis
ย 
Data mining 6 klasifikasi naive bayes classifier
Data mining 6   klasifikasi naive bayes classifierData mining 6   klasifikasi naive bayes classifier
Data mining 6 klasifikasi naive bayes classifierIrwansyahSaputra1
ย 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Farichah Riha
ย 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Nerossi Jonathan
ย 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
ย 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
ย 
Machine Learning dengan R
Machine Learning dengan RMachine Learning dengan R
Machine Learning dengan RMuhammad Rifqi
ย 
Metode interpolasi linier
Metode  interpolasi linierMetode  interpolasi linier
Metode interpolasi linierokti agung
ย 
Algoritma greedy
Algoritma greedyAlgoritma greedy
Algoritma greedyRengga Aditya
ย 
Pertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTreePertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTreeEndang Retnoningsih
ย 
Bab 8 pendeteksian tepi
Bab 8 pendeteksian tepiBab 8 pendeteksian tepi
Bab 8 pendeteksian tepiSyafrizal
ย 
Konsep Data Mining
Konsep Data MiningKonsep Data Mining
Konsep Data Miningdedidarwis
ย 
Data mining 4 konsep dasar klasifikasi
Data mining 4   konsep dasar klasifikasiData mining 4   konsep dasar klasifikasi
Data mining 4 konsep dasar klasifikasiIrwansyahSaputra1
ย 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskritZuhri Patria Siregar
ย 

What's hot (20)

Data mining 1 pengantar
Data mining 1   pengantarData mining 1   pengantar
Data mining 1 pengantar
ย 
K-Means Clustering.ppt
K-Means Clustering.pptK-Means Clustering.ppt
K-Means Clustering.ppt
ย 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
ย 
Materi Data Mining - C4.5
Materi Data Mining - C4.5Materi Data Mining - C4.5
Materi Data Mining - C4.5
ย 
2. galat
2. galat2. galat
2. galat
ย 
Data mining 6 klasifikasi naive bayes classifier
Data mining 6   klasifikasi naive bayes classifierData mining 6   klasifikasi naive bayes classifier
Data mining 6 klasifikasi naive bayes classifier
ย 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)
ย 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)
ย 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
ย 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
ย 
Machine Learning dengan R
Machine Learning dengan RMachine Learning dengan R
Machine Learning dengan R
ย 
Metode interpolasi linier
Metode  interpolasi linierMetode  interpolasi linier
Metode interpolasi linier
ย 
Algoritma greedy
Algoritma greedyAlgoritma greedy
Algoritma greedy
ย 
20731 21 visualisasi data
20731 21 visualisasi data20731 21 visualisasi data
20731 21 visualisasi data
ย 
Pertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTreePertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTree
ย 
Bab 8 pendeteksian tepi
Bab 8 pendeteksian tepiBab 8 pendeteksian tepi
Bab 8 pendeteksian tepi
ย 
Konsep Data Mining
Konsep Data MiningKonsep Data Mining
Konsep Data Mining
ย 
Data mining 4 konsep dasar klasifikasi
Data mining 4   konsep dasar klasifikasiData mining 4   konsep dasar klasifikasi
Data mining 4 konsep dasar klasifikasi
ย 
Ppt graph
Ppt graphPpt graph
Ppt graph
ย 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskrit
ย 

Similar to Data mining 5 klasifikasi decision tree dan random forest

Unit 2-ML.pptx
Unit 2-ML.pptxUnit 2-ML.pptx
Unit 2-ML.pptxChitrachitrap
ย 
Decision Trees - The Machine Learning Magic Unveiled
Decision Trees - The Machine Learning Magic UnveiledDecision Trees - The Machine Learning Magic Unveiled
Decision Trees - The Machine Learning Magic UnveiledLuca Zavarella
ย 
Decision Trees
Decision TreesDecision Trees
Decision TreesStudent
ย 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptxWanderer20
ย 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptxWanderer20
ย 
Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Kush Kulshrestha
ย 
decision tree.pdf
decision tree.pdfdecision tree.pdf
decision tree.pdfDivitGoyal2
ย 
Machine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdfMachine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdfAdityaSoraut
ย 
Decision tree and random forest
Decision tree and random forestDecision tree and random forest
Decision tree and random forestLippo Group Digital
ย 
NLP - Sentiment Analysis
NLP - Sentiment AnalysisNLP - Sentiment Analysis
NLP - Sentiment AnalysisRupak Roy
ย 
Machine learning
Machine learningMachine learning
Machine learningVatsal Gajera
ย 
Decision Tree Classification Algorithm.pptx
Decision Tree Classification Algorithm.pptxDecision Tree Classification Algorithm.pptx
Decision Tree Classification Algorithm.pptxPriyadharshiniG41
ย 
Introduction to Datamining Concept and Techniques
Introduction to Datamining Concept and TechniquesIntroduction to Datamining Concept and Techniques
Introduction to Datamining Concept and TechniquesSฦกn Cรฒm Nhom
ย 
Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018digitalzombie
ย 
Decision Tree in Machine Learning
Decision Tree in Machine Learning  Decision Tree in Machine Learning
Decision Tree in Machine Learning Souma Maiti
ย 
Chapter 4.pdf
Chapter 4.pdfChapter 4.pdf
Chapter 4.pdfDrGnaneswariG
ย 
Rahat & juhith
Rahat & juhithRahat & juhith
Rahat & juhithRj Juhith
ย 

Similar to Data mining 5 klasifikasi decision tree dan random forest (20)

Decision Tree.pptx
Decision Tree.pptxDecision Tree.pptx
Decision Tree.pptx
ย 
Unit 2-ML.pptx
Unit 2-ML.pptxUnit 2-ML.pptx
Unit 2-ML.pptx
ย 
Decision Trees - The Machine Learning Magic Unveiled
Decision Trees - The Machine Learning Magic UnveiledDecision Trees - The Machine Learning Magic Unveiled
Decision Trees - The Machine Learning Magic Unveiled
ย 
Decision Trees
Decision TreesDecision Trees
Decision Trees
ย 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptx
ย 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptx
ย 
Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees
ย 
decision tree.pdf
decision tree.pdfdecision tree.pdf
decision tree.pdf
ย 
Machine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdfMachine Learning Unit-5 Decesion Trees & Random Forest.pdf
Machine Learning Unit-5 Decesion Trees & Random Forest.pdf
ย 
Decision tree and random forest
Decision tree and random forestDecision tree and random forest
Decision tree and random forest
ย 
NLP - Sentiment Analysis
NLP - Sentiment AnalysisNLP - Sentiment Analysis
NLP - Sentiment Analysis
ย 
Machine learning
Machine learningMachine learning
Machine learning
ย 
Decision Tree Classification Algorithm.pptx
Decision Tree Classification Algorithm.pptxDecision Tree Classification Algorithm.pptx
Decision Tree Classification Algorithm.pptx
ย 
Introduction to Datamining Concept and Techniques
Introduction to Datamining Concept and TechniquesIntroduction to Datamining Concept and Techniques
Introduction to Datamining Concept and Techniques
ย 
Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018Random forest sgv_ai_talk_oct_2_2018
Random forest sgv_ai_talk_oct_2_2018
ย 
Decision Tree in Machine Learning
Decision Tree in Machine Learning  Decision Tree in Machine Learning
Decision Tree in Machine Learning
ย 
Chapter 4.pdf
Chapter 4.pdfChapter 4.pdf
Chapter 4.pdf
ย 
Decision tree
Decision tree Decision tree
Decision tree
ย 
Decision tree
Decision treeDecision tree
Decision tree
ย 
Rahat & juhith
Rahat & juhithRahat & juhith
Rahat & juhith
ย 

Recently uploaded

INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
ย 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
ย 
High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...soniya singh
ย 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
ย 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
ย 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
ย 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
ย 
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”นไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”นatducpo
ย 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
ย 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
ย 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
ย 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
ย 
ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€
ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€
ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€fhwihughh
ย 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
ย 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
ย 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
ย 
Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 

Recently uploaded (20)

INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
ย 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
ย 
High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi ๐Ÿ”8264348440๐Ÿ” Independent Escort...
ย 
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
ย 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
ย 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
ย 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
ย 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
ย 
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”นไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ย 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
ย 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
ย 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
ย 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
ย 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
ย 
ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€
ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€
ๅŠž็†ๅญฆไฝ่ฏ็บฝ็บฆๅคงๅญฆๆฏ•ไธš่ฏ(NYUๆฏ•ไธš่ฏไนฆ๏ผ‰ๅŽŸ็‰ˆไธ€ๆฏ”ไธ€
ย 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
ย 
Call Girls in Saket 99530๐Ÿ” 56974 Escort Service
Call Girls in Saket 99530๐Ÿ” 56974 Escort ServiceCall Girls in Saket 99530๐Ÿ” 56974 Escort Service
Call Girls in Saket 99530๐Ÿ” 56974 Escort Service
ย 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
ย 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
ย 
Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls in Defence Colony Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 

Data mining 5 klasifikasi decision tree dan random forest

  • 1. Decision Tree and Random Forest Irwansyah Saputra, S.Kom., M.Kom., MTA Founder of Multinity Indonesia
  • 2. Tentang Saya โ€ข Irwansyah Saputra โ€ข Dosen Ilmu Komputer โ€ข Mahasiswa S3 Ilmu Komputer IPB University โ€ข Bidang Kajian: Computational Intelligence & Optimization (Data mining, machine learning, artificial intelligence) Halo semuanya, saya suka belajar tentang segala hal dan suka berbagi pengetahuan. Saya juga sering menjadi pembicara di berbagai seminar. Kontak yang bisa dihubungi: WhatsApp: 0895323302241 Instagram: @irwansight_ Web: https://irw.one
  • 3. Disclaimer Materi ini digunakan sebagai bahan ajar Program Data Mining di Multinity.id Silakan gunakan, mohon untuk tidak mengubah template. Jika Anda memiliki kesulitan dalam memahami materi pada slide ini, silakan belajar di Multinity.id
  • 4. Referensi 1. Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques Third Edition, Elsevier, 2012 2. Ian H. Witten, Frank Eibe, Mark A. Hall, Data mining: Practical Machine Learning Tools and Techniques 3rd Edition, Elsevier, 2011 3. Markus Hofmann and Ralf Klinkenberg, RapidMiner: Data Mining Use Cases and Business Analytics Applications, CRC Press Taylor & Francis Group, 2014 4. Daniel T. Larose, Discovering Knowledge in Data: an Introduction to Data Mining, John Wiley & Sons, 2005 5. Ethem Alpaydin, Introduction to Machine Learning, 3rd ed., MIT Press, 2014 6. Florin Gorunescu, Data Mining: Concepts, Models and Techniques, Springer, 2011 7. Oded Maimon and Lior Rokach, Data Mining and Knowledge Discovery Handbook Second Edition, Springer, 2010 8. Warren Liao and Evangelos Triantaphyllou (eds.), Recent Advances in Data Mining of Enterprise Data: Algorithms and Applications, World Scientific, 2007 9. Suyanto, DATA MINING: Untuk klasifikasi dan klasterisasi data, Penerbit Informatika, 2017
  • 5. Decision Tree Irwansyah Saputra, S.Kom., M.Kom., MTA Founder of Multinity Indonesia
  • 6. Decision tree dalam keseharian Dalam kehidupan sehari-hari, kita pasti akan menggunakan algoritme decision tree walaupun mungkin kita menggunakannya tanpa sadar. Misalnya syarat mengikuti ujian universitas adalah: ๏‚ท Terdaftar sebagai mahasiswa aktif ๏‚ท Tidak terkena sanksi akademik ๏‚ท Tidak ada nilai C Sanksi akademik Mahasiswa Tidak ikut ujian Aktif Tidak Aktif Nilai C Tidak ikut ujian ada Tidak ada Tidak ikut ujian ada Ikut ujian Tidak ada
  • 7. Ide dasar Decision tree โ€ข Mencari ukuran varians / entropi dari berbagai atribut. โ€ข Mendapatkan akar sebagai atribut yang memiliki informasi terbanyak dalam dataset berdasarkan ukuran entropi. โ€ข Kemudian, membuat cabang untuk atribut yang memiliki peringkat di bawah akar. Semakin kecil informasi yang dimiliki, atribut akan semakin di bawah. โ€ข Ujungnya adalah daun. Di tingkatan ini, perhitungan akan berhenti dilakukan karena sudah mencapai akhir pohon. โ€ข Setelah model pohon dibuat, akan menghasilkan aturan IF โ€“ Then yang dapat digunakan dan dipahami tanpa membutuhkan pengetahuan statistika sama sekali.
  • 8. Struktur Pohon Keterangan: ๏‚ท Root Node = biasa juga disebut dengan node induk. Yaitu node pertama yang ditempati oleh atribut dengan nilai informasi tertinggi. ๏‚ท Decision Node = pemisahan sub node menjadi lebih banyak sub node. ๏‚ท Leaf Node = node terminal, karena tidak dapat dipisahkan lagi. ๏‚ท Sub-Tree = biasa disebut cabang, yaitu bagian pohon dari pohon keseluruhan.
  • 9. Kenapa harus mencari root node? โ€ข Jika menggunakan sembarang atribut sebagai root, maka aturan yang dihasilkan akan tidak berguna sama sekali. โ€ข Mencari atribut sebagai root untuk mengetahui seberapa pengaruhnya atribut tersebut pada kelas target. Tentunya, atribut yang memiliki informasi tertinggi layak menjadi root. โ€ข Tanpa root, kita tak bisa membuat struktur pohon yang benar. โ€ข Root akan sangat penting dalam membuat aturan yang dihasilkan dari pohon.
  • 10. Bagaimana cara mencari root? โ€ข Pertama, kita harus mendapatkan varians dari setiap kelas pada atribut dan total target. โ€ข Hitung varians tersebut dengan entropi. โ€ข Cari weighting average dari setiap atribut. โ€ข Lakukan perhitungan entropi total โ€“ weighting average. Ini disebut information gain. โ€ข atribut yang memiliki information gain tertinggi, maka layak menjadi root.
  • 11. Apa itu entropi? โ€ข Sederhananya, Entropi adalah ukuran ketidakteraturan (measure of disorder), bisa juga disebut dengan ukuran kemurnian (purity). Rumusnya: ๐ธ ๐‘† = ๐‘–=1 ๐‘› โˆ’๐‘๐‘– log2 ๐‘๐‘– Keterangan: ๏‚ท ๐‘† = Himpunan kasus ๏‚ท ๐‘› = Jumlah anggota dari ๐‘† ๏‚ท ๐‘๐‘– = proporsi dari ๐‘†๐‘– terhadap ๐‘†
  • 12. Contoh sederhana โ€ข Misalnya kita memiliki dataset yang terdiri dari kelas positif dan kelas negatif , sehingga โ€˜iโ€™ pada rumus bisa bernilai positif atau negatif. โ€ข Jika kita memiliki total berjumlah 10 tupel, lalu terbagi pada data positif sebanyak 3 tupel dan untuk data negatif sebanyak 7 tupel, maka P+ adalah 3/10 dan P- adalah 7/10. ๐ธ ๐‘† = ๐‘–=1 ๐‘› โˆ’๐‘๐‘– log2 ๐‘๐‘– ๐ธ ๐‘† = โˆ’ 3 10 ร— log2 3 10 + โˆ’ 7 10 ร— log2 7 10 โ‰ˆ 0.88
  • 13. Visualisasi Entropi ๏‚ท Kita lihat lingkaran yang paling kiri (hanya berisi data negatif), lingkaran tersebut terletak di angka 0 pada P+. Wajar saja, karena yang kita hitung adalah P+, sehingga jika lingkaran berisi kumpulan nilai negatif, maka ia akan berada di paling kiri. ๏‚ท Kita bisa memahami jika lingkaran hanya berisi data negatif atau positif saja, maka itu berarti tingkat kemurniannya tinggi dan tingkat ketidakteraturannya rendah. ๏‚ท Selain itu kita bisa perhatikan lingkaran di tengah yang menunjukkan keberagaman dari kelas yang dibagi sama rata antara kelas positif dan negatif. Terlihat bahwa lingkaran tersebut terletak pada nilai Entropi = 1 di sumbu y. Artinya semakin tinggi keberagaman / ketidakteraturan dalam suatu lingkaran, maka semakin tinggi juga nilai entropinya. ๐ธ ๐‘† = ๐‘–=1 ๐‘› โˆ’๐‘๐‘– log2 ๐‘๐‘– ๐ธ ๐‘† = โˆ’ 3 10 ร— log2 3 10 + โˆ’ 7 10 ร— log2 7 10 โ‰ˆ 0.88
  • 14. Kesimpulan Entropi โ€ข Berdasarkan seluruh penjelasan di atas, kita bisa menyimpulkan bahwa entropi merupakan ukuran ketidakteraturan atau ukuran kemurnian. โ€ข Semakin tinggi ukuran ketidakteraturan, semakin rendah ukuran kemurnian. Begitu juga sebaliknya. โ€ข Tujuan kita adalah bagaimana caranya mengurangi ketidakteraturan tersebut.
  • 15. Apa itu Information Gain? โ€ข Information gain merupakan teknik untuk mengurangi ketidakteraturan entropi sehingga bisa mendapatkan ukuran informasi dari hasilnya. โ€ข Semakin tinggi nilai information gain, berarti semakin tinggi juga informasi yang didapatkan. Rumusnya: ๐ผ๐บ ๐‘Œ, ๐‘‹ = ๐ธ ๐‘Œ โˆ’ ๐ธ ๐‘Œ ๐‘‹ Keterangan: ๏‚ท ๐ธ ๐‘Œ = entropi dari atribut target ๏‚ท ๐ธ ๐‘Œ ๐‘‹ = entropi rata-rata dari atribut prediktor terhadap atribut target ๏‚ท ๐‘‹ = atribut prediktor ๏‚ท ๐‘Œ = atribut target
  • 16. Contoh kasus Nomor Pelanggaran Bonus 1 Excellent Normal 2 Excellent Normal 3 Excellent Normal 4 Excellent High 5 Good Normal 6 Good Normal 7 Good Normal 8 Good Normal 9 Good High 10 Good High 11 Poor High 12 Poor High 13 Poor High 14 Poor High Pelanggaran Bonus Normal High Total Excellent 3 1 4 Good 4 2 6 Poor 0 4 4 Total 7 7 14 Ubah menjadi tabel kontingensi, agar lebih mudah โ€ข Berdasarkan tabel kontingensi, kita bisa mengetahui bahwa atribut Pelanggaran terdiri dari tiga kategori yaitu Excellent, Good dan Poor. โ€ข Sedangkan atribut target Bonus terdiri dari dua kategori yaitu High dan Normal. Jumlah kelas dari kategori High dan Normal didistribusikan dengan sempurna karena jumlahnya sama rata, yaitu 7 data untuk setiap kelas.
  • 17. Penyelesaian โ€ข Selanjutnya kita bisa menghitung entropi dari seluruhnya. Pertama kita hitung entropi dari atribut target Bonus terlebih dahulu: ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  = โˆ’ 7 14 ร— log2 7 14 + โˆ’ 7 14 ร— log2 7 14 = 1 โ€ข Selanjutnya kita hitung entropi dari tiap kelas pada atribut Pelanggaran. ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐ธ๐‘ฅ๐‘๐‘’๐‘™๐‘™๐‘’๐‘›๐‘ก = โˆ’ 3 4 ร— log2 3 4 + โˆ’ 1 4 ร— log2 1 4 โ‰ˆ 0.811 ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐บ๐‘œ๐‘œ๐‘‘ = โˆ’ 4 6 ร— log2 4 6 + โˆ’ 2 6 ร— log2 2 6 โ‰ˆ 0.918 ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐‘ƒ๐‘œ๐‘œ๐‘Ÿ = โˆ’0 ร— log2 0 + โˆ’ 4 4 ร— log2 4 4 = 0 โ€ข Didapatkan weighting average atribut Pelanggaran: ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = 4 14 ร— 0.811 + 6 14 ร— 0.918 + 4 14 ร— 0 = 0.625 Pelanggaran Bonus Normal High Total Excellent 3 1 4 Good 4 2 6 Poor 0 4 4 Total 7 7 14
  • 18. Penyelesaian โ€ข Saatnya untuk mencari nilai information gain dari data tersebut menggunakan rumus: ๐ผ๐บ ๐‘Œ, ๐‘‹ = ๐ธ ๐‘Œ โˆ’ ๐ธ ๐‘Œ ๐‘‹ ๐ผ๐บ ๐ต๐‘œ๐‘›๐‘ข๐‘ , ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  โˆ’ ๐ธ ๐ต๐‘œ๐‘›๐‘ข๐‘  ๐‘ƒ๐‘’๐‘™๐‘Ž๐‘›๐‘”๐‘”๐‘Ž๐‘Ÿ๐‘Ž๐‘› = 1 โˆ’ 0.625 = 0.375 โ€ข Dari nilai information gain tersebut, kita dapat menyimpulkan bahwa informasi yang dimiliki oleh atribut Pelanggaran terhadap atribut targetnya (yaitu atribut Bonus) adalah sebesar 0.375 atau 37.5% .
  • 19. Perbedaan ID3 dan C5.0 โ€ข Letak perbedaan paling mendasar dari ID3 dan C5.0 adalah pada perhitungan gain. Jika ID3 menggunakan information gain untuk menyeleksi atribut dan memilihnya sebagai akar, pada C5.0 yang digunakan adalah gain rasio. Perbedaan lebih lanjut antara information gain dan gain rasio dapat dilihat sebagai berikut: 1. Gain rasio bisa digunakan untuk menghitung kelas yang memiliki tipe data numerik maupun kategorik. 2. Gain rasio hanya dimiliki oleh algoritme C4.5 3. Gain rasio bisa memberikan nilai sedikit lebih spesifik dibandingkan information gain dalam beberapa kasus.
  • 20. Menghitung Gain Ratio โ€ข Cara menghitung nilai gain rasio cukup mudah. Hanya dengan menentukan nilai information gain dan splitinfo dari suatu kelas. โ€ข Persamaan SplitInfo adalah: ๐‘†๐‘๐‘™๐‘–๐‘ก๐ผ๐‘›๐‘“๐‘œ๐ด(๐ท) = โˆ’ ๐‘—=1 ๐‘ฃ |๐ท๐‘—| |๐ท| ร— ๐‘™๐‘œ๐‘”2( |๐ท๐‘—| |๐ท| ) Keterangan: ๏‚ท ๐ท๐‘— = Jumlah setiap kelas dalam suatu atribut. ๏‚ท ๐ท = Jumlah seluruh tupel dalam dataset.
  • 21. Contoh kasus ๐‘†๐‘๐‘™๐‘–๐‘ก๐ผ๐‘›๐‘“๐‘œ๐ด(๐ท) = โˆ’ ๐‘—=1 ๐‘ฃ ๐ท๐‘— ๐ท ร— ๐‘™๐‘œ๐‘”2( ๐ท๐‘— ๐ท ) = โˆ’ 4 14 ร— log2 4 14 + โˆ’ 6 14 ร— log2 6 14 + โˆ’ 4 14 ร— log2 4 14 = 1.557 โ€ข Setelah kita dapatkan splitinfo, kita bisa mencari gain rasio dengan rumus: ๐บ๐‘Ž๐‘–๐‘›๐‘…๐‘Ž๐‘ก๐‘–๐‘œ ๐ด = ๐บ๐‘Ž๐‘–๐‘› ๐ด ๐‘†๐‘๐‘™๐‘–๐‘ก๐ผ๐‘›๐‘“๐‘œ ๐ด = 0.375 1.557 = 0.241 Pelanggaran Bonus Normal High Total Excellent 3 1 4 Good 4 2 6 Poor 0 4 4 Total 7 7 14
  • 22. Kasus Decision Tree ID Outlook Temp. Humidity Wind Decision 0 Sunny Hot High Weak No 1 Sunny Hot High Strong No 2 Overcast Hot High Weak Yes 3 Rain Mild High Weak Yes 4 Rain Cool Normal Weak Yes 5 Rain Cool Normal Strong No 6 Overcast Cool Normal Strong Yes 7 Sunny Mild High Weak No 8 Sunny Cool Normal Weak Yes 9 Rain Mild Normal Weak Yes 10 Sunny Mild Normal Strong Yes 11 Overcast Mild High Strong Yes 12 Overcast Hot Normal Weak Yes 13 Rain Mild High Strong No Keterangan dataset: ๏‚ท atribut prediktor terdiri dari empat atribut yaitu Outlook, Temperature, Humidity dan Wind. ๏‚ท atribut target terdiri dari satu atribut yaitu Decision. ๏‚ท Semua atribut memiliki tipe data yang sama yaitu kategorik.
  • 23. Buat tabel kontingensi โ€ข Ubah ke dalam bentuk tabel kontingensi Outlook Decision Yes No Total Overcast 4 0 4 Rain 4 1 5 Sunny 2 3 5 Total 7 7 14 Temp. Decision Yes No Total Cool 0 4 4 Hot 2 2 4 Mild 2 4 6 Total 4 10 14 Humidity Decision Yes No Total High 4 3 7 Normal 7 0 7 Total 11 3 14 Wind Decision Yes No Total Weak 2 6 8 Strong 4 2 6 Total 6 8 14
  • 24. Hitung entropi Outlook ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐‘‚๐‘ฃ๐‘’๐‘Ÿ๐‘๐‘Ž๐‘ ๐‘ก = โˆ’ 0 4 ร— log2 0 4 + โˆ’ 4 4 ร— log2 4 4 = 0 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐‘…๐‘Ž๐‘–๐‘› = โˆ’ 1 5 ร— log2 1 5 + โˆ’ 4 5 ร— log2 4 5 โ‰ˆ 0.722 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐‘†๐‘ข๐‘›๐‘›๐‘ฆ = โˆ’ 3 5 ร— log2 3 5 + โˆ’ 2 5 ร— log2 2 5 โ‰ˆ 0.971 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = 4 14 ร— 0 + 5 14 ร— 0.722 + 5 14 ร— 0.971 โ‰ˆ 0.605
  • 25. Hitung entropi Temperature ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = ๐ถ๐‘œ๐‘œ๐‘™ = โˆ’ 0 4 ร— log2 0 4 + โˆ’ 4 4 ร— log2 4 4 = 0 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = ๐ป๐‘œ๐‘ก = โˆ’ 2 4 ร— log2 2 4 + โˆ’ 2 4 ร— log2 2 4 = 1 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = ๐‘€๐‘–๐‘‘ = โˆ’ 2 6 ร— log2 2 6 + โˆ’ 4 6 ร— log2 4 6 โ‰ˆ 0.918 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐‘‡๐‘’๐‘š๐‘. = 4 14 ร— 0 + 4 14 ร— 1 + 6 14 ร— 0.918 โ‰ˆ 0.679
  • 26. Hitung entropi Humidity ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = ๐ป๐‘–๐‘”โ„Ž = โˆ’ 4 7 ร— log2 4 7 + โˆ’ 3 7 ร— log2 3 7 โ‰ˆ 0.985 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = ๐‘๐‘œ๐‘Ÿ๐‘š๐‘Ž๐‘™ = โˆ’ 0 7 ร— log2 0 7 + โˆ’ 7 7 ร— log2 7 7 = 0 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = 7 14 ร— 0.985 + 7 14 ร— 0
  • 27. Hitung entropi Wind ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘Š๐‘–๐‘›๐‘‘ = ๐‘Š๐‘’๐‘Ž๐‘˜ = โˆ’ 2 8 ร— log2 2 8 + โˆ’ 6 8 ร— log2 6 8 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘Š๐‘–๐‘›๐‘‘ = ๐‘†๐‘ก๐‘Ÿ๐‘œ๐‘›๐‘” = โˆ’ 4 6 ร— log2 4 6 + โˆ’ 2 6 ร— log2 2 6 โ‰ˆ 0.918 ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›|๐‘Š๐‘–๐‘›๐‘‘ = 8 14 ร— 0.811 + 6 14 ร— 0.918 โ‰ˆ 0.857
  • 28. Hitung entropi Total ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› = โˆ’ 4 14 ร— log2 4 14 + โˆ’ 10 14 ร— log2 10 14 โ‰ˆ 0.863
  • 29. Hitung Information Gain ๐ผ๐บ ๐‘Œ, ๐‘‹ = ๐ธ ๐‘Œ โˆ’ ๐ธ ๐‘Œ ๐‘‹ ๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‚๐‘ข๐‘ก๐‘™๐‘œ๐‘œ๐‘˜ = 0.863 โˆ’ 0.605 = 0.259 ๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐‘‡๐‘’๐‘š๐‘. = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘‡๐‘’๐‘š๐‘. = 0.863 โˆ’ 0.679 = 0.184 ๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐ป๐‘ข๐‘š๐‘–๐‘‘๐‘–๐‘ก๐‘ฆ = 0.863 โˆ’ 0.493 = 0.371 ๐ผ๐บ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›, ๐‘Š๐‘–๐‘›๐‘‘ = ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› โˆ’ ๐ธ ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘Š๐‘–๐‘›๐‘‘ = 0.863 โˆ’ 0.857 = 0.006
  • 30. Hasil keseluruhan atribut Decision Entropy Information Gain Yes No Total Outlook ๏‚ท Overcast 4 0 4 0 0.259 ๏‚ท Rain 4 1 5 0.722 ๏‚ท Sunny 2 3 5 0.971 Temp. ๏‚ท Cool 0 4 4 0 0.184 ๏‚ท Hot 2 2 4 1 ๏‚ท Mild 2 4 6 0.918 Humidity ๏‚ท High 4 3 7 0.985 0.371 ๏‚ท Normal 7 0 7 0 Wind ๏‚ท Weak 2 6 8 0.811 0.006 ๏‚ท Strong 4 2 6 0.918
  • 31. Struktur Pohon yang dihasilkan ? Humidity Yes High Normal
  • 32. atribut Decision Entropy Information Gain Yes No Total Humidity | High 4 3 7 0.985 Outlook ๏‚ท Overcas t 2 0 2 0 0.6995 ๏‚ท Rain 1 1 2 1 ๏‚ท Sunny 0 3 3 0 Temp. ๏‚ท Cool 0 0 0 0 0.0203 ๏‚ท Hot 1 2 3 0.918 ๏‚ท Mild 2 2 4 1 Wind ๏‚ท Weak 2 2 4 1 0.0203 ๏‚ท Strong 1 2 3 0.918 Lakukan pencarian cabang ID Outlook Temp. Humidity Wind Decision 0 Sunny Hot High Weak No 1 Sunny Hot High Strong No 2 Overcast Hot High Weak Yes 3 Rain Mild High Weak Yes 7 Sunny Mild High Weak No 11 Overcast Mild High Strong Yes 13 Rain Mild High Strong No
  • 33. Struktur Pohon yang dihasilkan Outlook Humidity Yes High Normal ? No Sunny Yes Overcast Rain
  • 34. Lakukan pencarian cabang ID Outlook Temp. Humidit y Wind Decision 3 Rain Mild High Weak Yes 13 Rain Mild High Strong No atribut Decision Entrop y Informatio n Gain Yes No Total Humidity | High and Outlook | Rain 1 1 2 1 Temp. ๏‚ท Cool 0 0 0 0 0 ๏‚ท Hot 0 0 0 0 ๏‚ท Mild 1 1 2 1 Wind ๏‚ท Weak 1 0 1 0 1 ๏‚ท Strong 0 1 1 0
  • 35. Struktur Pohon yang dihasilkan Outlook Humidity Yes High Normal Wind No Sunny Yes Overcast Rain No Strong Yes Weak
  • 36. Aturan yang dihasilkan ๏‚ท If Humidity = Normal, then Yes. ๏‚ท If Humidity = High and Outlook = Sunny, then No. ๏‚ท If Humidity = High and Outlook = Overcast, then Yes. ๏‚ท If Humidity = High and Outlook = Sunny and Wind = Strong, then No. ๏‚ท If Humidity = High and Outlook = Sunny and Wind = Weak, then Yes. Outlook Humidity Yes High Normal Wind No Sunny Yes Overcast Rain No Strong Yes Weak
  • 37. Random Forest Irwansyah Saputra, S.Kom., M.Kom., MTA Founder of Multinity Indonesia
  • 38. Ide Random Forest โ€ข Semakin banyak kemungkinan yang dibuat, maka peluang benar semakin banyak juga. โ€ข Berisi banyak decision tree kemudian dicari nilai mayoritas. โ€ข Banyaknya decision tree adalah hyperparamater. Artinya bisa diatur sendiri. โ€ข Satu decision tree rentan terkena overfitting, sehingga dilakukan bagging.
  • 39. Probabilitas โ€ข Saat seseorang bertaruh dengan uang $100, maka ada beberapa kemungkinan: โ€ข Jika ia bermain sekali, maka kemungkinan menang atau kalah adalah 50:50 โ€ข Sehingga, kita bisa memecah uang tersebut untuk beberapa kali permainan. โ€ข Karena semakin banyak ia bermain, maka semakin banyak peluang ia menang. โ€ข Ini konsep dasar Random Forest
  • 40. Apa buktinya? Misalnya: 1.Game 1 โ€” play 100 times, betting $1 each time. 2.Game 2โ€” play 10 times, betting $10 each time. 3.Game 3โ€” play one time, betting $100. Mungkin hasilnya bisa sama jika melihat ekspektasi: โ€ข Expected Value Game 1 = (0.60*1 + 0.40*-1)*100 = 20 โ€ข Expected Value Game 2= (0.60*10 + 0.40*-10)*10 = 20 โ€ข Expected Value Game 3= 0.60*100 + 0.40*-100 = 20
  • 41. Terlihat berbeda jika... โ€ข Hasilnya terlihat berbeda jika kita visualisasikan.
  • 42. Random Forest adalah... โ€ข Banyaknya pohon yang dibuat, akan menghasilkan akurasi yang beragam. โ€ข Akurasi yang mayoritas, akan dijadikan hasil akhir random forest.
  • 43. Cara kerja RF DATASET DATASET DATASET DATASET DATASET 1 0 1 1 Model 1 Model 2 Model 3 Model n Mayoritas memprediksi 1 โ€ข Tentukan jumlah pohon yang akan dibuat. Dalam python disebut dengan n_estimators. โ€ข Lakukan bagging, yaitu mengambil sampel dari atribut dan sampel dari baris untuk dimodelkan dengan decision tree dan bangun sebanyak jumlah pohon yang ditentukan. โ€ข Biasanya menggunakan gini split indeks untuk membuat pohon. Menggunakan information gain pun tak masalah. โ€ข Lihat hasil prediksi mayoritas, itu yang akan menjadi hasil akhir dari random forest. โ€ข Jika pada kode, kita bisa membuat ratusan pohon. Pada teknik manual, kita bisa membuat beberapa sampel pohon sebagai gambaran.
  • 44. Kenapa Random Forest? โ€ข Karena decision tree rentan low bias dan high variance. โ€ข Low bias: model dapat memprediksi aturan dengan ketat sehingga hampir tidak ada bias di dalamnya, karena sudah semua masuk ke dalam aturan. โ€ข High variance: akibat dari low bias. Karena aturan sangat ketat, maka pohon yang dimodelkan semakin dalam, menyebabkan tingkat varians yang tinggi dan overfitting. โ€ข Dengan random forest, kita bisa mengatasi low bias dan high variance. Karena hanya diberikan beberapa atribut dan tupel sampel untuk setiap pohon.
  • 45. Lebih jelas... DATASET DATASET DATASET DATASET DATASET 1 0 1 1 Model 1 Model 2 Model 3 Model n Mayoritas memprediksi 1 Outlook Humidity Yes High Normal Wind No Sunny Yes Overcast Rain No Strong Yes Weak
  • 46. Contoh kasus id temperatur badan sesak nafas batuk diagnosis sakit covid-19 1 tinggi ya tidak ya 2 normal ya ya ya 3 normal tidak tidak tidak 4 tinggi tidak ya tidak 5 tinggi ya tidak ya 6 normal ya tidak ya 7 tinggi ya ya ya 8 normal tidak ya tidak
  • 47. Iterasi Pohon 1 Kita asumsikan bahwa pohon yang akan dibuat sebanyak 3 pohon. Karena dataset memiliki tupel yang sedikit, maka pohon pertama bisa kita buat dengan melibatkan seluruh atribut dan hilangkan baris nomor 5. Pada kasus ini, pencarian root atau atribut terbaik akan dilakukan dengan menggunakan gini indeks, tidak dengan information gain atau gain rasio. Tujuan dari tugas ini adalah mencari atribut terbaik dari berbagai pohon yang dibangun (best split). id temperatur badan sesak nafas batuk diagnosis sakit covid-19 1 tinggi ya tidak ya 2 normal ya ya ya 3 normal tidak tidak tidak 4 tinggi tidak ya tidak 6 normal ya tidak ya 7 tinggi ya ya ya 8 normal tidak ya tidak
  • 48. Iterasi Pohon 1 โ€ข Ubahlah menjadi tabel kontingensi Temp. Badan Diagnosis ya tidak Total tinggi 2 1 3 normal 2 2 4 Total 4 3 7 Sesak Nafas Diagnosis ya tidak Total ya 4 0 4 tidak 0 3 3 Total 4 3 7 Batuk Diagnosis ya tidak Total ya 2 2 4 tidak 2 1 3 Total 4 3 7 Diagnosis ya tidak Total 4 3 7
  • 49. Iterasi Pohon 1 โ€ข Selanjutnya, hitung gini indeks dari setiap kelas dari atribut yang tersedia dengan rumus: ๐บ๐‘–๐‘›๐‘– = 1 โˆ’ ๐‘–=1 ๐ถ (๐‘๐‘–)2 Maka untuk setiap atribut, kita bisa mendapatkan gini indeks: โ€ข ๐‘‡๐‘’๐‘š๐‘. ๐ต๐‘Ž๐‘‘๐‘Ž๐‘›|๐‘‡๐‘–๐‘›๐‘”๐‘”๐‘– = 1 โˆ’ 2 3 2 + 1 3 2 = 0.44 ๐‘‡๐‘’๐‘š๐‘. ๐ต๐‘Ž๐‘‘๐‘Ž๐‘›|๐‘๐‘œ๐‘Ÿ๐‘š๐‘Ž๐‘™ = 1 โˆ’ 2 4 2 + 2 4 2 = 0.5 ๐‘†๐‘’๐‘ ๐‘Ž๐‘˜ ๐‘๐‘Ž๐‘“๐‘Ž๐‘ |๐‘Œ๐‘Ž = 1 โˆ’ 4 4 2 + 0 4 2 = 0 ๐‘†๐‘’๐‘ ๐‘Ž๐‘˜ ๐‘๐‘Ž๐‘“๐‘Ž๐‘ |๐‘‡๐‘–๐‘‘๐‘Ž๐‘˜ = 1 โˆ’ 0 3 2 + 3 3 2 = 0 ๐ต๐‘Ž๐‘ก๐‘ข๐‘˜|๐‘Œ๐‘Ž = 1 โˆ’ 2 4 2 + 2 4 2 = 0.5 ๐ต๐‘Ž๐‘ก๐‘ข๐‘˜|๐‘‡๐‘–๐‘‘๐‘Ž๐‘˜ = 1 โˆ’ 2 3 2 + 1 3 2 = 0.44
  • 50. Iterasi Pohon 1 โ€ข Setelah didapatkan semua gini indeks, selanjutnya dicari gini split sebagai berikut: ๐‘‡๐‘’๐‘š๐‘. ๐ต๐‘Ž๐‘‘๐‘Ž๐‘› = 3 7 โˆ— 0.444444444 + 4 7 โˆ— 0.5 = 0.476190476 ๐‘†๐‘’๐‘ ๐‘Ž๐‘˜ ๐‘๐‘Ž๐‘“๐‘Ž๐‘  = 5 8 โˆ— 0 + 3 8 โˆ— 0 = 0 ๐ต๐‘Ž๐‘ก๐‘ข๐‘˜ = 4 7 โˆ— 0.5 + 3 7 โˆ— 0.444444444 = 0.476190476 โ€ข Terakhir adalah penentuan akar atau atribut terbaik. Berdasarkan perhitungan di atas, maka atribut Sesak Nafas merupakan atribut terbaik karena memiliki gini split indeks yang paling rendah. โ€ข Jika kita ingin membuat pohon utuh, kita bisa lakukan langkah selanjutnya seperti pada algoritme decision tree. Namun, tugas kita hanyalah mencari atribut terbaik dari pohon 1.
  • 51. Iterasi Pohon 2 โ€ข Kita buat pohon kedua dengan menghilangkan atribut Batuk, juga menghilangkan baris 4 dan 6 dari dataset. Maka hasilnya sebagai berikut: id temperatur badan sesak nafas diagnosis sakit covid-19 1 tinggi ya ya 2 normal ya ya 3 normal tidak tidak 5 tinggi ya ya 7 tinggi ya ya 8 normal tidak tidak
  • 52. Iterasi Pohon 2 โ€ข Lakukan perhitungan gini indeks dan gini split indeks dengan rumus seperti pada pohon pertama, dan hasilnya akan menjadi seperti: โ€ข Berdasarkan perhitungan gini split indeks di atas, maka atribut yang menjadi akar adalah Sesak Nafas, karena memiliki nilai gini split indeks terkecil. Temp. Badan Diagnosis gini indeks gini split indeks ya tidak Total tinggi 3 0 3 0 0.22 normal 1 2 3 0.44 Total 4 2 6 0.44 Sesak Nafas Diagnosis gini indeks gini split indeks ya tidak Total ya 4 0 4 0 0 tidak 0 2 2 0 Total 4 2 6 0.44
  • 53. Iterasi Pohon 3 โ€ข Asumsikan kita melakukan bagging pada dataset dengan menghilangkan atribut Sesak Nafas, baris yang dihilangkan adalah 2 dan 7. Hasilnya dapat dilihat sebagai berikut: id temperatur badan batuk diagnosis sakit covid-19 1 tinggi tidak ya 3 normal tidak tidak 4 tinggi ya tidak 5 tinggi tidak ya 6 normal tidak ya 8 normal ya tidak
  • 54. Iterasi Pohon 3 โ€ข Lakukan perhitungan gini indeks dan gini split indeks dengan rumus seperti pada pohon pertama, dan hasilnya akan menjadi seperti: โ€ข Terlihat pada perhitungan di atas, terlihat bahwa atribut terbaik adalah Batuk, karena memiliki nilai gini split indeks terkecil. Temp. Badan Diagnosis gini indeks gini split indeks ya tidak Total tinggi 2 1 3 0.44 0.44 normal 1 2 3 0.44 Total 3 3 6 0.5 Batuk Diagnosis gini indeks gini split indeks ya tidak Total ya 0 2 2 0 0.25 tidak 3 1 4 0.375 Total 3 3 6 0.5
  • 55. Hasil Akhir โ€ข Berdasarkan iterasi pada ketiga pohon dengan melakukan bagging terhadap dataset yang tersedia, maka hasilnya adalah atribut Sesak Nafas menjadi atribut terbaik dan layak untuk menjadi Akar karena memiliki nilai gini split terkecil. โ€ข Walaupun atribut Batuk berhasil menjadi atribut terbaik pada pohon ketiga, itu hanya disebabkan bagging yang dilakukan terhadap atribut Sesak Nafas. Sehingga jika dilakukan iterasi pohon secara terus menerus dan melibatkan atribut Sesak Nafas, akan dipastikan bahwa atribut Sesak Nafas akan menjadi atribut terbaik dan menjadi akar.
  • 56. Random Forest Regression โ€ข Sama saja. Perbedaannya pada hasil yang didapatkan. โ€ข Pada regresi, hasil bersifat numerik, sehingga untuk mendapatkan nilai akhirnya dengan cara menghitung median atau mean dari keseluruhan pohon. โ€ข Akan lebih paham nanti setelah memahami materi regresi.

Editor's Notes

  1. Perbedaan antara parameter dan hyperparameter