Anda di halaman 1dari 18

Modul Praktikum Pembelajaran Mesin

(Machine Learning Module)


Untuk Mata Kuliah Pembelajaran Mesin

Modul III
“klasifikasi(classification)”

Program Studi Sains Data


Fakultas Sains
INSTITUT TEKNOLOGI SUMATERA
Tahun Ajaran 2023/2024
I. Tujuan Instruksional Umum II. Tujuan Instruksional Khusus
• Praktikum bertujuan untuk • Mahasiswa mampu menggunakan
manerapkan teori model linear untuk berbagai model klasifikasi dalam
klasifikasi beberapa pendekatan.
• Mahasiswa mampu menyelesaikan
beberapa studi kasus klasifikasi dengan
beberapa model pendekatan klasifikasi.

III. Teory Dasar

• Pengertian
Klasifikasi
• Batas keputusan (Bounderies of decision)
• Pendekatan untuk klasifikas
Menggunakan beberapa pendekatan klasifikasi dapat dikelompokan yaitu:
1. Fungsi diskriminan
Salah satu contoh dari pendekatan ini adalah dengan metode linear diskriminan,
Fisher-Linear-Discriminant-Analysis dan perceprtron.

a. Linear diskriminan (Fhiser linear diskriminan)


adalah algoritma reduksi dimensi yang juga dapat digunakan untuk
klasifikasi, Linear Discriminant Analysis (LDA) adalah teknik reduksi
dimensi. Sesuai dengan namanya, teknik reduksi dimensi mengurangi
jumlah dimensi (yaitu variabel) dalam kumpulan data sambil
mempertahankan sebanyak mungkin informasi. Sebagai contoh, mari kita
plot hubungan antara dua variabel di mana setiap warna mewakili kelas yang
berbeda.

Jika kita memproyeksikan titik-titik data 2-D ke sebuah garis (1-D), dari
semua garis tersebut, tujuan kita adalah menemukan garis yang
memaksimalkan jarak antara rata-rata 2 kelas, setelah proyeksi. Jika kita
dapat melakukan itu, kita dapat mencapai pemisahan yang baik antara kelas-

1
kelas dalam 1-D. Hal ini diilustrasikan pada gambar di sebelah kiri dan dapat
ditangkap dalam ide memaksimalkan "kovariansi antar kelas". Namun,
seperti yang bisa kita lihat, hal ini menyebabkan banyak tumpang tindih di
antara kelas-kelas yang diproyeksikan. Kami ingin meminimalkan tumpang
tindih ini juga. Untuk menangani hal ini, Fisher's LDA mencoba
meminimalkan "kovariansi dalam kelas" dari setiap kelas. Meminimalkan
kovariansi ini akan membawa kita pada proyeksi pada gambar di sebelah
kanan, yang memiliki tumpang tindih minimal. Dengan memformalkan hal
ini, kita dapat merepresentasikan tujuannya sebagai berikut.

di mana Sb ∈ R (d × d) dan Sw ∈ R (d × d) masing-masing adalah matriks


kovarians antar-kelas dan di dalam-kelas. Mereka dihitung sebagai:

di mana Xnk adalah contoh data ke-n di kelas ke-k, Nk adalah jumlah contoh
di kelas k, m adalah rata-rata keseluruhan dari keseluruhan data dan mk
adalah rata-rata kelas ke-k. Sekarang dengan menggunakan dual Lagrangian
dan kondisi KKT, masalah memaksimalkan J dapat ditransformasikan ke
dalam solusi :

yang merupakan masalah nilai eigen untuk matriks inv(Sw).Sb . Dengan


demikian, solusi akhir kita untuk w adalah vektor-vektor eigen dari
persamaan di atas, yang berhubungan dengan nilai eigen terbesar. Untuk
mereduksi ke dimensi d′, kita mengambil nilai eigen terbesar d′ karena nilai
tersebut akan mengandung informasi yang paling banyak. Juga, perhatikan
bahwa jika kita memiliki K kelas, nilai maksimum dari d′ dapat menjadi K-
1. Artinya, kita tidak dapat memproyeksikan data K kelas ke dimensi yang
lebih besar dari K-1. (Tentu saja, d′ tidak bisa lebih besar dari dimensi data
asli d). Ini karena alasan berikut. Perhatikan bahwa matriks sebaran antar-
kelas, Sb adalah jumlah dari K matriks, yang masing-masing berpangkat 1,
yang merupakan hasil kali luar dari dua vektor. Selain itu, karena rata-rata
keseluruhan dan rata-rata kelas individu terkait, hanya (K-1) dari K matriks
ini yang independen. Dengan demikian Sb memiliki peringkat maksimum
K-1 dan karenanya hanya ada K-1 nilai eigen yang tidak nol. Dengan
demikian kita tidak dapat memproyeksikan data ke lebih dari K-1 dimensi.

2
b. Perceptron
Percepteon adalah Ide Perceptron analog dengan prinsip operasi unit
pemrosesan dasar otak - Neuron. Neuron terdiri dari banyak sinyal input
yang dibawa oleh Dendrit, badan sel, dan satu sinyal output yang dibawa
oleh Axon. Neuron menembakkan sinyal aksi ketika sel memenuhi ambang
batas tertentu. Tindakan ini bisa terjadi atau tidak; tidak ada yang namanya
penembakan "parsial" dari sebuah neuron. Demikian pula, perceptron
memiliki banyak input (sering disebut fitur) yang dimasukkan ke dalam unit
Linear yang menghasilkan satu output biner. Oleh karena itu, perceptron
dapat diterapkan dalam memecahkan masalah Klasifikasi Biner di mana
sampel harus diidentifikasi sebagai milik salah satu dari dua kelas yang telah
ditentukan.
Algoritma :

Karena Perceptron adalah Pengklasifikasi Biner (0/1), kita dapat


mendefinisikan komputasinya sebagai berikut:

Mari kita ingat bahwa hasil perkalian titik dari dua vektor dengan panjang n
(1≤i≤n) adalah

3
Fungsi f(x) = b + w.x adalah kombinasi linear dari bobot dan vektor fitur.
Oleh karena itu, Perceptron adalah pengklasifikasi linier - algoritma yang
memprediksi menggunakan fungsi prediktor linier.

Bobot menandakan keefektifan setiap fitur xᵢ dalam x pada perilaku model.


Semakin tinggi bobot wᵢ dari fitur xᵢ, semakin tinggi pula pengaruhnya
terhadap output. Di sisi lain, bias 'b' adalah seperti intersep dalam persamaan
linier. Ini adalah konstanta yang membantu model menyesuaikan dengan
cara yang paling sesuai dengan data. Istilah bias mengasumsikan koefisien
fitur input imajiner x₀ = 1.

2. Fungsi probalilistik
a. Pendekatan Diskriminatif
regresi logistik merupakan teknik regresi yang fungsinya untuk memisahkan
dataset menjadi dua bagian (kelompok).

Jika pembaca mahir di bidang statistik, maka pembaca pasti mengetahui


tentang distribusi binomial. Seperti kasus koin yang dilempar, hasilnya
hanya ada dua yaitu depan atau belakang. Begitu pula dengan regresi
logistik, maka hasilnya hanyalah ada dua, yaitu YES atau No, atau bisa juga
1 atau 0.

Pertanyaan utamanya, “Kapan kita menggunakan regresi logistik? dan kapan


menggunakan regresi biasa yang umum?” Jawabannya adalah tergantung
dari data yang dimiliki. Selain itu, apakah data itu bisa menjawab pertanyaan
besarnya (pertanyaan yang dimaksud adalah permasalahan klien) atau tidak.

Misal kita memiliki data sebagai berikut:

Gambar A
Jika kita mendapatkan dataset seperti di atas, kita bisa menduga bahwa ada
hubungan linear antara gaji dan pengalaman, di mana semakin lama

4
pengalaman, maka ada kecenderungan gajinya juga semakin besar.
Permasalahan ini cukup diselesaikan dengan teknik regresi yang umum.
Namun, jika permasalahannya sebagai berikut:

Gambar B
Maka permasalahannya menjadi berbeda jika dibandingkan dengan grafik
sebelumnya. Kali ini, kita memiliki data keputusan pembelian antara beli (1)
atau tidak (0) di sumbu y-nya, dan di sumbu x kita memiliki data usia. Jelas,
kita tidak mungkin bisa menggunakan regresi linear sederhana. Seandainya
kita paksakan menggunakan regresi linear, maka hasilnya tampak seperti ini:

Gambar C
Jika kita paksakan, maka akan muncul garis regresi berwarna merah diagonal
dari kiri bawah ke kanan atas. Namun hasil regresi linear ini tidak banyak
memberikan jawaban, karena titik-titik sumbu y yang bisa diinterpretasikan
hanyalah nilai 0 (tidak beli) dan 1 (beli) saja. Sehingga titik antara 0 dan 1
(misal 0,47) menjadi tidak bermakna, karena tidak ada keputusan 0.47 beli
bukan? Keputusan hanya 2 antara ya/tidak, yes/no, beli/tidak.

Selain itu, hal lain yang tidak masuk akal adalah bagaimana kita bisa
meginterpretasikan titik-titik yang dilalui garis regresi di bawah sumbu x
(nilai y<0), dan titik-titik yang dilalui garis regresi di atas nilai y=1 ? Adalah
hal yang mustahil, karena data poin di sumbu y hanya ada 2, yaitu 0 dan 1.
Oleh karena itu, jika kita menghadapi permasalahan seperti ini (hanya
memiliki pembagian ke dalam 2 kelompok), maka salah satu solusinya

5
adalah dengan teknik klasifikasi, dan dalam pembahasan kali ini merupakan
teknik regresi logistik.
Kemudian, bagaimana regresi logistik bisa memodelkan permasalahan
seperti di gambar B?
Sebelum menjawabnya, kita harus memahami dulu bagaimana konsep dasar
dari regresi logistik. Pada dasarnya, regresi logistik juga menggunakan
formula regresi sederhana. Kemudian, dari formula ini, digunakanlah fungsi
sigmoid, untuk menghitung probabilitasnya, sehingga didapatkan fungsi
regresi logistik. Lebih mudahnya, lihatlah diagram berikut:

Dan untuk Langkah berikutnya dapat digambarkan sebagai berikut:

Pada tahap 1, kita memasangkan fungsi sigmoid terhadap fungsi regresi


(tentunya kita tidak membahas penurunan model matematikanya di sini). Di
mana, variabel dependen yang sebelumnya adalah y, menjadi fungsi ln.
Mari kita lihat sebuah kasus sederhana. Misal saya memiliki data 6 orang
yang berusia berbeda-beda. Kemudian asumsikan saja, dari data sebelumnya
(ratusan data), kita berhasil membuat model regresi logistiknya yang tampak
dari grafik di bawah ini. Lalu kita ingin menggolongkan dari 6 orang yang

6
baru ini (test set), kita memprediksi apakah mereka masuk ke golongan yang
akan memutuskan untuk membeli barang atau tidak.

Ada 6 orang dengan usia berbeda (18,24, 28, 35, 41 dan 50) di sumbu x,
dan probabilitas masing-masing di sumbu y. Garis tengah putus-putus
berwarna coklat di tengah adalah batas keputusannya.

Dari 6 data poin ini (lingkaran berwarna biru di sumbu x), kita proyeksikan
ke model regresi logistiknya (kotak berwarna hijau). Kemudian, kita
proyeksikan lagi ke sumbu y-nya, maka didapatlah probabilitasnya (seberapa
besar peluang mereka beli atau tidak).
Pertanyaannya, jika probabilitasnya 0.35 apa artinya? Dan jika
probabilitasnya 0.71 apa artinya?
Untuk menjawab dua pertanyaan ini, kita buat garis batasnya di sumbu y.
Garis batas ini umumnya 0.5 tepat di tengah sumbu y, namun bisa juga
berubah, sesuai keinginan. Tentunya untuk merubahnya, pembaca harus
paham betul tujuan dari datanya. Setelah kita buat garis batas, maka cukup
memutuskan, bahwa semua probabilitas di atas 0.5 akan menjadi 1, dan
semua probabilitas di bawah 0.5 akan menjadi 0. Tampilannya akan menjadi
sebagai berikut:

7
Dengan menggunakan garis batas 0,5 maka didapatkan bahwa usia 18. 24,
dan 28 diprediksi tidak akan membeli barang, sedangkan usia 35, 41, dan 50
diprediksi akan membeli barang.

b. Pendekatan Generatif
Salah satu contoh dari klasifikasi dengan pendekatan generatif itu adalah
Naïve Bayes, Teorema Bayes atau hukum bayes menjelaskan probabilitas
suatu kejadian di masa depan berdasarkan pengalaman sebelumnya tentang
kondisi yang mungkin terkait dengan kejadian tersebut, sehingga dapat
digunakan untuk pengambilan keputusan. Algoritme Naïve bayes disebut
“naif” karena membuat asumsi yang sangat kuat (naif) bahwa kemunculan
fitur tertentu tidak tergantung pada kemunculan fitur lainnya (kelas),
Teorema bayes (Bayes Theorem). Seperti yang telah disebutkan di atas,
algoritme naïve bayes merupakan metode yang digunakan dalam machine
learning untuk menangani masalah klasifikasi berdasarkan pada probabilitas.
Beberapa contoh implementasi algoritme naïve bayes yaitu klasifikasi
dokumen, perkiraan cuaca, mendeteksi atau menyaring spam, system
rekomendasi, analisis sentiment, dan lain sebagainya. Berdasarkan
fungsinya, metode naïve bayes, Formulanya bisa dilihat sebagai berikut:

8
IV. Prosedur Praktikum

Dalam modul ini menggunakan python dalam praktikum ini dapat menggunakan google
colab yang dapat diakses di web: https://colab.research.google.com/. Setipa selesai
melakukan subab praktikum silahkan upload di link yang disediakan oleh asisten
praktikum dengan format pengumpulan NIM_NAMA_NAMASUBAB.
Untuk data yang digunakan modul ini bisa didowload di :
https://drive.google.com/drive/folders/1my8kA2mRauCmOwpbOcJIWZbxvzOUWgfZ?
usp=drive_link.

A.Fungsi diskriminan

▪ Fisher linear disc


Dalam metode FLD ini silahkan buat file dalam colab kalian dengan nama
plots dan masukan kedalam code (copy path folder plots) dan pastikan
sudah memasukan file data yang dibutuhkan.

9
10
11
Latihan:
- Bagaimana code python jika menggunakan data
a1_d2.csv
- Apa perbedaan dari output yang diperoleh saat data a1_d1
dan a1_d2.
- Tuliskan Pseudocode dari code data a1_d1 dan a1_d2.

▪ Perceptron

12
Latihan:
- Buatlah Pseudo code dari code diatas dan buatlah flowchartnya
- Buatlah code dan flowchart untuk klasifikasi untuk iris virginica
dan versicolor!
- Dan buatlah persamaan fungsi deskriminan dari pemograman
diatas dengan penggambaran geometry fungsi deskriminan.

13
B. Model Probabilistik
▪ Pendekatan diskriminatif
- Regresi Logistic

14
Latihan:
- Tuliskan perumusan matematis fungsi sigmoid yang ada di regresi
logistik?
- Tuliskan Pseudocode dari code diatas!

▪ Pendekatan Generatif
- Naïve Bayes
- Study kasus untuk naïve bayes:
pemilik showroom mobil untuk mengiklankan produk SUV nya di
media sosial. Ia ingin agar iklannya ditempatkan di zona di mana
semakin banyak orang yang memutuskan untuk membeli
produknya. Kita akan membantunya dengan mengolah data
pelanggan yang sudah diberikan ke kita.

15
Latihan:
- Jelaskan dan analisis decision boundery dari output yang diperoleh,
- Buatlah Pseudo code dan flowchart dari code diatas!
- Jelaskan kesimoulan dari output yang diperoleh dari studi kasus
metode ini! Seberapa sukses iklan

16
V. Tugas Praktikum

A.Tugas Individu
Silahkan kerjakan Latihan yang ada di atas sesuai dengan perintah Latihan masing-
masing subab.
Dateline : ditentukan oleh asisten praktikum yang diumumkan saat praktikum.

B. Tugas Kelompok
Buatlah sebuah studi kasus dengan menggunakan metode klasifikasi metode lain
yaitu decision tree, NN, Random Fores dan SVM dan bandingkan serta jelaskan
batas keputusan (Decision Boundary) setiap metode nya. Dataset tidak boleh sama
antar kelompok baik satu kelas maupun bed akelas silahkan koordinasikan digrup.

Berikan laporan dan Vidio presentasi laporan, dengan laporan harus berisi
rancangan pemodelan, Flow chart, pseudo code, code (SS dan dokumen IPNYB),
analisis dari hasil yang diperoleh.
Garis kuning wajib ada disetiap laporan.
Dateline : ditentukan oleh asisten praktikum yang diumumkan saat praktikum.

Note: jika ada yang mengkopi hasil dari kelompok lain baik sesama
kelas maupun berbeda kelas, nilai langsung 0 untuk kedua
kelompok tersebut.

17

Anda mungkin juga menyukai