Proyek ini bertujuan untuk memprediksi Life Expectancy (Harapan Hidup) suatu negara berdasarkan berbagai faktor sosial, ekonomi, dan kesehatan masyarakat menggunakan pendekatan Regresi Linear dan Seleksi Fitur (Forward Selection).
Notebook ini berisi analisis lengkap dari data eksplorasi hingga evaluasi model untuk menentukan faktor paling berpengaruh terhadap harapan hidup.
Sumber: World Health Organization (WHO) – Life Expectancy (Data Dunia 2000–2015)
Jumlah Data: 2,938 baris
Jumlah Fitur: 22 kolom
Target: Life expectancy (dalam tahun)
Beberapa fitur penting:
Adult Mortality– jumlah kematian per 1.000 populasi dewasainfant deaths– jumlah kematian bayi per 1.000 kelahiranAlcohol– konsumsi alkohol per kapitaBMI– Body Mass Index rata-rataGDP– Produk Domestik Bruto per kapitaSchooling– rata-rata lama pendidikanHIV/AIDS– prevalensi penyakit per 1.000 penduduk
Dataset ini cukup kompleks karena melibatkan faktor kesehatan, sosial, dan ekonomi, sehingga cocok untuk analisis multivariat dengan regresi linear.
Langkah-langkah pra-pemrosesan meliputi:
- Menghapus missing values (NaN) dengan metode imputasi rata-rata atau median.
- Normalisasi data untuk menyetarakan skala antar fitur.
- Encoding fitur kategorikal seperti
Status(Developed/Developing) menggunakan one-hot encoding. - Membagi dataset menjadi training dan testing (80% : 20%).
Proyek ini menggunakan tiga metode seleksi fitur untuk menentukan variabel terbaik:
- 🔹 Forward Selection: menambah fitur satu per satu berdasarkan peningkatan nilai Adjusted R².
- 🔹 Backward Elimination: menghapus fitur satu per satu berdasarkan signifikansi (p-value).
- 🔹 Stepwise Selection: kombinasi antara forward dan backward.
| Dataset | R² | Adjusted R² | RMSE | MAE | AIC | BIC | Method |
|---|---|---|---|---|---|---|---|
| Test | 0.960 | 0.940 | 1.864 | 1.189 | NaN | NaN | Forward |
| Test | 0.839 | 0.829 | 3.735 | 2.707 | NaN | NaN | Backward |
| Test | 0.892 | 0.882 | 3.054 | 2.303 | NaN | NaN | Stepwise |
Model terbaik berdasarkan R² Test: ✅ Forward Selection
Evaluasi model menggunakan beberapa metrik regresi:
- R² (Coefficient of Determination) → mengukur seberapa baik model menjelaskan variasi data
- Adjusted R² → R² yang disesuaikan dengan jumlah fitur
- RMSE (Root Mean Squared Error) → kesalahan rata-rata kuadrat
- MAE (Mean Absolute Error) → kesalahan absolut rata-rata
| Metric | Value |
|---|---|
| R² | 0.960 |
| Adjusted R² | 0.940 |
| RMSE | 1.864 |
| MAE | 1.189 |
Model ini mampu menjelaskan 96% variasi data life expectancy dengan kesalahan prediksi rata-rata sekitar ±1.8 tahun — hasil yang sangat baik.
Notebook juga menyertakan berbagai grafik seperti:
- Correlation Heatmap antar variabel
- Residual Plot untuk memeriksa kesalahan model
- Feature Importance Plot hasil seleksi fitur
Contoh visualisasi: plt.figure(figsize=(8,6)) sns.heatmap(df.corr(), cmap='coolwarm', annot=False) plt.title("Correlation Heatmap - Life Expectancy Dataset") plt.show()
- Model terbaik diperoleh dari Forward Selection dengan R² = 0.96.
- Fitur paling berpengaruh terhadap harapan hidup meliputi:
SchoolingGDPAdult MortalityBMIHIV/AIDS
- Faktor sosial dan ekonomi seperti pendidikan dan ekonomi negara berkontribusi signifikan terhadap peningkatan harapan hidup.
git clone https://github.com/rifaldomalau/Life-Expectancy-WHO.git
cd Life-Expectancy-WHOpip install -r requirements.txtjupyter notebook Life-Expectancy-Notebook.ipynb