Data Mining
Concepts & Techniques
Supervised Learning:
Classification
DOSEN PENGAMPU:
Dwi Welly Sukma Nirad, M.T.
Aina Hubby Aziira, M.Eng.
• Supervised learning adalah metode pembelajaran menggunakan set data berlabel untuk melatih algoritma guna memprediksi hasil dan mengenali pola.
• Dengan supervised learning, algoritma menggunakan set data sampel untuk melatih dirinya sendiri guna membuat prediksi, yang secara berulang
menyesuaikan diri untuk meminimalkan error. Set data ini diberi label sesuai konteks, memberikan nilai output yang diinginkan untuk memungkinkan model memberikan jawaban yang “benar”.
• Secara umum, klasifikasi itu berarti mengumpulkan sesuatu ke dalam kelompok yang sejenis. Pengelompokan tersebut berdasarkan data yang sudah ada
sebelumnya.
Supervised Learning -
Klasifikasi
Contoh kasus:
Syarat masuk jurusan science:
1. Nilai IPA > 70 2. Berpikir analitis 3. Senang menghitung
Syarat masuk jurusan ekonomi:
1. Nilai IPS > 70 2. Berpikir sosial
3. Senang berkomunikasi
Diaz & Zaid adalah lulusan SMP yang akan masuk ke sekolah ini. Tapi mereka tidak tahu jurusan mana yang harus diambil. Maka dilakukan tes oleh sekolah ini untuk menyeleksi keduanya.
Hasil seleksi dari pihak sekolah menyatakan bahwa Diaz sesuai dengan syarat-syarat jurusan Science.
Hasil seleksi dari pihak sekolah menyatakan bahwa Zaid sesuai dengan syarat-syarat jurusan Ekonomi.
Begitupun dengan Zaid yang sebelumnya tidak memiliki class, dimasukkan ke dalam klasifikasi jurusan Ekonomi yang di dalamnya terdapat siswa-siswa yang sejenis.
Sehingga, Diaz yang sebelumnya tidak memiliki class, dimasukkan ke dalam klasifikasi jurusan Science yang di dalamnya terdapat siswa-siswa yang sejenis.
For the Glory of the Nation
• Pengelompokan data
• Mengelompokkan data baru ke dalam class yang sudah ditentukan sebelumnya.
• Class baru tidak akan muncul karena sudah dibatasi oleh class yang ada. Yaitu Science dan Ekonomi.
• Penentuan class
• Menentukan class untuk data baru berdasarkan atribut/ketentuan yang dimiliki oleh data latih.
• Misalnya, Nilai IPA > 70, berpikir sosial, senang berkomunikasi, dan lain sebagainya.
• Keterkaitan erat
• Klasifikasi sangat bergantung pada data latih.
• Dalam kasus ini data latihnya adalah para siswa yang sudah masuk ke dalam class Science dan Ekonomi.
Karakteristik Klasifikasi
• Diaz memiliki perusahaan seluler. Dia memiliki 2 kriteria yaitu PANGGILAN yang sering dilakukan dan BLOK untuk menentukan layak tidaknya pelanggan mendapatkan bonus.
• Berdasarkan riwayat transaksi tahun sebelumnya, ada 20 data yang dapat digunakan sebagai acuan perusahaan untuk menentukan bonus kepada pelanggannya.
• Jadi, 20 data ini akan dijadikan data latih untuk
mengklasifikasikan pelanggan ke 21 dan seterusnya, layak atau tidak mendapatkan bonus.
• Data ke 21 dan seterusnya disebut dengan data uji (testing).
Contoh Kasus Dengan Dataset
• Kolom PANGGILAN dan BLOK digunakan sebagai acuan untuk menentukan bonus. Sehingga posisi keduanya disebut dengan Atribut Umum.
• Kolom BONUS adalah tempat untuk mengisi layak atau tidaknya pelanggan mendapatkan bonus.
Sehingga disebut dengan atribut Class/Label.
• Kolom NOMOR tidak termasuk atribut karena tidak memiliki pengaruh apapun dalam
menentukan bonus.
Contoh Kasus Dengan Dataset
Pertanyaannya adalah:
• Apakah pelanggan ke-21 akan mendapatkan bonus?
• Bagaimana cara menentukannya?
• Dan teknik apa yang bisa digunakan untuk menentukannya?
Contoh Kasus Dengan Dataset
Ada banyak teknik yang dapat digunakan untuk menyelesaikan permasalahan ini, seperti:
1. Menggunakan probabilitas 2. Menggunakan aturan IF-ELSE 3. Menggunakan garis keputusan
4. Menggunakan statistik average distance
5. Menggunakan pengaruh jumlah data sekitar 6. Dll.
Contoh Kasus Dengan Dataset
Visualisasi Sebaran Data
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
For the Glory of the Nation
(1) Menggunakan Probabilitas
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
• Teknik ini menggunakan probabilitas/peluang.
• Jika nilai yang akan dihitung bersifat
nominal (angka, nomor, summary), maka ubah terlebih dahulu menjadi kategorial.
• Nilai pada Atribut Panggilan dibagi menjadi 3, yaitu Sedikit, Cukup dan Banyak.
• Sedangkan untuk Atribut Blok dibagi menjadi Rendah, Sedang dan Tinggi.
• Pengubahan jenis data nominal menjadi kategorial dilakukan untuk memudahkan dalam proses perhitungan.
For the Glory of the Nation
(1) Menggunakan Probabilitas
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
• Range/Jarak nilai antara Sedikit, Cukup dan Banyak pada atribut Panggilan dibuat sesuai dengan aturan pakar atau ahli.
• Misal, untuk nilai Sedikit adalah 0 s.d <= 250 dan sebagainya. Hal ini berlaku juga untuk atribut Blok.
• Dengan menggunakan teknik statistik seperti ini, didapatkan hasil klasifikasi untuk data uji yaitu data uji tidak
mendapatkan bonus karena berada pada area Bonus = Tidak.
For the Glory of the Nation
(2) Menggunakan IF-ELSE
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
• Teknik ini mudah dilakukan. Karena hanya dibutuhkan pembatas untuk X dan Y.
Pembatas ini berfungsi sebagai garis pemisah antara satu aturan IF dengan aturan IF yang lain.
• Misalnya terdapat aturan:
• IF Panggilan < 225 AND Blok < 350 THEN Bonus = Tidak (segitiga) ELSE Bonus = Ya (lingkaran).
• Dengan aturan tersebut, data uji akan diklasifikasikan sebagai pelanggan yang tidak mendapatkan bonus.
For the Glory of the Nation
(3) Menggunakan Garis Keputusan
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
• Teknik ini menggunakan perhitungan
matematis untuk mendapatkan hasil garis miring dengan gradien tertentu.
• Setelah ditemukan hasil garis miring seperti pada gambar, cukup tambahkan aturan IF sederhana,
• IF data baru berada di bawah garis THEN segitiga (Bonus = tidak) ELSE lingkaran (Bonus = ya).
• Sehingga data uji termasuk kepada
segitiga. Artinya pelanggan tersebut tidak layak mendapatkan bonus.
(4) Menggunakan Jarak
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
• Teknik ini mengandalkan total jarak dari titik yang diuji dengan titik data yang sudah ada.
• Jumlah jarak tersingkat adalah hasil yang diambil.
• Dari gambar di samping terlihat bahwa total jarak tersingkat yang didapat oleh data uji adalah segitiga.
• Sehingga data uji tidak layak mendapatkan bonus.
(5) Menggunakan Tetangga (k)
Bonus = Tidak
Pelanggan baru, apakah termasuk atau Bonus = Ya
• Misal dalam hal ini, k yang dipilih adalah 3, maka ambil data tetangga sebanyak 3 data.
• Dari ke-3 data tersebut, mana yang lebih banyak muncul apakah lingkaran atau segitiga.
• Jumlah terbanyaklah yang menentukan class/label.
• Dari gambar di samping, dapat diketahui bahwa data yang diuji berubah menjadi segitiga.
• Artinya dengan panggilan = 210 dan blok
= 160, pelanggan tersebut tidak layak mendapatkan bonus.
• Menggunakan probabilitas → Naïve Bayes
• Algoritma Naïve Bayes mengklasifikasikan data berdasarkan probabilitas kondisi (conditional probability) menggunakan Teorema Bayes.
• Menggunakan if-else → Decision Tree
• Decision Tree membuat aturan berbasis if-else dengan membagi data berdasarkan fitur yang paling signifikan dalam menentukan class.
• Menggunakan garis keputusan → Support Vector Machine (SVM)
• SVM menentukan hyperplane sebagai garis pemisah terbaik untuk mengklasifikasikan data ke dalam dua atau lebih kategori.
• Menggunakan jarak → Distance-based Classifiers (Euclidean Distance, Manhattan Distance, Mahalanobis Distance, dll.)
• Klasifikasi berdasarkan jarak antar data menggunakan metrik seperti Euclidean Distance atau Manhattan Distance untuk menentukan kemiripan.
• Menggunakan tetangga → k-Nearest Neighbors (k-NN)
• k-NN menentukan class dari suatu data berdasarkan mayoritas k tetangga terdekatnya dalam ruang fitur.
Teknik Klasifikasi
• Decision tree adalah sebuah metode untuk membuat keputusan berdasarkan serangkaian pertanyaan yang terstruktur dalam bentuk pohon keputusan
(struktur hirarki).
• Setiap simpul pada pohon keputusan mewakili sebuah pertanyaan atau kondisi, dan setiap cabang dari simpul tersebut mewakili jawaban atau aksi yang diambil berdasarkan kondisi tersebut.
• Algoritma decision tree biasa digunakan dalam aplikasi machine learning untuk memprediksi keputusan atau klasifikasi suatu data berdasarkan fitur- fitur yang ada.
Decision Tree
Decision Tree
Decision Tree
Decision Tree
Decision Tree
1. Root (Node)
Mewakili seluruh populasi atau sampel dan selanjutnya dibagi menjadi dua atau lebih kumpulan yang homogen
2. Splitting
Proses pembagian node menjadi dua atau lebih sub-nodes
5. Decision Node
Ketika sub-node terbagi menjadi sub-node lebih lanjut, itu disebut sebagai node keputusan
3. Leaf/Terminal (Node)
Node yang tidak terbagi lagi
4. Branch
Subbagian dari keseluruhan Decision Tree yang terdiri dari beberapa node
Decision Tree
1. Root (Node)
Mewakili seluruh populasi atau sampel dan selanjutnya dibagi menjadi dua atau lebih kumpulan yang homogen
2. Splitting
Proses pembagian node menjadi dua atau lebih sub-nodes
5. Decision Node
Ketika sub-node terbagi menjadi sub-node lebih lanjut, itu disebut sebagai node keputusan
3. Leaf/Terminal (Node)
Node yang tidak terbagi lagi
6. Pruning
Proses menghapus sub-node dari decision node
4. Branch
Subbagian dari keseluruhan Decision Tree yang terdiri dari beberapa node
• Pohon dibangun dengan cara top-down recursive divide-and-conquer.
• Pada awalnya, semua contoh pelatihan (training) berada di akar.
• Atribut bersifat kategorikal (jika bernilai kontinu, maka didiskritkan terlebih dahulu).
• Contoh dibagi secara rekursif berdasarkan atribut yang dipilih.
• Atribut uji dipilih berdasarkan heuristik atau ukuran statistik (misalnya, entropy & information gain, gain ratio, dan gini index).
Algoritma Decision Tree
1. Menyiapkan data training yang sudah dikelompokkan ke dalam kelas- kelas tertentu.
2. Menentukan akar (root) dari pohon keputusan.
• Menghitung nilai entropy.
• Menghitung nilai gain.
3. Mengulangi langkah ke-2 hingga semua record terpartisi.
4. Proses partisi pohon keputusan akan berhenti saat:
• Semua record dalam simpul N mendapat kelas yang sama
• Tidak ada atribut di dalam record yang dipartisi lagi.
• Tidak ada record di dalam cabang yang kosong.
Algoritma Decision Tree
Menghitung Nilai Entropy:
Menghitung Nilai Entropy &
Gain
Menghitung Nilai Gain:For the Glory of the Nation
• Tujuan: penentuan hipertensi
• Hipotesis awal: yang mempengaruhi hipertensi adalah usia, BB, gender
• Data:
Contoh Implementasi Decision Tree
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Didi muda underweight pria tidak
Rina tua overweight wanita ya
Gatot tua average pria tidak
Menentukan Root (Menghitung Entropy)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Didi muda underweight pria tidak
Rina tua overweight wanita ya
Gatot tua average pria tidak
Nilai Entropy:
Menentukan Root (Menghitung Entropy)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Didi muda underweight pria tidak
Rina tua overweight wanita ya
Gatot tua average pria tidak
Usia Hipertensi Jumlah
muda Ya (+) 1
muda Tidak (-) 3
tua Ya (+) 2
tua Tidak (-) 2
Usia = muda:
Usia = tua:
Nilai Entropy untuk usia:
For the Glory of the Nation
Menentukan Root (Menghitung Entropy)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Didi muda underweight pria tidak
Rina tua overweight wanita ya
Gatot tua average pria tidak
Usia Hipertensi Jumlah
muda Ya (+) 1
muda Tidak (-) 3
tua Ya (+) 2
tua Tidak (-) 2
Berat Hipertensi Jumlah
overweight Ya (+) 3
overweight Tidak (-) 1
average Ya (+) 0
average Tidak (-) 2
underweight Ya (+) 0
underweight Tidak (-) 2
Entropy = 0.91
Entropy = 0.41
Kelamin Hipertensi Jumlah
pria Ya (+) 2
pria Tidak (-) 4
wanita Ya (+) 1
wanita Tidak (-) 1
Entropy = 0.94
Perolehan Root (Menghitung Gain)
Nilai Gain (Usia) :
Nilai Gain (Berat) :
Nilai Gain (Kelamin) :
Karena “berat” merupakan atribut yang memiliki nilai gain tertinggi, maka “berat” dipilih sebagai root.
For the Glory of the Nation
Menentukan Root (Menghitung Entropy)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Didi muda underweight pria tidak
Rina tua overweight wanita ya
Gatot tua average pria tidak
Berat
overweight
average underweight Ali (+)
Budiman (-) Herman (+) Rina (+)
Annie (-) Gatot (-)
Didi (-) Edi (-)
Leaf Node berikutnya dapat dipilih pada bagian yang mempunyai nilai + dan -, pada contoh di atas hanya berat = overweight yang mempunyai nilai + dan -, maka semuanya pasti
mempunyai leaf node. Untuk menyusun leaf node lakukan satu-persatu.
For the Glory of the Nation
Iterasi ke-2 (Menentukan Leaf Node)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Rina tua overweight wanita ya
Berat
overweight
average underweight Ali (+)
Budiman (-) Herman (+) Rina (+)
Annie (-) Gatot (-)
Didi (-) Edi (-) Usia Hipertensi Jumlah
muda Ya (+) 1
muda Tidak (-) 0
tua Ya (+) 2
tua Tidak (-) 1
Entropy 0.69
Kelamin Hipertensi Jumlah
pria Ya (+) 2
pria Tidak (-) 1
wanita Ya (+) 1
wanita Tidak (-) 0
Entropy 0.69
For the Glory of the Nation
Iterasi ke-2 (Menentukan Leaf Node)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Rina tua overweight wanita ya
Berat
overweight
average underweight
Usia Hipertensi Jumlah
muda Ya (+) 1
muda Tidak (-) 0
tua Ya (+) 2
tua Tidak (-) 1
Entropy 0.69
Kelamin Hipertensi Jumlah
pria Ya (+) 2
pria Tidak (-) 1
wanita Ya (+) 1
wanita Tidak (-) 0
Entropy 0.69
Tidak Tidak
Jenis Kelamin
wanita pria
Rina (+) Ali (+)
Budiman (-) Herman (+)
Leaf Node usia dan jenis kelamin memiliki entropy yang sama, sehingga tidak ada cara lain selain menggunakan pengetahuan pakar atau percaya saja pada hasil acak.
For the Glory of the Nation
Stop (Hasil Decision Tree)
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Berat
overweight
average underweight
Tidak Tidak
Jenis Kelamin
wanita pria
Ya Usia
muda tua
Ya Ya/Tidak
Pada usia = tua ternyata ada 1 data menyatakan ya dan 1 data menyatakan tidak, keadaan ini perlu dicermati. Pilihan hanya dapat ditentukan
dengan campur tangan seorang pakar.
Hasil Prediksi
Nama Usia Berat Kelamin Hipertensi Prediksi
Ali muda overweight pria ya ya
Edi muda underweight pria tidak tidak
Annie muda average wanita tidak tidak
Budiman tua overweight pria tidak tidak
Herman tua overweight pria ya tidak
Didi muda underweight pria tidak tidak
Rina tua overweight wanita ya ya
Gatot tua average pria tidak tidak
Kesalahan = 1 dari 8 data (12.5%) Akurasi = 87.5%
• Mudah ditafsirkan
• Representasi visual dan penggunaan logika Boolean mempermudah pemahaman dalam pembacaan hasil keputusan.
• Minim effort dalam persiapan data
• Decision tree memiliki sejumlah karakteristik, yang membuatnya lebih fleksibel daripada pengklasifikasi lainnya.
• Decision tree dapat menangani berbagai jenis data—yaitu nilai diskrit atau kontinu, dan nilai kontinu dapat diubah menjadi nilai kategoris melalui penggunaan ambang batas.
• Lebih fleksibel
• Decision tree dapat dimanfaatkan untuk tugas klasifikasi dan regresi, sehingga lebih fleksibel daripada beberapa algoritma lainnya.
• Decision tree juga tidak sensitif terhadap hubungan mendasar antara atribut; ini berarti bahwa jika dua variabel sangat berkorelasi, algoritme hanya akan memilih satu fitur untuk dibagi.
Kelebihan Decision Tree
• Rentan terhadap overfitting
• Decision tree yang kompleks cenderung overfitting dan tidak dapat digeneralisasi dengan baik ke data baru.
• Lebih mahal
• Decision tree menggunakan pendekatan pencarian serakah (greedy) selama konstruksi, pelatihannya bisa lebih mahal dibandingkan dengan algoritma lain.
Kelemahan Decision Tree
Ada Pertanyaan?
Terima Kasih!
Dwi Welly Sukma Nirad, M.T.
Referensi:
Data Mining Concepts and Techniques 3rd edition, Han, Jiawei;
Kamber, Micheline, and Jian Pei, Morgan Kaufmann, 2011.
Roni Satria Wahono, Brainmatics, 2022.