Tugas 2 Praktikum Sains Data 2024 Genap: Perbandingan Metode Klasifikasi

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:

    Johann Carl Friedrich Gauss_2201234567_Kelas C_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

    Johann Carl Friedrich Gauss_2201234567_Kelas C_Tugas2PrakSaindat_revisi.ipynb

    Johann Carl Friedrich Gauss_2201234567_Kelas C_Tugas2PrakSaindat_revisi2.ipynb

    Johann Carl Friedrich Gauss_2201234567_Kelas C_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 2 (dua) minggu, tenggat waktu (deadline) pengumpulan Tugas 2 ini (termasuk revisi) adalah:

    Jumat, 24 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. 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.

  9. Narahubung untuk Tugas 2 Praktikum Sains Data adalah:

    • Rifki - LINE: rifkyprakasya_

    • Bisma - LINE: bisma_joyosumarto

Soal

Tugas 2 ini terdiri dari soal a-e.

Ada dataset water_potability.csv yang mendata kualitas air di ribuan tempat (satu baris per tempat) dan menentukan apakah air tersebut layak diminum (potable), dengan nilai 1 (satu) jika layak dan nilai 0 (nol) jika tidak layak. Dataset ini bisa di-download dari salah satu sumber berikut:

Di dataset ini, fitur target yang ingin diprediksi adalah kelayakan air (Potability). Perhatikan, fitur ini bersifat biner, sehingga metode machine learning yang cocok untuk prediksi adalah metode klasifikasi.

Metode-metode klasifikasi (selain neural network) yang sudah kita pelajari selama praktikum adalah

  • regresi logistik (khusus klasifikasi biner);

  • decision tree;

  • SVM (khusus klasifikasi biner); dan

  • k-nearest neighbors.

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

  1. Langkah preprocessing yang sekiranya diperlukan

  2. EDA

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

  4. Training: menggunakan scikit-learn (sklearn), untuk menyelesaikan masalah klasifikasi di atas, buatlah model

    • regresi logistik;

    • decision tree;

    • SVM; dan

    • k-nearest neighbors.

    Tampilkan juga decision tree yang terbentuk.

    Anda bebas memilih hyperparameter seperti kernel untuk SVM, nilai \(k\) untuk k-nearest neighbors, ataupun yang lainnya.

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