Back to IF3170 Inteligensi Artifisial

Problem Set Ujian: Algoritma Klasifikasi dan Evaluasi

Mata Pelajaran: IF3170 Intelegensi Artifisial

Estimasi Waktu: 120 menit

Total Nilai: 100 poin

Tujuan Pembelajaran

Setelah menyelesaikan problem set ini, mahasiswa diharapkan dapat:

  1. Membedakan secara konseptual dan praktis antara algoritma lazy learner (kNN) dan eager learner (DTL).

  2. Menerapkan perhitungan jarak mixed-attribute (numerik dan kategorikal) untuk kNN dan menganalisis dampaknya.

  3. Membuat dan menginterpretasikan Confusion Matrix secara mendalam untuk menghitung dan menganalisis metrik (Akurasi, Presisi, Recall, F1-Score).

  4. Menganalisis dan menerapkan berbagai teknik dalam DTL Issues, termasuk penanganan data kontinu, missing values, Gain Ratio, dan Attribute Cost.

  5. Mensintesis pemahaman tentang Overfitting dan strategi mitigasinya (Pruning).

  6. Membangun sebuah Decision Tree (pohon keputusan) parsial berdasarkan metrik Information Gain dan menangani kondisi stopping condition (node murni atau pluralitas).

Petunjuk Umum

  • Jawaban yang tidak disertai justifikasi atau langkah perhitungan (jika diminta) tidak akan mendapat poin penuh.

  • Semua soal disajikan terlebih dahulu. Kunci Jawaban dan Rubrik Penilaian terdapat di bagian akhir dokumen.

  • Gunakan , , , , , , , , .

BAGIAN I: Konsep Fundamental (20 poin)

Fokus: Recall & Comprehension - Menguji pemahaman konsep dan perbedaannya.

Soal 1-10. Klasifikasi Konsep (Format Matrix) (10 poin, @1 poin)

Pasangkan deskripsi di kolom “Isi Soal” dengan konsep yang paling tepat. Pilih satu jawaban per baris.

NoIsi SoalA. kNNB. DTL (ID3)C. DTL IssuesD. PrecisionE. RecallF. AccuracyG. EntropyH. Gain Ratio
1Sebuah algoritma lazy learner yang melakukan komputasi utama saat prediksi.
2Ukuran impurity atau ketidakpastian dalam satu set data.
3Metrik yang sangat penting ketika biaya False Negative (FN) tinggi (misal: deteksi kanker).
4Sebuah algoritma eager learner yang membangun model secara top-down dan greedy.
5Metrik yang digunakan untuk memilih atribut, yang menormalisasi InfoGain dengan SplitInfo.
6Metrik yang sangat penting ketika biaya False Positive (FP) tinggi (misal: filter spam).
7Konsep yang mencakup Overfitting, Pruning, dan penanganan Missing Values.
8Metrik , yang bisa menyesatkan pada data tidak seimbang.
9Performa algoritma ini sangat sensitif terhadap feature scaling (penskalaan fitur).
10Menggunakan Information Gain untuk memilih atribut terbaik secara rekursif.

Soal 11-20. Analisis Konsep (Format Benar/Salah) (10 poin, @1 poin)

Tentukan apakah pernyataan berikut Benar atau Salah.

NoPernyataanBenarSalah
11Reduced Error Pruning adalah teknik pre-pruning yang menghentikan pohon tumbuh lebih awal.
12Overfitting terjadi ketika model memiliki akurasi tinggi pada data latih namun akurasi rendah pada data uji.
13Information Gain memiliki bias lebih menyukai atribut dengan kardinalitas tinggi (banyak nilai unik).
14F1-Score adalah rata-rata aritmatika dari Presisi dan Recall.
15Dalam Rule Post-Pruning, pohon keputusan pertama-tama dikonversi menjadi satu set aturan IF-THEN.
16Untuk atribut kontinu, DTL mengevaluasi setiap nilai sebagai split point potensial.
17Jika Cost(A) = 100 dan Cost(B) = 1, DTL standar (ID3) akan lebih memilih B daripada A.
18Sebuah leaf node (daun) dalam DTL selalu merepresentasikan node yang 100% murni (pure).
19Curse of Dimensionality adalah masalah serius untuk DTL, tetapi tidak terlalu berdampak pada kNN.
20Jika dataset memiliki 50% ‘Ya’ dan 50% ‘Tidak’, Akurasi adalah metrik evaluasi yang sudah cukup baik.

BAGIAN II: Studi Kasus 1 - kNN & Performance Metrics (40 poin)

Fokus: Application & Analysis - Perhitungan kNN dengan data campuran dan evaluasi model.

Skenario A: Prediksi kNN (Soal 21-25)

Anda ingin memprediksi apakah user akan Beli Premium (Ya/Tidak) berdasarkan data berikut.

IDJam Nonton (X1)Tipe Akun (X2)Beli Premium (Y)
D110GratisTidak
D250GratisYa
D320PelajarTidak
D440PelajarYa
D560KeluargaYa
D615GratisTidak

Data Baru (Query): = (Jam Nonton = 25, Tipe Akun = ‘Gratis’)

Anda diwajibkan menggunakan pendekatan berikut untuk jarak:

  1. Normalisasi Min-Max untuk fitur numerik (Jam Nonton) ke rentang [0, 1].

  2. Hamming Distance (0 jika sama, 1 jika beda) untuk fitur kategorikal (Tipe Akun).

  3. Jarak Gabungan (Mixed Distance):

  • 21. (5 poin) Normalisasi Data: Lakukan Normalisasi Min-Max untuk fitur Jam Nonton (X1) dari D1-D6 dan data Query . (Min=10, Max=60). Tampilkan hasil normalisasinya.

  • 22. (12 poin) Perhitungan Jarak: Hitung Jarak Gabungan (Mixed Distance) dari Query (yang sudah dinormalisasi) ke setiap 6 data latih (D1-D6).

  • 23. (3 poin) Prediksi (k=1): Apa prediksi kelas (Ya/Tidak) untuk jika ?

  • 24. (3 poin) Prediksi (k=3): Apa prediksi kelas (Ya/Tidak) untuk jika ?

  • 25. (3 poin) Prediksi (k=5): Apa prediksi kelas (Ya/Tidak) untuk jika ?

Skenario B: Evaluasi Performa (Soal 26-30)

Sebuah model klasifikasi (bisa jadi kNN) telah diuji pada 100 data uji baru.

  • Kenyataannya, terdapat 30 kasus ‘Ya’ (Positif) dan 70 kasus ‘Tidak’ (Negatif).

  • Model memprediksi 40 kasus sebagai ‘Ya’.

  • Dari 40 prediksi ‘Ya’ tersebut, 25 di antaranya adalah prediksi yang benar.

  • 26. (4 poin) Confusion Matrix: Berdasarkan informasi di atas, lengkapi Confusion Matrix (TP, FP, FN, TN).

  • 27. (2 poin) Akurasi: Hitung Akurasi model.

  • 28. (2 poin) Presisi: Hitung Presisi model (untuk kelas ‘Ya’).

  • 29. (2 poin) Recall: Hitung Recall model (untuk kelas ‘Ya’).

  • 30. (4 poin) Skenario Analisis: (a) Untuk skenario Filter Spam, metrik mana (Presisi atau Recall) yang lebih penting? (b) Untuk skenario Deteksi Penipuan (Fraud), metrik mana yang lebih penting? Berikan justifikasi singkat untuk keduanya.

BAGIAN III: Studi Kasus 2 - DTL & DTL Issues (40 poin)

Fokus: Synthesis & Evaluation - Menerapkan ID3 dengan isu data riil.

Skenario: Prediksi Lolos Kredit

Anda akan membangun Decision Tree untuk memprediksi Lolos_Kredit (Ya/Tidak) menggunakan dataset berikut yang memiliki missing values (’?’).

Set Data Latih (S): Total 10 data. [4 Ya, 6 Tidak].

IDPendapatan (juta)Status_RumahRiwayat_KreditLolos_Kredit
D130SewaBaikYa
D280MilikBaikYa
D340SewaBurukTidak
D470MilikCukupYa
D535SewaCukupTidak
D650SewaBaikYa
D760?CukupTidak
D845MilikBurukTidak
D990Milik?Ya
D1040Sewa?Tidak
  • 31. (6 poin) Atribut Kontinu (Pendapatan): Algoritma DTL menemukan dua split point kandidat terbaik untuk Pendapatan:

    • Kandidat A: Pendapatan <= 47.5

      • Subset 47.5: 5 data [1 Ya, 4 Tidak]

      • Subset > 47.5: 5 data [3 Ya, 2 Tidak]

    • Kandidat B: Pendapatan <= 65.0

      • Subset 65.0: 7 data [2 Ya, 5 Tidak]

      • Subset > 65.0: 3 data [2 Ya, 1 Tidak]

    Hitung Information Gain untuk kedua kandidat (A dan B). Kandidat mana yang akan dipilih untuk Pendapatan?

  • 32. (8 poin) Gain Ratio (Riwayat_Kredit): Anda akan mengevaluasi atribut Riwayat_Kredit.

    • PENTING: Perlakukan missing value (’?’) sebagai kategori keempat yang terpisah.

    • Subset ‘Baik’: 3 data [2 Ya, 1 Tdk]

    • Subset ‘Buruk’: 2 data [0 Ya, 2 Tdk] (Murni)

    • Subset ‘Cukup’: 3 data [1 Ya, 2 Tdk]

    • Subset ’?’: 2 data [1 Ya, 1 Tdk]

    (a) Hitung Information Gain(S, Riwayat_Kredit).

    (b) Hitung SplitInformation(S, Riwayat_Kredit).

    (c) Hitung GainRatio(S, Riwayat_Kredit).

  • 33. (4 poin) Attribute Cost: Misalkan Anda mendapatkan hasil Gain berikut:

    • Gain(Pendapatan@47.5) = 0.1245 (Biaya Tes: 1 poin, karena data internal)

    • Gain(Riwayat_Kredit) = 0.2202 (Biaya Tes: 5 poin, karena cek ke BI)

    • Gain(Status_Rumah) = 0.1500 (Biaya Tes: 1 poin, karena data internal)

    Jika menggunakan metrik seleksi Gain^2 / Cost, atribut mana yang akan dipilih sebagai root node? Tunjukkan perhitungan skor untuk ketiganya.

  • 34. (3 poin) Overfitting & Pruning: Apa yang dimaksud dengan Overfitting? Jelaskan secara singkat strategi Reduced Error Pruning untuk mengatasinya.

  • 35. (3 poin) Penanganan Missing Value: Selain memperlakukan ’?’ sebagai nilai baru, sebutkan dua strategi lain untuk menangani missing values saat training atau testing.

Soal 36-40: Membangun Pohon Keputusan

Berdasarkan perhitungan di soal sebelumnya (Soal 31-33), Gain(Riwayat_Kredit) = 0.2202 adalah yang tertinggi (sebelum mempertimbangkan biaya atau rasio). Mari kita gunakan Information Gain murni sebagai kriteria untuk membangun pohon.

  • Root Node (dipilih): Riwayat_Kredit (Gain = 0.2202)

  • Gain(Status_Rumah) = 0.1500

  • Gain(Pendapatan@47.5) = 0.1245

  • 36. (3 poin) Riwayat_Kredit memiliki 4 cabang (‘Baik’, ‘Buruk’, ‘Cukup’, ’?’). Cabang mana yang langsung menjadi leaf node (daun) karena datanya murni (pure)? Apa label leaf tersebut?

  • 37. (3 poin) Untuk cabang Riwayat_Kredit = '?', data tersisa adalah [D9 (Ya), D10 (Tidak)]. Cabang ini tidak murni dan tidak ada atribut tersisa. Sesuai algoritma DTL (ID3), apa label leaf yang harus diberikan pada cabang ini? (Hint: PLURALITY-VALUE dari parent).

  • 38. (3 poin) Untuk cabang Riwayat_Kredit = 'Baik', data tersisa adalah [D1(Ya), D2(Ya), D6(Ya)]. Data untuk cabang ‘Baik’ adalah 3 data [3 Ya, 0 Tdk]. Apa yang terjadi pada cabang ini?

  • 39. (3 poin) Untuk cabang Riwayat_Kredit = 'Cukup' (data: [D4(Ya), D5(Tdk), D7(Tdk)]), kita harus memilih atribut baru. Jika Gain(S_cukup, Pendapatan) > Gain(S_cukup, Status_Rumah), atribut apa yang akan menjadi node selanjutnya di bawah cabang ‘Cukup’?

  • 40. (4 poin) Gambarkan diagram pohon keputusan parsial berdasarkan jawaban Anda dari soal 36-39.

BAGIAN IV: Esai Sintesis (20 poin)

Fokus: Sintesis & Evaluasi Kritis

  • 41. (10 poin) kNN vs DTL: Bandingkan secara kritis algoritma kNN dan DTL dalam hal-hal berikut:

    • (a) Proses Pelatihan (Lazy vs Eager)

    • (b) Representasi Model (Hasil modelnya berupa apa?)

    • (c) Penanganan Fitur Tidak Relevan (Mana yang lebih sensitif?)

    • (d) Biaya Komputasi (Saat training vs saat testing/prediksi)

  • 42. (10 poin) Analisis Skenario Metrik: Anda sedang membangun dua sistem AI:

    • Sistem A (Filter Email): Memprediksi apakah email adalah ‘Spam’ (Positif) atau ‘Penting’ (Negatif).

    • Sistem B (Deteksi Medis): Memprediksi apakah pasien ‘Sakit Kanker’ (Positif) atau ‘Sehat’ (Negatif).

      Jelaskan untuk Sistem A, mana error yang lebih fatal (FP atau FN)? Metrik apa (Presisi atau Recall) yang harus Anda prioritaskan?

      Jelaskan untuk Sistem B, mana error yang lebih fatal (FP atau FN)? Metrik apa (Presisi atau Recall) yang harus Anda prioritaskan? Berikan justifikasi lengkap untuk kedua sistem.