Tugas 2 Praktikum Sains Data: Model Klasifikasi

Deadline: Sabtu, 10 Mei 2025
Published

April 9, 2025

Kembali ke Sains Data

Petunjuk Umum

  1. Kerjakan secara individu.

  2. Kerjakan tugas ini menggunakan bahasa pemrograman Python dengan file format berupa interactive Python notebook (yaitu file berbentuk .ipynb BUKAN .py), yang bisa dibuat misalnya menggunakan Jupyter Notebook atau Google Colaboratory.

  3. Harap sertakan penjelasan untuk setiap proses secara singkat di samping potongan kode (bisa dengan teks / text box maupun dengan comment, ‘#’).

  4. Format nama file untuk Tugas 2 adalah:

    Nama Lengkap_NPM_Kelas SIAK_Tugas2PrakSaindat.ipynb

    Contoh penamaan yang benar:

    William Rowan Hamilton_2201234567_Kelas H_Tugas2PrakSaindat.ipynb

    Untuk mengumpulkan lebih dari satu file, gunakan .zip dengan format nama yang sama (dan file .ipynb yang di dalamnya juga masih menggunakan format nama yang sama).

  5. Apabila ada yang ingin direvisi setelah pengumpulan, lakukan pengumpulan ulang di Google Forms yang sama, tambahkan keterangan bahwa ada revisi, dan tambahkan kata “revisi” pada bagian akhir nama file, contohnya menjadi

    William Rowan Hamilton_2201234567_Kelas H_Tugas2PrakSaindat_revisi.ipynb (atau .zip)

    William Rowan Hamilton_2201234567_Kelas H_Tugas2PrakSaindat_revisi2.ipynb

    William Rowan Hamilton_2201234567_Kelas H_Tugas2PrakSaindat_revisi3.ipynb

    (tentunya gunakan .zip kalau ada lebih dari satu file yang ingin dikumpulkan)

    (Revisi boleh dilakukan berkali-kali selama masa pengerjaan.)

  6. Pengumpulan tugas dilakukan ke Google Forms berikut ini, sesuai dengan kelas Anda di SIAK NG (link akan selalu sama untuk semua tugas praktikum Sains Data):

  7. Dengan durasi pengerjaan sekitar 1 (satu) bulan, tenggat waktu (deadline) pengumpulan Tugas 2 ini (termasuk revisi) adalah:

    Sabtu, 10 Mei 2024, pukul 23.59 WIB.

    Mohon manfaatkan waktu Anda dengan baik (seperti mencicil pengerjaan, bahkan sudah selesai dari jauh-jauh hari) agar mengumpulkan tugas sebelum deadline. Keterlambatan pengumpulan bisa dikenakan pengurangan nilai atau bahkan dianggap tidak mengumpulkan, tergantung kesepakatan dari dosen. Meskipun demikian, lebih baik terlambat mengumpulkan daripada tidak mengumpulkan sama sekali.

  8. Gunakan module (python package) yang telah dipelajari di praktikum atau kelas. Anda diperbolehkan untuk menggunakan module (python package) lain dengan catatan bahwa Anda harus menuliskan penjelasan singkat mengenai module tersebut.

  9. Untuk setiap proses sains data (pembersihan data, transformasi data, EDA, dan pemodelan) yang dilakukan Anda diperlukan untuk menuliskan justifikasi-nya. Justifikasi yang dimaksud dapat berupa penjelasan singkat mengenai proses yang dilakukan, dan penjelasan mengenai alasan mengapa anda melakukan proses tersebut.

  10. Sesuai standar Universitas Indonesia, plagiarisme dilarang keras dan bisa menyebabkan nilai tugas praktikum menjadi nol untuk semua pihak yang terlibat, tanpa peringatan apapun. Namun, Anda boleh memanfaatkan kode apapun yang ada di modul praktikum.

  11. Narahubung:

    • Tugas 2 Saindat: Pandu (LINE: pandu.adj)
    • Umum: Zaki (LINE: linenyazaki)

Soal

Diberikan dataset insurance_claims.csv yang berisi data pengajuan klaim asuransi kendaraan yang diajukan oleh para tertanggung (nasabah). Dataset dapat di-download pada tautan berikut:

Download Dataset

Dataset ini bertujuan untuk mengidentifikasi apakah suatu klaim merupakan fraud (penipuan) atau bukan, yang direpresentasikan oleh fitur target fraud_reported. Perhatikan, fitur ini memiliki dua kelas, yaitu “Y” dan “N”, sehingga metode machine learning yang cocok untuk prediksi adalah metode klasifikasi biner.

Jika ingin melihat deskripsi lebih rinci mengenai tiap fitur pada dataset, silahkan buka file .txt berikut:

Deskripsi Fitur

Metode-metode klasifikasi yang sejauh ini sudah kita pelajari selama praktikum adalah

  • regresi logistik,

  • decision tree, dan

  • SVM.

Menggunakan ketiga metode di atas, lakukan end-to-end machine learning, atau lebih tepatnya end-to-end classification, yang meliputi:

  1. Langkah preprocessing yang sekiranya diperlukan: bisa meliputi transformasi data, seleksi fitur, imputasi, encoding, standarisasi, normalisasi, dsb. Berikan juga keterangan/penjelasan, mengapa Anda melakukan langkah preprocessing tersebut.

  2. EDA: cobalah menduga, kira-kira fitur/kolom/variabel apa saja yang memiliki hubungan yang erat atau menarik? Lakukan eksplorasi dengan membuat visualisasi dari fitur-fitur tersebut. Anda bebas membuat plot apa saja yang sekiranya cocok.

    Lalu, tuliskan penjelasan atau interpretasi Anda untuk tiap hasil visualisasi (misalnya dugaan Anda benar/salah, atau Anda memperoleh informasi/insight baru dari visualisasi tersebut).

  3. Lakukan train-test-split (rasionya bebas, misal 80:20). Jangan lupa gunakan suatu random_state.

  4. Modelling: Buatlah minimal tiga model masing-masing menggunakan ketiga metode klasifikasi tersebut, yaitu:

    • regresi logistik (beri alasan mengenai fitur yang dipilih sebagai variabel prediktor),

    • decision tree (Tampilkan juga decision tree yang terbentuk), dan

    • SVM (hyperparameter/Fungsi kernel yang digunakan dibebaskan).

    Anda diizinkan untuk menambahkan model menggunakan metode lain yang tidak diajarkan di praktikum (seperti KNN, random forest, dsb) selama Anda menjelaskan secara singkat metode yang digunakan tersebut. Namun anda wajib menggunakan ketiga metode yang disebutkan sebelumnya.

  5. Evaluasi model klasifikasi: untuk model-model klasifikasi yang telah Anda buat, tampilkan/hitunglah metrik evaluasi untuk klasifikasi, misalnya menampilkan confusion matrix atau menghitung Jaccard score kemudian jelaskan interpretasinya. Di antara model-model tersebut, dengan hyperparameter yang Anda pilih, model mana yang terbaik?