• Tidak ada hasil yang ditemukan

Data Mining 04 - Bagian 4

N/A
N/A
Alfa Rino Svedrilio

Academic year: 2025

Membagikan "Data Mining 04 - Bagian 4"

Copied!
40
0
0

Teks penuh

(1)

Data Mining

Concepts & Techniques

Supervised Learning:

Classification

DOSEN PENGAMPU:

Dwi Welly Sukma Nirad, M.T.

Aina Hubby Aziira, M.Eng.

(2)

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

(3)

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

(4)

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.

(5)

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

(6)

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

(7)

• 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

(8)

Pertanyaannya adalah:

• Apakah pelanggan ke-21 akan mendapatkan bonus?

• Bagaimana cara menentukannya?

• Dan teknik apa yang bisa digunakan untuk menentukannya?

Contoh Kasus Dengan Dataset

(9)

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

(10)

Visualisasi Sebaran Data

Bonus = Tidak

Pelanggan baru, apakah termasuk atau Bonus = Ya

(11)

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.

(12)

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.

(13)

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.

(14)

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.

(15)

(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.

(16)

(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.

(17)

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

(18)

• 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

(19)

Decision Tree

(20)

Decision Tree

(21)

Decision Tree

(22)

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

(23)

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

(24)

• 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

(25)

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

(26)

Menghitung Nilai Entropy:

Menghitung Nilai Entropy &

Gain

Menghitung Nilai Gain:

(27)

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

(28)

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:

(29)

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:  

 

(30)

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

(31)

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.

(32)

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.

(33)

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

(34)

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.

(35)

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.

(36)

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%

(37)

• 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

(38)

• 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

(39)

Ada Pertanyaan?

(40)

Terima Kasih!

Dwi Welly Sukma Nirad, M.T.

[email protected]

Referensi:

Data Mining Concepts and Techniques 3rd edition, Han, Jiawei;

Kamber, Micheline, and Jian Pei, Morgan Kaufmann, 2011.

Roni Satria Wahono, Brainmatics, 2022.

Referensi

Dokumen terkait