Modul Machine Learning
Modul Machine Learning
MACHINE LEARNING
1604C055
Tujuan Praktikum:
1. Melakukan data prepocessing pada dataset sebelum digunakan untuk melatih model
regresi linier
2. Melatih model regresi linier untuk memprediksi harga rumah berdasarkan lokasi, kondisi
linkungan, kondisi rumah, dan tarif pajak
3. Melatih model regresi polinomial untuk memprediksi harga rumah berdasarkan lokasi,
kondisi linkungan, kondisi rumah, dan tarif pajak
Alat dan Bahan
1. Dataset Boston housing prices
2. AI workstation
Teori dan Definisi
1. Dataset Boston housing price
Dataset Boston housing price berisi data yang berkaitan dengan harga rumah di kota
Boston. Dataset ini dikumpulkan oleh U.S Census Service dan disimpan dalam arsip
StatLib di Carnegie Mellon University. Pada dataset ini terdapat 506 data dengan 13 fitur
dan satu target output (MDEV). Berikut ini adalah fitur-fitur dan target output pada dataset
Boston house price:
– CRIM: per capita crime rate by town
– ZN: proportion of residential land zoned for lots over 25,000 sq.ft.
– INDUS: proportion of non-retail business acres per town
– CHAS: Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)
– NOX: nitric oxides concentration (parts per 10 million)
– RM: average number of rooms per dwelling
– AGE: proportion of owner-occupied units built prior to 1940
– DIS: weighted distances to five Boston employment centres
– RAD: index of accessibility to radial highways
– TAX: full-value property-tax rate per $10,000
– PTRATIO: pupil-teacher ratio by town
– B: 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town
– LSTAT: % lower status of the population
– MEDV: median value of owner-occupied homes in $1000's
Contoh lima data pertama pada dataset Boston housing price adalah sebagai berikut.
2. Data preprocessing
Data preprocessing adalah langkah dalam machine learning yang mentransformasi data
asli ke bentuk baru untuk memfasilitasi langkah selanjutnya. Salah satu metode dalam data
preprocessing adalah penskalaan. Beberapa algoritma machine learning memerlukan
asumsi bahwa semua fitur harus berada pada interval yang sama, misal [0,1]. Misalkan
fitur X dengan nilai 𝑥1 , 𝑥2 , . . . , 𝑥! akan di transformasi menjadi 𝑋′ dengan nilai
𝑥′1 , 𝑥′2 , . . . , 𝑥′! sedemikian rupa sehingga 𝑥′" ∈ [𝑎, 𝑏]. Untuk melakukan penskalaan agar
nilai fitur berada pada [a,b] dapat digunakan transformasi berikut.
,𝑥" − 𝑚𝑎𝑥 (𝑋)1(𝑏 − 𝑎)
𝑥′" = 𝑎 +
𝑚𝑎𝑥(𝑋) − 𝑚𝑖𝑛(𝑋)
3. Regresi linier
Model regresi adalah salah satu model machine learning yang digunakan untuk
memprediksi nilai numerik dari target output (variabel tak bebas ) berdasarkan nilai fitur
input (variabel bebas). Berdasarkan bentuk hubungan antara input fitur dan target output
model regresi dibagi menjadi dua bentuk, yaitu regresi linier dan regresi non linier. Regresi
linier menggunakan asumsi bahwa hubungan antara input fitur dan target output adalah
fungsi linier dari parameter model (koefisien/bobot dan bias/suku konstan) seperti pada
persamaan berikut.
𝑦 = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + . . . + 𝛽! 𝑥! + 𝜀
Dengan 𝑦 adalah target output, 𝑥1 , 𝑥2 , . . . , 𝑥! ada fitur input, 𝛽0 , 𝛽1 , 𝛽2 , . . . , 𝛽! adalah
parameter model, dan 𝜀 adalah suku error. Nilai 𝛽0 , 𝛽1 , 𝛽2 , . . . , 𝛽! akan diestimasi pada saat
proses training menggunakan data training. Salah satu metode yang dapat digunakan untuk
mengestimasi nilai 𝛽0 , 𝛽1 , 𝛽2 , . . . , 𝛽! adalah metode ordinary least square (OLS). Metode
ini mencari nilai 𝛽0 , 𝛽1 , 𝛽2 , . . . , 𝛽! yang meminimumkan jumlah kuadrat error (SSE) seperti
pada persamaan berikut.
# #
2
𝑆𝑆𝐸 = : 𝜀"2 =: ,𝑦" − (𝛽0 + 𝛽1 𝑥1" + 𝛽2 𝑥2" + . . . + 𝛽! 𝑥!" )1
"$1 "$1
4. Regresi polinomial
Regresi polinomial menggunakan asumsi bahwa hubungan antara input fitur dan target
output adalah fungsi linier dari parameter model tetapi merupakan fungi nonlinier (fungsi
polinomial) dari fitur input. Untuk melatihan model regresi polinomial, fitur input perlu
ditransformasi dahulu menjadi fitur polinomial derajan 𝑛.
5. Evaluasi model regresi linier
Beberapa nilai yang dapat digunakan untuk mengevaluasi model regresi linier adalah
sebagai berikut:
- Mean squared error (MSE)
1
𝑀𝑆𝐸 = 𝑆𝑆𝐸
𝑚
- Coefficient of determination (𝑅2 )
%%&
∑!
"#1 )𝑦* 𝑖−𝑦+ 2
𝑅2 = %%' =
)𝑦 −𝑦+
2
∑!
"#1
𝑖
Dengan 𝑦"# = 𝛽 0
+ 𝛽 𝑥1𝑖 + 𝛽 𝑥2𝑖 + . . . + 𝛽 𝑥𝑛𝑖 dan
1 2 𝑛
𝑦 adalah rata-rata dari 𝑦.
Nilai makasimum dari 𝑅2 adalah 1 dan dapat bernilai negatif. Suatu model regresi linier
yang baik dicirikan dengan nilai MSE yang kecil (dekat dengan 0) dan nilai 𝑅2 yang besar
(dekat dengan 1)
Langkah Kerja
1. Import library yang diperlukan untuk data melakukan data preprocessing dan melatih
model regresi linier
4. Bagi dataset menjadi data training (60%) dan data testing (40%)
5. Lakukan data preprocesing pada data training dan testing dengan mentransformasi semua
fitur agar nilainya berada pada selang [0,1]
6. Latih model regresi linier menggunakan semua fitur di data training yang sudah
diskalakan. Kemudian tampilkan koefisien regresi dan suku kostannya
7. Evaluasi model yang telah dilatih menggunakan data testing dengan menghitung MSE
dan 𝑅2 serta plot hubungan antara target output dan hasil prediksinya
Tujuan Praktikum
Alat dan Bahan
1. Dataset simulasi histori pengajuan kredit bank
2. AI Workstation
Teori dan Definisi
1. Dataset simulasi histori pengajuan kredit bank
Dataset pengajuan kredit bank didapat dari industri perbankan. Dataset ini berisi histori
persetujuan pengajuan kredit yang diajukan oleh nasabah dan disetujui atau tidak oleh
pihak bank. Beberapa industri perbankan masih menerapkan persetujuan kredit secara
manual. Persetujuan secara manual membutuhkan waktu yang lama. Dengan
memanfaatkan algoritma klasifikasi di Machine Learning, proses penentuan persetujuan
kredit ini bisa diotomatisasi atau paling tidak bisa memberikan rekomendasi oleh pihak
bank. Berikut ini adalah contoh histori pengajuan kredit bank.
2. Encoding
Encoding adalah salah satu tahap data pre-processing dalam algoritma machine learning.
Dalam mengerjakan projek data science ataupun machine learning, kita akan sangat
mungkin menemukan satu atau beberapa fitur yang bertipe kategori, misalnya ‘Sangat
Baik’, ‘Baik’, ‘Tidak Baik. Beberapa algoritma klasifikasi tidak dapat memproses data
dalam bentuk kategori, sehingga diperlukan untuk mengubah data tersebut menjadi data
numerik. Proses ini disebut dengan encoding. Untuk nilai yang memiliki 2 jenis kategori,
seperti jenis kelamin, yaitu: male dan female, setelah dilakukan encoding maka setelah
dilakukan encoding, maka nilai male menjadi 1 dan female menjadi 0.
One-Hot encoding adalah salah satu metode encoding. Metode ini merepresentasikan data
bertipe kategori sebagai vektor biner yang bernilai integer, 0 dan 1, dimana semua elemen
akan bernilai 0 kecuali satu elemen yang bernilai 1, yaitu elemen yang memiliki nilai
kategori tersebut. Contohnya pada kolom geography, terdapat 3 jenis negara, yaitu: France,
Germany, dan Spain. Setelah dilakukan encoding, maka nilai France menjadi (1,0,0),
Germany menjadi (0,1,0), dan Spain menjadi (0,0,1).
3. Standardization
Standardization digunakan untuk mengubah fitur ke bentuk baru sehingga memiliki mean
0 dan standar deviasi 1. Misal, x = [15,57,36,88,37] adalah fitur, lakukan standardization
sehingga hasil standardization x’ memiliki nilai mean 0 dan standard deviasi 1. Gunakan
persamaan berikut untuk menjadikan nilai x menjadi x’.
#𝑥𝑖 − 𝜇𝑥 $
𝑥′! =
𝜎𝑥
4. Artificial Neural Network
Artificial Neural Network (ANN) model pembelajaran mesin yang terinspirasi oleh sistem
saraf biologis. Menggabungkan kompleksitas beberapa teknik statistik dan tujuan machine
learning untuk meniru kecerdasan manusia. ANN memiliki kemampuan belajar mandiri
dan membentuk model nonlinier, yang sangat sederhana dalam komputasi dan memiliki
kemampuan untuk memecahkan masalah nyata yang kompleks. ANN telah diterapkan
untuk memecahkan masalah regresi dan klasifikasi di beberapa bidang seperti prediksi
kebangkrutan, pengenalan tulisan tangan, inspeksi produk, dan diagnosis medis. Model
ANN dapat dilihat di Gambar berikut ini.
Akurasi adalah rasio prediksi Benar (positif dan negatif) dengan keseluruhan data.
Perhitungan akurasi dapat diliuhat pada persamaan berikut ini.
𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
2. Import Dataset histori pengajuan kredit dan tampilkan dataset. Link dataset dapat diambil
dari https://drive.google.com/uc?id=1_FXPTX8ap2LfgKKVF2zjShieopWDqHwL
6. Scaling atribut menggunakan Standard Scaler. Setelah itu tampilkan data setelah dilakukan
scaling.
7. Proses Training dan Evaluasi menggunakan perhitungan accuracy.
8. Gunakan model ANN dengan jumlah neuron dalam hidden layer berjumlah 3 dikarenakan
memiliki akurasi yang terbaik untuk menentukan apakah nasabah dengan informasi berikut
ini disetujui atau tidak pengajuan kreditnya.
MODUL 3: Klastering data penduduk menggunakan k-Means
Tujuan Praktikum:
1. Mahasiswa dapat mengklasterkan data penduduk
Alat dan Bahan:
1. Komputer Lab
2. Editor: Sublime, Visual Code
3. Python
Teori dan Definisi
Klastering adalah suatu metode untuk mengelompokkan data menjadi beberapa kelompok yang
disebut dengan nama klaster. Data yang ada akan terbagi menjadi beberapa kelompok di mana
data yang ada dalam suatu klaster mempunyai kemiripan dan data yang ada di klaster berbeda
mempunyai perbedaan.
Klastering menggunakan k-Means merupakan salah satu metode yang paling sederhana dan
paling banyak dipakai untuk mempelajari algoritma klastering. Metode k-means akan mencari
pusat-pusat klaster yang dapat mewakili suatu kelompok data.
Algoritma k-Means secara garis besar mempunyai dua tahapan, yaitu menentukan data mana saja
yang dekat dengan suatu pusat klaster, dan memastikan tiap pusat klaster adalah rata-rata dari
data dalam klaster tersebut. Algoritma ini akan berhenti ketika penentuan data ke suatu klaster
tertentu tidak mengalami perubahan. Ilustrasi dari algoritma k-Means dapat dilihat pada Gambar
5.1 di mana terjadi tiga kali iterasi sampai dengan algoritma ini berhenti. Pusat data digambarkan
dalam simbol segitiga dan data digambarkan dalam bentuk lingkaran. Tiga warna yang berbeda
dipakai untuk menunjukkan kelompok data tersebut.
Gambar 5.1. Cara kerja algoritma k-means
Langkah Kerja:
Eksperimen 1
1. Buka editor untuk menulis bahasa pemrograman Python.
2. Pastikan scikit-learn sudah ter-install.
3. Tulis kode berikut untuk mencoba k-means, di mana k=3
4. Tampilkan data yang ada masuk ke dalam klaster yang mana dengan menggunakan kode
berikut:
Tujuan Praktikum:
1. Mahasiswa dapat mengklasterkan data pengunjung mall mengguakan DBSCAN
Alat dan Bahan:
1. Komputer Lab
2. Editor: Sublime, Visual Code
3. Python
Teori dan Definisi:
DBSCAN (Density Based Spatial Clustering of Applications with Noise) merupakan salah satu
metode klastering di mana metode ini tidak membutuhkan informasi berapa banyak jumlah
klaster di awal. DBSCAN bisa melakukan klastering untuk pola-pola yang berbentuk kompleks.
Metode ini juga bisa mengetahui data yang bukan bagian dari klaster.
Cara kerja DBSCAN berdasar pada kepadatan data, di mana banyak data berdekatan satu dengan
yang lain. Area data yang berdekatan ini disebut dengan area padat (dense). Konsep dasar dari
DBSCAN adalah mengklasterkan data di area yang pada dan memisahkan dengan area yang
relatif kosong.
Data yang ada dalam area yang padat disebut dengan data core. Data core ini didefinisikan
berdasar dari 2 parameter, yaitu jumlah data dan eps. Suatu data dikatakan sebagai data core jika
terpenuhi data sejumlah minimum jumlah data yang ada dalam jarak eps. Data core mempunyai
jarak yang dekat dalam jangkauan jarak eps merupakan data yang berada dalam klaster yang
sama. Ada tiga jenis data dalam DBSCAN, yaitu core, boundary, dan noise. Data boundary
adalah data yang ada dalam jangkauan eps dari data core. Selain itu data merupakan noise.
Langkah Kerja:
Eksperimen 1
1. Buka editor untuk menulis bahasa pemrograman Python.
2. Pastikan scikit-learn sudah ter-install.
3. Tulis kode berikut untuk mengklasterkan menggunakan DBSCAN.
Eksperimen 2
1. Unduh data untuk mengklasterkan data pengunjung mall di tautan berikut:
https://github.com/SteffiPeTaffy/machineLearningAZ/blob/master/Machine%20Learning
%20A-Z%20Template%20Folder/Part%204%20-%20Clustering/Section%2025%20-
%20Hierarchical%20Clustering/Mall_Customers.csv
2. Baca deskripsi isi data yang diunduh tersebut sebelum melakukan klastering.
3. Klasterkan data tersebut dengan beberapa nilai eps=3 dan n_samples=4.