0% menganggap dokumen ini bermanfaat (0 suara)
70 tayangan24 halaman

Modul Machine Learning

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
70 tayangan24 halaman

Modul Machine Learning

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 24

MODUL PRAKTIKUM

MACHINE LEARNING
1604C055

Dr. Joko Siswantoro, S.Si., M.Si


Mohammad Farid Naufal, S.Kom., M.Kom.
Njoto Benarkah, S.T., M.Sc

Jurusan Teknik Informatika


Fakultas Teknik
Universitas Surabaya
SURABAYA
2022
Daftar Isi

Gambaran Umum Mata Kuliah 3


MODUL 1: Prediksi harga rumah menggunakan model regresi linier dan model regresi
polinomial 5
MODUL 2: Klasifikasi persetujuan pengajuan kredit menggunakan artificial neural
network 12
MODUL 3: Klastering data penduduk menggunakan k-Means 18
MODUL 4: Klastering data pengunjung mall menggunakan DBSCAN 21
Gambaran Umum Mata Kuliah
Machine Learning merupakan mata kuliah wajib yang ditawarkan kepada mahasiswa jurusan
Teknik Informatika. Mata kuliah ini memberikan pembekalan kepada mahasiswa jurusan Teknik
Informatika mengenai konsep dasar machine learning. Selain itu, mahasiswa juga diajarkan
tentang aplikasi machine learning untuk menyelesaikan studi kasus dari dunia usaha dan dunia
industri. Materi yang diajarkan pada mata kuliah machine learning meliputi pengantar machine
learning, data pre-processing, regression, classification, clustering, model evaluation,
dimensionality reduction, dan feature selection. Metode pembelajaran yang digunakan adalah
dengan mempraktekkan ilmu yang dipelajari dengan membuat program secara langsung di depan
komputer Mahasiswa juga akan mampu memanajemen diri sendiri, mempunyai keterampilan
berpikir, dan integritas serta mampu bekerja secara mandiri dan berkelompok.

Capaian Pembelajaran Lulusan

KU KU1: Mampu berpikir logis, kritis, sistematis dan inovatif dengan


menerapkan keilmuan di bidang teknologi informasi dalam pengambilan
keputusan dan mampu mendokumentasikan hasil pemikiran secara
saintifik

KU2: Mampu menunjukkan kinerja yang bermutu dan bertanggungjawab


baik secara mandiri ataupun berkelompok, termasuk melakukan
supervisi dan evaluasi, serta dapat berkomunikasi dan mengembangkan
jaringan kerja dengan berbagai pihak.

KK KK1: Mampu menganalisis masalah dan merumuskan solusinya melalui


penggunaan teknologi informasi dan komunikasi

KK3: Mampu memberikan berbagai desain solusi yang optimal dan


membuat rekomendasi putusan berdasarkan pertimbangan keilmuan
Teknik Informatika terkini.

PP PP1: Menguasai konsep matematika fundamental dan prinsip ilmu


komputer serta bidang ilmu lain yang relevan

PP2-DSAI: Menguasai konsep data science dan kecerdasan buatan, serta


penerapannya untuk pengembangan perangkat lunak

Capaian Pembelajaran Mata Kuliah


Setelah mengikuti mata kuliah ini, mahasiswa mampu memahami dan mengimplementasikan
konsep machine learning untuk menyelesaikan studi kasus dari dunia usaha dan dunia industri.
Untuk mencapainya, mahasiswa harus mampu:
1. Memahami beberapa konsep dasar terkait machine learning, jenis-jenis machine learning
dan contoh aplikasi machine learning.
2. Memahami dan mampu mengimplementasikan konsep data pre-processing.
3. Memahami dan mampu mengimplementasikan konsep regression.
4. Memahami dan mampu mengimplementasikan konsep classification.
5. Memahami dan mampu mengimplementasikan konsep clustering.
6. Memahami dan mampu mengimplementasikan konsep model evaluation.
7. Memahami dan mampu mengimplementasikan konsep dimensionality reduction
8. Memahami dan mampu mengimplementasikan konsep feature selection.

Topik Materi Pembelajaran


1. Konsep dasar terkait machine learning: jenis-jenis machine learning dan contoh aplikasi
machine learning di dunia usaha dan dunia industri
2. Data pre-processing.
3. Regression.
4. Classification.
5. Clustering.
6. Model evaluation.
7. Dimensionality reduction
8. Feature selection.
MODUL 1: Prediksi harga rumah menggunakan model regresi linier dan model regresi
polinomial

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

2. Load dataset Boston house price dan tampilkan ukuran datanya


3. Tampilkan beberapa contoh data dari dataset Boston house price

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

8. Transformasi semua fitur menjadi fitur polinomial derajat 2


9. Latih model regresi linier menggunakan fitur polinomial

10. Evaluasi model yang telah dilatih menggunakan fitur polinomial


MODUL 2: Klasifikasi persetujuan pengajuan kredit menggunakan artificial neural
network

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.

5. Evaluasi model klasifikasi

Akurasi adalah rasio prediksi Benar (positif dan negatif) dengan keseluruhan data.
Perhitungan akurasi dapat diliuhat pada persamaan berikut ini.

𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁

Dengan arti TP = True Positive, TN = True Negative, FP = False Positive, FN = False


Negative.
Langkah Kerja
1. Import Library yang diperlukan untuk klasifikasi

2. Import Dataset histori pengajuan kredit dan tampilkan dataset. Link dataset dapat diambil
dari https://drive.google.com/uc?id=1_FXPTX8ap2LfgKKVF2zjShieopWDqHwL

3. Encoding atribut Gender menggunakan LabelEncoder agar menjadi bentuk numerik.


Sehingga nilai Male menjadi 1 dan Female menjadi 0. Kemudian tampilkan data setelah
dilakukan Encoding.

4. Encoding atribut Geography menggunakan LabelEncoder. Setelah dilakukan encoding,


maka atribut Geography menjadi 3 kolom dan terletak di kolom 0 hingga 2. Nilai France
menjadi (1,0,0), Germany menjadi (0,1,0), dan Spain menjadi (0,0,1).
5. Split dataset menjadi training set dan testing set

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:

5. Tampilkan visualisasi hasil klastering menggunakan kode berikut

6. Klasterkan data tersebut menjadi 2 klaster (k=2) menggunakan kode berikut:


Eksperimen 2
1. Unduh data untuk mengklasterkan data penduduk di tautan berikut:
California housing (https://www.dcc.fc.up.pt/~ltorgo/Regression/cal_housing.html).
2. Baca deskripsi isi data yang diunduh tersebut sebelum melakukan klastering.
3. Klasterkan data tersebut dengan beberapa nilai k. Mulai dengan nilai k=6.

MODUL 4: Klastering data pengunjung mall menggunakan DBSCAN

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.

Hasil dari kode tersebut adalah semua data merupakan noise.

4. Coba gunakan nilai n_samples dan eps yang berbeda-beda:


5. Hasil dari kode tersebut adalah:

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.

Anda mungkin juga menyukai