SlideShare a Scribd company logo
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

Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data mining
aiiniR
 
Ppt big data dina nisrina rosandi 6018210043
Ppt big data dina nisrina rosandi 6018210043Ppt big data dina nisrina rosandi 6018210043
Ppt big data dina nisrina rosandi 6018210043
DinaNisrinaRosandi
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
dedidarwis
 
Konsep Data Mining
Konsep Data MiningKonsep Data Mining
Konsep Data Mining
dedidarwis
 
K-Means Clustering.ppt
K-Means Clustering.pptK-Means Clustering.ppt
K-Means Clustering.ppt
Adam Superman
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
said zulhelmi
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
Baguss Chandrass
 
Klasifikasi Data Mining.pptx
Klasifikasi Data Mining.pptxKlasifikasi Data Mining.pptx
Klasifikasi Data Mining.pptx
Adam Superman
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
ahmad haidaroh
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)
ahmad haidaroh
 
Sistem Pakar Certainty factor
Sistem Pakar Certainty factor Sistem Pakar Certainty factor
Sistem Pakar Certainty factor
Adi Ginanjar Kusuma
 
PENGENALAN DATA SCIENCE.pptx
PENGENALAN DATA SCIENCE.pptxPENGENALAN DATA SCIENCE.pptx
PENGENALAN DATA SCIENCE.pptx
YezintaDewimaharani
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
AndiNurkholis1
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
dedidarwis
 
Materi Data Mining - C4.5
Materi Data Mining - C4.5Materi Data Mining - C4.5
Materi Data Mining - C4.5
dedidarwis
 
Presentasi fuzzy logic (Logika Fuzzy)
Presentasi fuzzy logic (Logika Fuzzy)Presentasi fuzzy logic (Logika Fuzzy)
Presentasi fuzzy logic (Logika Fuzzy)
radar radius
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
Zaldy Eka Putra
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
Setia Juli Irzal Ismail
 
Data mining 3 similarity and disimilarity
Data mining 3   similarity and disimilarityData mining 3   similarity and disimilarity
Data mining 3 similarity and disimilarity
IrwansyahSaputra1
 

What's hot (20)

Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data mining
 
Ppt big data dina nisrina rosandi 6018210043
Ppt big data dina nisrina rosandi 6018210043Ppt big data dina nisrina rosandi 6018210043
Ppt big data dina nisrina rosandi 6018210043
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
Konsep Data Mining
Konsep Data MiningKonsep Data Mining
Konsep Data Mining
 
K-Means Clustering.ppt
K-Means Clustering.pptK-Means Clustering.ppt
K-Means Clustering.ppt
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Klasifikasi Data Mining.pptx
Klasifikasi Data Mining.pptxKlasifikasi Data Mining.pptx
Klasifikasi Data Mining.pptx
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)
 
Sistem Pakar Certainty factor
Sistem Pakar Certainty factor Sistem Pakar Certainty factor
Sistem Pakar Certainty factor
 
PENGENALAN DATA SCIENCE.pptx
PENGENALAN DATA SCIENCE.pptxPENGENALAN DATA SCIENCE.pptx
PENGENALAN DATA SCIENCE.pptx
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
 
Materi Data Mining - C4.5
Materi Data Mining - C4.5Materi Data Mining - C4.5
Materi Data Mining - C4.5
 
Presentasi fuzzy logic (Logika Fuzzy)
Presentasi fuzzy logic (Logika Fuzzy)Presentasi fuzzy logic (Logika Fuzzy)
Presentasi fuzzy logic (Logika Fuzzy)
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
 
Data mining 3 similarity and disimilarity
Data mining 3   similarity and disimilarityData mining 3   similarity and disimilarity
Data mining 3 similarity and disimilarity
 

Similar to Data mining 5 klasifikasi decision tree dan random forest

Decision Tree.pptx
Decision Tree.pptxDecision Tree.pptx
Decision Tree.pptx
JayabharathiMuraliku
 
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
IrwansyahSaputra1
 
Unit 2-ML.pptx
Unit 2-ML.pptxUnit 2-ML.pptx
Unit 2-ML.pptx
Chitrachitrap
 
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
Luca Zavarella
 
Decision Trees
Decision TreesDecision Trees
Decision Trees
Student
 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptx
Wanderer20
 
module_3_1.pptx
module_3_1.pptxmodule_3_1.pptx
module_3_1.pptx
Wanderer20
 
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.pdf
DivitGoyal2
 
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
AdityaSoraut
 
Decision tree and random forest
Decision tree and random forestDecision tree and random forest
Decision tree and random forest
Lippo Group Digital
 
NLP - Sentiment Analysis
NLP - Sentiment AnalysisNLP - Sentiment Analysis
NLP - Sentiment Analysis
Rupak Roy
 
Machine learning
Machine learningMachine learning
Machine learning
Vatsal Gajera
 
Decision Tree Classification Algorithm.pptx
Decision Tree Classification Algorithm.pptxDecision Tree Classification Algorithm.pptx
Decision Tree Classification Algorithm.pptx
PriyadharshiniG41
 
Introduction to Datamining Concept and Techniques
Introduction to Datamining Concept and TechniquesIntroduction to Datamining Concept and Techniques
Introduction to Datamining Concept and Techniques
Sơ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_2018
digitalzombie
 
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.pdf
DrGnaneswariG
 
Decision tree
Decision tree Decision tree
Decision tree
Learnbay Datascience
 
Decision tree
Decision treeDecision tree
Decision tree
ShraddhaPandey45
 

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

Decision Tree.pptx
Decision Tree.pptxDecision Tree.pptx
Decision Tree.pptx
 
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
 
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
 

Recently uploaded

Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
roli9797
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
nyfuhyz
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
jitskeb
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
AlessioFois2
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
AndrzejJarynowski
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
kuntobimo2016
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
v7oacc3l
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
nuttdpt
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
aqzctr7x
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
jerlynmaetalle
 
My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.
rwarrenll
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
74nqk8xf
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
g4dpvqap0
 
Global Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headedGlobal Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headed
vikram sood
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
Sm321
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
Roger Valdez
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 

Recently uploaded (20)

Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
 
My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
 
Global Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headedGlobal Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headed
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 

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