0% menganggap dokumen ini bermanfaat (0 suara)
424 tayangan16 halaman

MADG COMP6936036 MachineLearning-Answer

Dokumen ini berisi informasi tentang ujian akhir untuk mahasiswa BINUS University, termasuk detail seperti jenis ujian, waktu, dan materi yang akan diuji. Selain itu, terdapat penjelasan mengenai konsep unsupervised learning dalam machine learning, termasuk metode yang dapat digunakan seperti clustering dan pentingnya normalisasi. Juga dibahas tentang curse of dimensionality dan segmentasi customer menggunakan teknik clustering dalam analisis data.

Diunggah oleh

adtomityo
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)
424 tayangan16 halaman

MADG COMP6936036 MachineLearning-Answer

Dokumen ini berisi informasi tentang ujian akhir untuk mahasiswa BINUS University, termasuk detail seperti jenis ujian, waktu, dan materi yang akan diuji. Selain itu, terdapat penjelasan mengenai konsep unsupervised learning dalam machine learning, termasuk metode yang dapat digunakan seperti clustering dan pentingnya normalisasi. Juga dibahas tentang curse of dimensionality dan segmentasi customer menggunakan teknik clustering dalam analisis data.

Diunggah oleh

adtomityo
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

MUHAMMAD SETYO ADTOMI 2702404336

FM-BINUS-AA-FPU-78/V2R1

BINUS University

Academic Career: Class Program:


Undergraduate / Master / Doctoral *) International / Regular / Smart Program /
Global Class / BINUS Online Learning *)

 Mid Exam  Compact Term Exam Term : Odd / Even / Compact *)


 Final Exam  Others Exam : Period (Only for BOL) : 1 / 2 *)

 Kemanggisan  Senayan  Semarang Academic Year :


 Alam Sutera  Bandung
 Bekasi  Malang 2024 / 2025
Exam Type* : Onsite / Online Faculty / Dept. : BINUS Online /
Computer Science
Day / Date** : Senin-Senin/19-26 Mei 2025 Code - Course : COMP6936036 -
Machine Learning
Time** : 00:00 – 12:00 WIB Code - Lecturer : Lecturer Team
Exam :  Open Book  Open Notes BULC (Only for BOL) : Bandung, Bekasi,
Specification***  Close Book  Submit Project Jakarta, Malang,
 Open E-Book  Oral Test Palembang, Semarang
Class : BABA, MACA, MAEA
Equipment*** : Student ID *** : 2702404336
 Exam Booklet  Laptop  Drawing Paper – A3 Name *** : MUHAMMAD SETYO ADTOMI
 Calculator  Tablet  Drawing Paper – A2 Signature *** :
 Dictionary  Smartphone  Notes

) Strikethrough the unnecessary items **) For Online Exam, this is the due date ***) Only for Onsite
Exam

Please insert the test paper into the exam booklet and submit both papers after the test.

The penalty for CHEATING is DROP OUT!

N Daftar Pertanyaan LO Bo
o bot
1 Berikut merupakan data dari beberapa negara beserta nilai konsumsi seperti daging, ikan dan buah atau 1 20
sayur-sayuran.

Country RedMeat Fish Fruit or Veg


Albania 10.1 0.2 1.7
Bulgari 7.8 1.2 4.2
Austria 8.9 2.1 4.3
Belgium 13.5 4.5 4.0
France 18.0 5.7 6.5
Switzerland 13.1 2.3 4.9

Verified by,
Hungary 5.3 0.3 4.2
Poland 6.9 3.0 6.6
Denmark 10.6 9.9 2.4
Norway 9.4 9.7 2.7
Sweden 9.9 3.0 2.9
Greece 10.2 5.9 6.5
Italy 9.0 3.4 6.7
Spain 7.1 7.0 7.2

a. Data tersebut dapat dikategorikan sebagai unsupervised learning. Jelaskan maksud dari
unsupervised learning dikaitkan dengan data tersebut.
Jawaban :
Unsupervised Learning adalah metode pembelajaran mesin di mana algoritma dilatih
menggunakan data tanpa label, dengan tujuan menemukan pola, struktur, atau hubungan
tersembunyi dalam data tersebut. Berbeda dengan Supervised Learning yang memerlukan data
berlabel, Unsupervised Learning tidak membutuhkan pengawasan atau label output selama
proses pelatihan. Model ini secara mandiri menganalisis data untuk mengidentifikasi struktur
atau pola yang mungkin tidak terlihat secara eksplisit.
Sumber : School of Information Systems BINUS University. (2025). Unsupervised Learning pada Machine Learning: Pengertian, Cara
Kerja dan Contoh Penerapan. Diakses dari https://sis.binus.ac.id/2025/03/19/unsupervised-learning-pada-machine-learning-pengertian-
cara-kerja-dan-contoh-penerapan/

Kaitannya dengan data tersebut:


 Data pada gambar tidak memiliki label target/output (misalnya: tidak ada
kolom “kategori pola makan sehat/tidak sehat”).
 Data hanya terdiri dari fitur numerik seperti konsumsi RedMeat, Fish, dan
Fruit or Veg dari berbagai negara.
 Maka, dalam hal ini bisa menggunakan unsupervised learning untuk:
 Mengelompokkan negara-negara berdasarkan pola konsumsi
makanan (misalnya menggunakan clustering).
 Mencari asosiasi atau keterkaitan antar variabel.

b. Jelaskan metode yang dapat digunakan untuk mempelajari unsupervised learning.


Berikut beberapa metode utama dalam unsupervised learning yang relevan dengan data di atas:
Jawaban :
1. Clustering (Pengelompokan):

 Contoh algoritma: K-Means, Hierarchical Clustering, DBSCAN.

 Tujuan: Mengelompokkan negara berdasarkan kemiripan pola konsumsi.

 Misalnya, negara yang mengonsumsi banyak ikan dan sayur bisa masuk dalam satu cluster.

Verified by,
2. Dimensionality Reduction (Reduksi Dimensi):

 Contoh algoritma: PCA (Principal Component Analysis), t-SNE.

 Tujuan: Mengurangi jumlah fitur menjadi 2D atau 3D untuk visualisasi atau mempermudah
analisis.

 Cocok digunakan jika jumlah fitur banyak atau untuk melihat pola data secara visual.

3. Association Rule Learning:

 Mencari aturan asosiasi dalam dataset (lebih umum digunakan dalam data transaksi, tetapi
bisa disesuaikan).

c. Mengapa normalisasi terkadang merupakan hal yang penting dalam pembuatan model machine
learning?

Jawaban :

Normalisasi adalah proses mengubah skala data sehingga semua fitur memiliki rentang nilai
yang sebanding, biasanya antara 0 dan 1. Normalisasi terkadang merupakan hal yang penting
dalam pembuatan model machine learning dikarenakan karena beberapa algoritma seperti K-
Means, PCA, SVM, dan KNN sangat sensitif terhadap perbedaan skala antar fitur. Jika satu
fitur, seperti "RedMeat", memiliki nilai rata-rata yang jauh lebih besar dibandingkan fitur lain
seperti "Fish", maka algoritma dapat secara tidak langsung menganggap fitur tersebut lebih
penting hanya karena skala angkanya lebih besar. Hal ini dapat menyebabkan hasil analisis
atau model menjadi bias dan tidak mencerminkan hubungan sebenarnya antar fitur. Dengan
melakukan normalisasi, semua fitur akan berada dalam skala yang sama sehingga algoritma
dapat memperlakukan masing-masing fitur secara adil, menghasilkan model yang lebih akurat
dan representatif terhadap struktur data yang sesungguhnya. Tanpa normalisasi, fitur-fitur
dalam dataset dapat memiliki skala yang sangat berbeda, seperti pada contoh data konsumsi
makanan: fitur "RedMeat" memiliki rentang nilai antara 5 hingga 18, sedangkan "Fish" hanya
antara 0.2 hingga 9.9. Perbedaan skala ini menyebabkan algoritma seperti K-Means dan PCA
secara tidak langsung menganggap fitur dengan nilai yang lebih besar (dalam hal ini RedMeat)
sebagai fitur yang lebih penting. Hal ini menimbulkan bias karena jarak antar data dihitung
berdasarkan semua fitur, dan fitur berskala besar akan mendominasi hasil perhitungan. Dengan
menerapkan normalisasi, seperti metode Min-Max, semua fitur akan diubah ke dalam rentang
yang sama, biasanya antara 0 dan 1. Misalnya, nilai RedMeat 5.3 akan menjadi 0, dan nilai 18
akan menjadi 1. Dengan demikian, semua fitur memberikan kontribusi yang seimbang dalam
perhitungan jarak atau variansi, yang membuat algoritma bekerja lebih adil dan hasil seperti
klastering atau reduksi dimensi menjadi lebih akurat.
d. Apa yang dimaksud dengan curse of dimensionality? Berikan contoh berdasarkan data tersebut.
Jawaban :
Curse of Dimensionality adalah fenomena yang muncul ketika jumlah fitur atau dimensi dalam
dataset meningkat secara signifikan, menyebabkan analisis data menjadi semakin kompleks dan
kurang efektif. Dalam konteks ini, semakin banyak fitur yang digunakan, semakin sulit untuk
menemukan pola yang bermakna, menghitung jarak antar titik data secara akurat, serta melatih
model yang mampu melakukan generalisasi dengan baik. Hal ini terjadi karena dalam ruang
berdimensi tinggi, volume ruang meningkat secara eksponensial sehingga data menjadi sangat jarang
(sparse). Akibatnya, algoritma seperti K-Means Clustering atau K-Nearest Neighbors (KNN)
kehilangan efektivitas karena semua titik data tampak berjauhan namun tidak memiliki perbedaan
signifikan yang berarti suatu kondisi di mana semua data terlihat “berbeda tapi seragam.”

Sebagai ilustrasi, data konsumsi makanan pada tabel hanya memiliki tiga fitur: RedMeat, Fish, dan
Fruit/Veg, sehingga masih berada dalam ruang berdimensi rendah dan tidak mengalami dampak
curse of dimensionality secara signifikan. Namun, jika ditambahkan sepuluh fitur baru seperti Dairy,
Sugar, Grains, Salt, Water, dan lainnya, maka jumlah dimensi akan meningkat menjadi lebih dari
sepuluh. Dalam kondisi ini, jarak antar negara dalam ruang fitur menjadi kurang bermakna, dan
algoritma berbasis jarak bisa menjadi tidak akurat. Selain itu, jumlah data (dalam kasus ini, hanya
belasan negara) menjadi tidak memadai untuk menggambarkan seluruh ruang berdimensi tinggi,
sehingga hasil klasterisasi atau pembelajaran mesin menjadi kurang dapat diandalkan.

Untuk mengatasi masalah ini, diperlukan pendekatan seperti pengurangan dimensi (dimensionality
reduction) dengan metode seperti Principal Component Analysis (PCA), atau pemilihan fitur yang
paling relevan saja. Dengan menggunakan metode unsupervised learning seperti clustering pada data
konsumsi makanan, kita masih dapat mengeksplorasi pola diet antar negara, mengidentifikasi klaster
negara dengan kebiasaan makan serupa (misalnya pola makan Mediterania yang dikenal sehat), serta
memvisualisasikan distribusi pola makan secara global. Namun, penting untuk menjaga jumlah
dimensi tetap proporsional terhadap jumlah data agar analisis tetap akurat dan bermakna.

2 Berikut merupakan subset data kampanye marketing dari suatu bank. Data ini memiliki informasi demografi 2 20
customer dan indicator ekonomi.
Age Job Marital Education Campaign Default Housing Loan Income
56 House Married Basic Telephone No No No 3000
maid
57 Service Married High school Telephone No No 6000
s
37 Service Married High school Telephone No Yes No 12000
s
59 Admin Professional Telephone No Yes No 22000
41 Blue- Married Telephone No No 65000
collar
24 Techni Single Professional Telephone No Yes No 11000
cian
29 Blue- Single High School Telephone No No Yes 20000
collar
54 Retired Divorced Basic Telephone No Yes Yes
a. Pihak bank ingin memahami mengenai segmentasi customer mereka, apa yang perlu Anda lakukan
dalam pembuatan model tersebut?
Segmentasi customer bertujuan untuk mengelompokkan nasabah atau pelanggan ke dalam grup-
grup yang memiliki karakteristik serupa. Dengan segmentasi, bisnis bisa lebih memahami
kebutuhan dan perilaku tiap kelompok, sehingga strategi pemasaran dan pelayanan bisa lebih tepat
sasaran.
Untuk melakukan segmentasi ini, salah satu pendekatan yang umum digunakan adalah teknik
clustering dalam unsupervised learning, seperti K-Means, Hierarchical Clustering, atau DBSCAN.
Langkah pertama dalam pembuatan model clustering adalah melakukan pra-pemrosesan data.
Pada tahap ini, nilai kosong pada dataset harus ditangani dengan mengisi missing values
menggunakan metode seperti mean, median, atau modus, agar tidak mengganggu proses analisis.
Selain itu, data kategorikal perlu diubah menjadi format numerik melalui teknik label encoding
atau one-hot encoding agar algoritma clustering dapat memproses data dengan baik. Selanjutnya,
fitur numerik harus dinormalisasi atau distandarisasi agar setiap variabel memiliki skala yang
seragam, sehingga tidak ada fitur yang mendominasi perhitungan jarak antar data.

Setelah data siap, langkah berikutnya adalah memilih fitur yang relevan untuk segmentasi, seperti
umur, pekerjaan, status pernikahan, pendidikan, kepemilikan rumah, status pinjaman, dan
pendapatan. Pemilihan fitur ini penting agar hasil clustering memiliki makna yang dapat
digunakan dalam pengambilan keputusan bisnis. Jika jumlah fitur terlalu banyak, reduksi dimensi
dengan metode seperti Principal Component Analysis (PCA) dapat dilakukan untuk menghindari
masalah dimensi tinggi dan memudahkan visualisasi hasil klaster. Tahap berikutnya adalah
menerapkan algoritma clustering. K-Means sering digunakan karena kemudahannya dan
kecepatan prosesnya, meskipun memerlukan penentuan jumlah klaster terlebih dahulu.
Hierarchical Clustering memberikan keuntungan dalam bentuk visualisasi dendrogram dan tidak
memerlukan jumlah klaster awal, sementara DBSCAN mampu mengenali bentuk klaster yang
tidak beraturan dan mengidentifikasi outlier.

Setelah klaster terbentuk, evaluasi hasil clustering perlu dilakukan untuk memastikan segmentasi
yang dibuat efektif. Metode yang umum digunakan adalah Silhouette Score, yang mengukur
seberapa baik objek berada dalam klasternya dibandingkan dengan klaster lain, dengan nilai
mendekati satu menunjukkan klaster yang baik. Visualisasi hasil clustering dalam dua atau tiga
dimensi juga membantu dalam memahami distribusi dan pemisahan antar klaster. Dengan melalui
seluruh proses ini secara teliti, segmentasi customer yang dihasilkan akan memberikan wawasan
yang berguna untuk meningkatkan strategi pemasaran, pengembangan produk, dan pelayanan
pelanggan sehingga bisnis dapat lebih fokus dan efektif dalam menjangkau target pasar.

b. Tentukan fitur dan perhitungan jarak yang Anda gunakan. Jelaskan!


Jawaban :
Tipe Data Fitur Penanganan

Numerik Age, Income Normalisasi

Kategorikal Job, Marital, Education, Housing, Loan One-Hot Encoding / Label Encoding

Contoh Encoding:
Job: Housemaid = 0, Services = 1, Admin = 2, dst.
Housing: No = 0, Yes = 1

Perhitungan Jarak:
Jika semua fitur sudah numerik, kita bisa gunakan Euclidean Distance.
Jika mencampur data numerik dan kategorikal (tanpa encoding), gunakan Gower Distance, karena cocok untuk
mixed data. jelaskan lebih detail dan komperhensif

Penjelasan :
Dalam fitur dan perhitungan jarak, fitur dapat dibedakan menjadi dua tipe utama, yaitu numerik dan
kategorikal. Fitur numerik seperti umur (Age) dan pendapatan (Income) biasanya membutuhkan penanganan
berupa normalisasi agar semua fitur memiliki skala yang sama, misalnya dengan mengubah nilainya ke rentang
0 hingga 1. Hal ini penting agar fitur dengan nilai yang lebih besar tidak mendominasi perhitungan jarak.
Sementara itu, fitur kategorikal seperti pekerjaan (Job), status pernikahan (Marital), pendidikan (Education),
kepemilikan rumah (Housing), dan pinjaman (Loan) perlu diubah menjadi format numerik agar dapat diproses
oleh algoritma yang memerlukan input numerik. Dua metode encoding yang umum digunakan adalah label
encoding, di mana setiap kategori diberi angka unik, contohnya Job: Housemaid=0, Services=1, Admin=2, dan
one-hot encoding yang mengubah tiap kategori menjadi kolom biner terpisah.

Setelah fitur numerik dan kategorikal semuanya diubah menjadi angka, perhitungan jarak antar data bisa
dilakukan menggunakan Euclidean Distance, yang mengukur jarak “lurus” antara dua titik dalam ruang fitur.
Namun, apabila data masih berupa campuran fitur numerik dan kategorikal yang belum di-encoding, Euclidean
Distance tidak tepat digunakan karena tidak bisa membandingkan secara bermakna kategori yang bersifat
nominal dengan angka numerik. Dalam situasi ini, Gower Distance menjadi solusi yang efektif karena
dirancang khusus untuk data campuran. Gower Distance menghitung jarak untuk setiap fitur berdasarkan
tipenya: untuk fitur numerik, jarak dihitung sebagai perbedaan nilai yang sudah dinormalisasi, sementara untuk
fitur kategorikal jarak bernilai nol jika kategori sama dan satu jika berbeda. Kemudian, jarak dari setiap fitur
digabungkan menjadi jarak total dengan mengambil rata-rata berbobot. Dengan demikian, pemilihan metode
perhitungan jarak yang tepa. Euclidean untuk data numerik yang sudah lengkap di-encoding, dan Gower untuk
data campuran asli angat penting agar analisis data menghasilkan hasil yang akurat.
c. Bagaimana Anda menentukan jumlah segmen yang dibutuhkan pada data tersebut
Jawaban:
Menentukan jumlah segmen (klaster) dalam data seperti ini dapat dilakukan dengan pendekatan
sebagai berikut:
1. Analisis Visual (Exploratory Data Analysis):
 Lihat distribusi atribut seperti usia (Age), pekerjaan (Job), status perkawinan (Marital),
pendidikan (Education), dan pendapatan (Income).
 Dari pengamatan tabel, terlihat bahwa karakteristik demografis dan finansial cukup beragam,
yang mengindikasikan adanya beberapa kelompok berbeda.
2. Metode Statistik atau Clustering:
 Gunakan algoritma clustering seperti K-Means atau Hierarchical Clustering.
 Tentukan jumlah segmen optimal menggunakan:
 Elbow Method: Plot nilai SSE (Sum of Squared Errors) terhadap jumlah klaster,
lalu pilih titik “tekukan”.
 Silhouette Score: Ukur kualitas klaster; semakin tinggi nilainya, semakin baik
pemisahan antar klaster.
 Gap Statistic: Bandingkan total within intra-cluster variation dengan data acak.
3. Tujuan Segmentasi:
 Jika segmentasi bertujuan untuk pemasaran, maka jumlah segmen disesuaikan dengan
strategi bisnis—misalnya: segmentasi berdasarkan usia, pendapatan, dan status kredit.
4. Domain Knowledge:
 Gunakan wawasan dari domain tertentu (misalnya perbankan) untuk menyarankan jumlah
segmen, seperti:
 Nasabah muda single
 Nasabah pensiunan
 Nasabah pekerja tetap berpenghasilan tinggi, dll
d. Apa kaitan curse of dimensionality for model tersebut
Jawaban :
Curse of Dimensionality adalah masalah yang muncul ketika data memiliki terlalu banyak fitur
(dimensi), yang dapat menyebabkan beberapa konsekuensi negatif:
1. Jarak Antar Titik Menjadi Tidak Relevan:
o Dalam high-dimensional space, semua titik cenderung terlihat memiliki jarak yang hampir
sama.
o Ini berdampak buruk pada model berbasis jarak seperti K-Means, KNN, atau DBSCAN.
2. Overfitting:
o Terlalu banyak fitur bisa membuat model belajar “noise” dalam data, bukan pola yang
sebenarnya, yang menyebabkan performa buruk pada data baru.
3. Kompleksitas Komputasi:
o Waktu dan memori yang dibutuhkan meningkat seiring bertambahnya jumlah dimensi.
4. Sinyal Melemah:
o Ketika dimensi meningkat, sinyal atau informasi berguna menjadi tersebar dan model
kesulitan menemukannya.
Kaitan dengan data tersebut:
 Saat ini data memiliki jumlah fitur yang masih relatif rendah (sekitar 9 kolom).
 Namun jika ditambah lebih banyak fitur kategorikal (yang mungkin di-one-hot encode), maka
dimensi dapat meningkat drastis.
 Untuk mengatasi hal ini, bisa digunakan:
o Feature selection (memilih fitur yang paling relevan),
o Dimensionality reduction seperti PCA (Principal Component Analysis),
o Atau encoding yang efisien seperti target encoding untuk variabel kategorikal.
3 Berikut merupakan data klasifikasi buah pisang

ID Color Form Origin Banana


1 Yellow Oblong Imported Yes
2 Yellow Round Domestic No
3 Yellow Oblong Imported No
4 Brown Oblong Imported Yes
5 Brown Round Domestic No
6 Green Round Imported Yes
7 Green Oblong Domestic No
8 Red Round Imported No

Gunakan metode Naïve Bayes untuk menentukan apakah data berikut termasuk kategori pisang
a. Color: Red, Form: Oblong, Origin: Imported
b. Color: Green, Form: Round, Origin: Domestic
Jawaban :

Probabilitas Prior:
Total data: 8

P(Banana = Yes) = 3/8

P(Banana = No) = 5/8

Probabilitas Kondisional (dengan Laplace smoothing)


Laplace smoothing: Tambah 1 ke setiap kategori, tambahkan jumlah kategori ke penyebut.

Fitur unik:
Color: Yellow, Brown, Green, Red → 4 kategori

Form: Oblong, Round → 2 kategori

Origin: Imported, Domestic → 2 kategori

Banana = Yes (3 data)


| Fitur | Nilai | Count | P(Nilai | Yes) |
|--------------|-----------|--------|-------------------------|
| Color | Yellow | 1 | (1+1)/(3+4) = 2/7 |
| | Brown | 1 | (1+1)/(3+4) = 2/7 |
| | Green | 1 | (1+1)/(3+4) = 2/7 |
| | Red | 0 | (0+1)/(3+4) = 1/7 |
| Form | Oblong | 2 | (2+1)/(3+2) = 3/5 |
| | Round | 1 | (1+1)/(3+2) = 2/5 |
| Origin | Imported | 3 | (3+1)/(3+2) = 4/5 |
| | Domestic | 0 | (0+1)/(3+2) = 1/5 |

Banana = No (5 data)
| Fitur | Nilai | Count | P(Nilai | No) |
|--------------|-----------|--------|------------------------|
| Color | Yellow | 2 | (2+1)/(5+4) = 3/9 |
| | Brown | 1 | (1+1)/(5+4) = 2/9 |
| | Green | 1 | (1+1)/(5+4) = 2/9 |
| | Red | 1 | (1+1)/(5+4) = 2/9 |
| Form | Round | 3 | (3+1)/(5+2) = 4/7 |
| | Oblong | 2 | (2+1)/(5+2) = 3/7 |
| Origin | Imported | 2 | (2+1)/(5+2) = 3/7 |
| | Domestic | 3 | (3+1)/(5+2) = 4/7 |

Klasifikasi
a. Color=Red, Form=Oblong, Origin=Imported
P(Yes | data) ∝
(3/8) × (1/7) × (3/5) × (4/5) = 0.375 × 0.1429 × 0.6 × 0.8 ≈ 0.0257

P(No | data) ∝
(5/8) × (2/9) × (3/7) × (3/7) = 0.625 × 0.2222 × 0.4286 × 0.4286 ≈ 0.0255

Hasil: Karena P(Yes) > P(No), maka data termasuk kategori pisang.

b. Color=Green, Form=Round, Origin=Domestic


P(Yes | data) ∝
(3/8) × (2/7) × (2/5) × (1/5) = 0.375 × 0.2857 × 0.4 × 0.2 ≈ 0.0086

P(No | data) ∝
(5/8) × (2/9) × (4/7) × (4/7) = 0.625 × 0.2222 × 0.5714 × 0.5714 ≈ 0.0452

Hasil: Karena P(No) > P(Yes), maka data bukan pisang.

Kesimpulan:
a. Ya, termasuk kategori pisang

b. Tidak, bukan kategori pisang

Coding Phyton
from collections import Counter
from math import prod

# Dataset
data = [
{"Color": "Yellow", "Form": "Oblong", "Origin": "Imported", "Banana": "Yes"},
{"Color": "Yellow", "Form": "Round", "Origin": "Domestic", "Banana": "No"},
{"Color": "Yellow", "Form": "Oblong", "Origin": "Imported", "Banana": "No"},
{"Color": "Brown", "Form": "Oblong", "Origin": "Imported", "Banana": "Yes"},
{"Color": "Brown", "Form": "Round", "Origin": "Domestic", "Banana": "No"},
{"Color": "Green", "Form": "Round", "Origin": "Imported", "Banana": "Yes"},
{"Color": "Green", "Form": "Oblong", "Origin": "Domestic", "Banana": "No"},
{"Color": "Red", "Form": "Round", "Origin": "Imported", "Banana": "No"},
]

# Kategori
colors = {"Yellow", "Brown", "Green", "Red"}
forms = {"Oblong", "Round"}
origins = {"Imported", "Domestic"}

# Count prior
count_yes = sum(1 for d in data if d["Banana"] == "Yes")
count_no = sum(1 for d in data if d["Banana"] == "No")
total = len(data)

P_yes = count_yes / total


P_no = count_no / total
# Fungsi menghitung probabilitas dengan Laplace smoothing
def prob(feature, value, label, categories):
count_feat = sum(1 for d in data if d[feature] == value and d["Banana"] == label)
count_label = sum(1 for d in data if d["Banana"] == label)
return (count_feat + 1) / (count_label + len(categories))

# Fungsi klasifikasi
def classify(example):
feats = ["Color", "Form", "Origin"]

P_feat_yes = prod(prob(f, example[f], "Yes", eval(f.lower() + "s")) for f in feats)


P_feat_no = prod(prob(f, example[f], "No", eval(f.lower() + "s")) for f in feats)

score_yes = P_yes * P_feat_yes


score_no = P_no * P_feat_no

return "Yes" if score_yes > score_no else "No", score_yes, score_no

# Data uji
test_a = {"Color": "Red", "Form": "Oblong", "Origin": "Imported"}
test_b = {"Color": "Green", "Form": "Round", "Origin": "Domestic"}

# Hasil klasifikasi
print("Test A:", classify(test_a)) # → "Yes"
print("Test B:", classify(test_b)) # → "No"
4 Berikut merupakan data binatang yang dapat diklasifikasikan sebagai mammal atau fish

Hair Feathers Eggs Milk Predator Legs Type


True False False True True 4 Mammal
True False False True False 4 Mammal
False False True False True 0 Fish
True False False True True 4 Mammal
True False False True True 4 Mammal
True False False True False 4 Mammal
True False False True False 4 Mammal
False False True False False 0 Fish
False False True False True 0 Fish
False False True False False 0 Fish

Tentukan dua model yang dapat digunakan untuk memprediksi tipe dari binatang tersebut. Berikan
penjelasan praproses yang perlu dilakukan dan fitur yang digunakan pada model tersebut.
Jawaban :
Model yang Dapat Digunakan untuk Memprediksi Tipe Binatang (Mammal atau Fish)
Dua model machine learning yang cocok untuk klasifikasi tipe binatang berdasarkan data yang diberikan
adalah:
1. Decision Tree Classifier
Model ini bekerja dengan membuat pohon keputusan berdasarkan fitur-fitur input untuk memisahkan kelas-
kelas output (dalam hal ini: Mammal dan Fish). Sangat cocok untuk data kategorikal seperti ini.
2. Logistic Regression
Walaupun lebih sering digunakan untuk data numerik, logistic regression juga bisa digunakan pada data
biner (True/False) setelah diubah menjadi nilai numerik. Model ini menghasilkan probabilitas dari tiap
kelas, dan cocok untuk klasifikasi biner.
Pra-pemrosesan Data (Preprocessing) yang Perlu Dilakukan
1. Konversi Nilai Biner (True/False) ke Nilai Numerik
o Ubah semua nilai True menjadi 1 dan False menjadi 0 agar bisa digunakan oleh model
machine learning.
o Contoh:
graphql
CopyEdit
Hair → 1 jika True, 0 jika False
Feathers → 1 jika True, 0 jika False
dst.
2. Encoding Label
o Ubah label kelas Type menjadi angka:
 Mammal → 1
 Fish → 0
3. Pisahkan Fitur dan Label
o Fitur: Hair, Feathers, Eggs, Milk, Predator, Legs
o Label: Type
4. (Opsional) Normalisasi atau Standarisasi
o Karena semua fitur sudah biner atau numerik kecil (seperti jumlah kaki), normalisasi tidak
terlalu dibutuhkan, tetapi bisa dilakukan untuk model seperti Logistic Regression agar lebih
stabil.
Contoh Fitur yang Digunakan
Hair Feathers Eggs Milk Predator Legs

1 0 0 1 1 4

1 0 0 1 0 4

... ... ... ... ... ...


Dua model yang dapat digunakan:
1. Decision Tree Classifier: Cocok karena data biner dan interpretasi mudah.
2. Logistic Regression: Cocok untuk klasifikasi biner dengan data yang sederhana.
5 Diberikan peta dari suatu gudang 3 20

start start start start

Anda diminta untuk menerapkan Multi-Armed Bandit supaya agent Anda dapat mencapai kotak
dengan melewati blok rintangan
Jawaban :
1. Pemahaman Masalah
Peta gudang diberikan dalam bentuk grid. Agen dapat memulai dari salah satu dari empat posisi bertanda
"start" dan tujuannya adalah untuk mencapai simbol ♛ yang berada di koordinat (4,4) (menggunakan
indeks 0).
Tantangan:
 Menghindari blok rintangan (tidak bisa dilewati).
 Menemukan jalur terbaik melalui eksplorasi.
 Tidak mengetahui jalur pasti sejak awal.
Phyton coding
import random

# Grid 5x5
# 0 = jalan bisa dilalui
# 1 = rintangan
# 9 = tujuan (♛)

grid = [
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 1],
[1, 0, 0, 0, 0],
[1, 1, 0, 1, 9],
[0, 0, 0, 1, 0]
]
start_positions = [(0,1), (0,2), (0,3), (0,4)]
goal_position = (3,4)

actions = ['up', 'down', 'left', 'right']


action_delta = {
'up': (-1, 0),
'down': ( 1, 0),
'left': ( 0, -1),
'right': ( 0, 1)
}

2. Konsep Multi-Armed Bandit (MAB)


Multi-Armed Bandit adalah framework eksplorasi-eksploitasi di mana agen harus memilih dari beberapa
aksi (atau “tangan mesin slot”) untuk memaksimalkan reward jangka panjang. Dalam konteks grid ini:
 Setiap aksi (move: up/down/left/right) dari setiap posisi bisa dianggap sebagai sebuah "arm".
 Reward diberikan jika bergerak ke arah yang lebih mendekatkan ke tujuan atau sampai ke tujuan.
 Penalti bisa diberikan jika agen menabrak rintangan atau bergerak ke posisi yang sama.
Phyton Coding :
def is_valid(pos):
x, y = pos
return 0 <= x < 5 and 0 <= y < 5 and grid[x][y] != 1

def move(pos, action):


dx, dy = action_delta[action]
new_pos = (pos[0] + dx, pos[1] + dy)
if not is_valid(new_pos):
return pos, -1 # Penalti tabrak rintangan
if new_pos == goal_position:
return new_pos, 10 # Reward besar untuk tujuan
return new_pos, -0.1 # Reward kecil untuk pergerakan biasa
3. Penerapan MAB dalam Masalah Grid
Definisi Elemen MAB:
Komponen Penjelasan
State (posisi) Posisi grid saat ini, misal (1,2)
Action Arah gerak: up, down, left, right
(arms)
Reward +1 jika mendekat ke tujuan, +10 jika mencapai ♛, -1 jika menabrak rintangan
Policy Algoritma eksplorasi seperti ε-greedy, UCB (Upper Confidence Bound), atau Thompson
Sampling
Phyton Coding :
import numpy as np
# Inisialisasi Q-table
Q = {}

def init_q(pos):
if pos not in Q:
Q[pos] = {a: 0 for a in actions}

def choose_action(pos, epsilon=0.1):


init_q(pos)
if random.random() < epsilon:
return random.choice(actions) # eksplorasi
return max(Q[pos], key=Q[pos].get) # eksploitasi

def update_q(pos, action, reward, alpha=0.1):


Q[pos][action] += alpha * (reward - Q[pos][action])

4. Proses Algoritma (ε-greedy Example)


Langkah-langkah:
1. Inisialisasi nilai Q untuk semua aksi dari setiap posisi.
2. Untuk setiap langkah:
o Dengan probabilitas ε, eksplorasi (pilih aksi acak).
o Dengan probabilitas 1-ε, eksploitasi (pilih aksi dengan reward tertinggi).
3. Lakukan aksi, amati reward, dan perbarui nilai Q menggunakan:

(Mirip Q-learning, bisa disederhanakan jika hanya MAB lokal).


Phyton coding :
# Simulasi beberapa episode
for episode in range(500):
pos = random.choice(start_positions)
steps = 0

while pos != goal_position and steps < 50:


action = choose_action(pos, epsilon=0.2)
next_pos, reward = move(pos, action)
update_q(pos, action, reward)
pos = next_pos
steps += 1
5. Evaluasi
 Uji dari semua posisi start.
 Jalankan MAB untuk beberapa episode agar agen bisa belajar mana jalur yang paling efektif.
 Hitung rata-rata langkah atau reward untuk mengevaluasi performa agen.
Phyton Coding
def test_path(start):
path = [start]
pos = start
steps = 0

while pos != goal_position and steps < 50:


action = choose_action(pos, epsilon=0) # full eksploitasi
pos, _ = move(pos, action)
path.append(pos)
steps += 1
return path

# Uji dari semua titik awal


for start in start_positions:
path = test_path(start)
print(f"Path from {start}: {path}")

6. Visualisasi Peta (Koordinat)


scss
CopyEdit
(0,0) (0,1) (0,2) (0,3) (0,4)
X Start Start Start Start
(1,0) . . X . X
(2,0) X . . . .
(3,0) X X . X ♛
(4,0) . . . X .
Verified by,

Common questions

Didukung oleh AI

In a grid navigation scenario, the Multi-Armed Bandit problem is applied by treating each movement direction (up, down, left, right) as an arm. Actions are chosen to maximize the reward, defined as reaching the target location while avoiding obstacles. Through exploration using strategies like ε-greedy, the agent tries various paths and updates its movement policy based on the rewards received. Over multiple episodes, this method allows the agent to learn the most efficient paths to the goal .

When determining the number of clusters, factors include the business context and goals, customer demographics and data distribution, and techniques such as the Elbow Method, Silhouette Score, and Gap Statistic, all influencing the decision. These methods analyze patterns and data distributions to suggest an optimal number of segments that balance model complexity with clarity and utility, aligning analysis with practical business needs or hypotheses .

The curse of dimensionality arises as the number of dimensions increases, making measures of distance less meaningful because all points appear similarly distant. This affects algorithms relying on distance metrics, such as K-Means or KNN, rendering their outputs less reliable. As dimensions multiply, computational complexity and overfitting risk increase, complicating data analysis and model generalization. Reducing dimensions via techniques like PCA helps mitigate this issue by identifying dominant patterns .

Normalization standardizes the scale of data so that all features contribute equally to the model's performance. This is critical because algorithms like K-Means, PCA, SVM, and KNN are sensitive to the scale of features. If one feature, such as "RedMeat," has values significantly larger than another, like "Fish," the algorithm may infer undue importance to the former due to its larger scale, leading to biased and inaccurate model outputs. Normalizing features ensures a level playing field, resulting in a more accurate and representative model .

Clustering methods like K-Means can be employed to group countries with similar consumption patterns of items like "RedMeat" and "Fish." Dimensionality reduction techniques like PCA or t-SNE can help visualize these high-dimensional datasets, revealing underlying patterns or correlations. Association rule learning, though more common in transaction data, could also be adapted to find associations among consumption variables. These techniques allow for the identification of distinct consumption profiles and hidden trends within the dataset .

Decision tree classifiers create decision paths based on binary feature values, making them ideal for datasets with categorical variables. They split data using conditions derived from feature values to classify outcomes, such as determining if an animal is a mammal or fish based on attributes like "Hair" or "Feathers." Their ability to handle both categorical and numeric data without requiring normalization makes them especially suitable for datasets with these characteristics .

Clustering groups customers into segments with similar characteristics, allowing businesses to tailor marketing and services to specific needs and behaviors of each group. Methods like K-Means or DBSCAN identify these segments, and preprocessing steps like encoding categorical data and normalizing numerical ones ensure all features are equitably considered. Evaluating clustering results using metrics like Silhouette Scores provides insights into customer distribution, enhancing marketing strategies and customer satisfaction .

Preprocessing binary features by converting them to numerical values (e.g., True/False to 1/0) is crucial for logistic regression because the algorithm operates on numeric input. Additionally, while not mandatory, normalizing these features can improve the model's stability by preventing influence from disparate scales, contributing to more robust and accurate predictions tailored to binary classification tasks such as distinguishing between species types .

Gower Distance is specifically designed for mixed-type data, allowing for meaningful calculations across numerical and categorical variables, unlike Euclidean Distance, which is suitable only for purely numerical data. Gower's method standardizes numerical differences and assigns binary differences to categorical data, resulting in a comprehensive distance measure that captures more diversity in datasets with varied feature types, essential for mixed data clustering or analysis .

Data preparation for clustering involves several steps: handling missing values by imputing them with mean, median, or mode; normalizing numerical features to ensure equal weight in distance calculations; and encoding categorical data using techniques like label or one-hot encoding. These steps ensure that clustering algorithms can effectively compute similarities or distances between instances, leading to meaningful and interpretable groupings. Without these preprocessing steps, clustering might yield misleading results due to biased feature influences .

Anda mungkin juga menyukai