Live Code 3 ini dibuat guna mengevaluasi konsep Unsupervised Learning sebagai berikut:
-
Mampu memahami konsep Unsupervsied Learning dengan KMeans.
-
Mampu mempersiapkan data untuk digunakan saat training dengan algoritma KMeans.
-
Mampu mengimplementasikan KMeans untuk membuat prediksi.
Dataset Name : humanitarian-aid.csv
Column | Description |
---|---|
country |
Name of the country |
child_mortality |
Death of children under 5 years of age per 1000 live births |
exports |
Export of goods and services. Given as percentage of the Total GDP |
health |
Total health spending as percentage of Total GDP |
imports |
Imports of goods and services. Given as percentage of the Total GDP |
income |
Net income per person |
inflation |
The measurement of the annual growth rate of the Total GDP |
life_expectancy |
The average number of years a new born child would live if the current mortality patterns remain the same |
total_fertility |
The number of children that would be born to each woman if the current age-fertility rates remain the same |
gdpp |
The GDP per capita. Calculated as the Total GDP divided by the total population. |
Sebuah lembaga LSM berkomitmen untuk memerangi kemiskinan dan menyediakan fasilitas dan bantuan dasar bagi masyarakat di negara-negara kurang mampu. Baru-baru ini, mereka telah mampu mengumpulkan sekitar $ 10 juta. CEO LSM tersebut perlu memutuskan bagaimana menggunakan uang ini secara strategis dan efektif. Isu signifikan yang muncul saat membuat keputusan ini adalah terkait dengan pemilihan negara mana yang paling membutuhkan bantuan.
Buatlah model machine learning Unsupervised Learning dengan menggunakan KMeans untuk mengelompokkan negara-negara tersebut. Nyatakan secara jelas negara mana yang Anda rekomendasikan kepada sang CEO di bagian Kesimpulan.
Dataset terlampir pada repository
Live Code 3 dikerjakan dalam format notebook (.ipynb) dengan beberapa kriteria wajib dibawah ini:
-
Machine learning framework yang digunakan adalah Scikit-Learn.
-
Ada penggunaan library visualisasi, seperti matplotlib, seaborn, atau yang lain.
-
Isi notebook harus mengikuti outline di bawah ini:
-
Perkenalan
Bab pengenalan harus diisi dengan identitas, gambaran besar dataset yang digunakan, dan objective yang ingin dicapai.
-
Import Libraries
Cell pertama pada notebook harus berisi dan hanya berisi semua library yang digunakan dalam project.
-
Data Loading
Bagian ini berisi proses penyiapan data sebelum dilakukan eksplorasi data lebih lanjut. Proses Data Loading dapat berupa memberi nama baru untuk setiap kolom, mengecek ukuran dataset, dll.
-
Exploratory Data Analysis (EDA)
Bagian ini berisi eksplorasi data pada dataset yang diberikan dengan menggunakan query, grouping, visualisasi sederhana, dan lain sebagainya.
-
Feature Engineering
Bagian ini berisi proses penyiapan data untuk proses pelatihan model, seperti transformasi data (normalisasi, encoding, dll.), dan proses-proses lain yang dibutuhkan.
-
Model Definition
Bagian ini berisi cell untuk mendefinisikan model. Jelaskan alasan menggunakan suatu algoritma/model, hyperparameter yang dipakai, jenis penggunaan metrics yang dipakai, dan hal lain yang terkait dengan model.
-
Model Training
Cell pada bagian ini hanya berisi code untuk melatih model dan output yang dihasilkan. Lakukan beberapa kali proses training dengan hyperparameter yang berbeda untuk melihat hasil yang didapatkan. Analisis dan narasikan hasil ini pada bagian Model Evaluation.
-
Model Evaluation
Pada bagian ini, dilakukan evaluasi model yang harus menunjukkan bagaimana performa model berdasarkan metrics yang dipilih. Hal ini harus dibuktikan dengan visualisasi tren performa dan/atau tingkat kesalahan model. Lakukan analisis terkait dengan hasil pada model dan tuliskan hasil analisisnya.
-
Model Saving
Pada bagian ini, dilakukan proses penyimpanan model dan file-file lain yang terkait dengan hasil proses pembuatan model.
-
Model Inference
Model yang sudah dilatih akan dicoba pada data yang bukan termasuk ke dalam data untuk membuat model. Data ini harus dalam format yang asli, bukan data yang sudah di-scaled.
-
Pengambilan Kesimpulan
Pada bagian terakhir ini, harus berisi kesimpulan yang mencerminkan hasil yang didapat dengan objective yang sudah ditulis di bagian pengenalan.
-
-
Notebook harus diupload dalam akun GitHub masing-masing student untuk selanjutnya dinilai.
-
Disarankan mengerjakan menggunakan Google Colab.
Segala jenis problem yang muncul akibat masalah yang dialami komputer student saat Live Code karena menggunakan Jupyter Notebook seperti laptop blue screen, laptop freeze, dll, menjadi tanggung jawab student.
-
Simpan assignment pada sesi ini dengan nama
h8dsft_P1LC3_Set_2_<nama-students>.ipynb
misalh8dsft_P1LC3_Set_2_raka_ardhi.ipynb
. -
Push Assigment yang telah Anda buat ke akun Github Classroom Anda masing-masing.
Criteria | Meet Expectations | Points |
---|---|---|
Feature Engineering | Mampu melakukan preprocessing dataset sebelum melakukan proses modeling (normalisasi, scaling, dll) | 35 pts |
PCA | Mampu melakukan reduksi dimensi dengan menggunakan PCA | 10 pts |
KMeans | Mampu melakukan training data dengan algoritma KMeans | 10 pts |
Model Inference | Mencoba model yang telah dibuat dengan data baru | 10 pts |
Runs Perfectly | Kode berjalan tanpa ada error. Seluruh kode berjalan dan berfungsi dengan sempurna | 10 pts |
Criteria | Meet Expectations | Points |
---|---|---|
Tertata Dengan Baik | Semua baris kode terdokumentasi dengan baik dengan Markdown untuk penjelasan kode | 15 pts |
Kriteria tertata dengan baik diantaranya adalah:
1. Terdapat section Perkenalan yang jelas dan lengkap terkait masalah dan latar belakang masalah yang akan diselesaikan.
2. Tidak menyalin markdown dari tugas lain.
3. Import library rapih (terdapat dalam 1 cell dan tidak ada unused libs).
4. Pemakaian fungsi markdown yang optimal (Heading, text formating, dll).
5. Terdapat komentar pada setiap baris kode.
6. Adanya pemisah yang jelas antar section, dll.
7. Tidak adanya typo.
Criteria | Meet Expectations | Points |
---|---|---|
Model Analysis | Mampu melakukan evaluasi model untuk menentukan nilai K / jumlah cluster |
15 pts |
Overall Analysis | Menarik informasi/kesimpulan dari keseluruhan kegiatan yang dilakukan | 20 pts |
Hint :
Setelah jumlah cluster yang optimal terbentuk, silakan lakukan beberapa hal dibawah ini :
1. Visualisasikan dalam ruang 2D.
2. Lakukan eksplorasi terhadap masing-masing cluster sehingga ciri khas setiap cluster dapat diketahui.
3. Narasikan negara mana yang Anda rekomendasikan.
Total Points : 125
-
Deadline : pukul 12:15 WIB.
-
Keterlambatan pengumpulan tugas mengakibatkan skor LC 3 menjadi 0.