Entri Blog: Analisis Random Forest untuk Prediksi Obesitas
🌲 Entri Blog: Analisis Random Forest untuk Prediksi Obesitas
Kami menggunakan model Random Forest Classifier untuk memprediksi status $\text{Obesitas}$ ($\text{BMI} \ge 30$, dikodekan sebagai 1) dari empat variabel penjelas: $\text{Rerata Natrium Harian}$, $\text{Usia}$ ($\text{RIDAGEYR}$), $\text{Lingkar Pinggang}$ ($\text{BMXWAIST}$), dan $\text{Jenis Kelamin}$ ($\text{IS\_FEMALE}$).
Sintaks Random Forest Classifier
Kami menggunakan 100 pohon (n_estimators=100) dan membatasi kedalaman maksimum setiap pohon menjadi 5 (max_depth=5) untuk menjaga keseimbangan antara kinerja dan kemampuan interpretasi.
# Bagi data menjadi training (80%) dan testing (20%)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
# Inisialisasi model Random Forest
rf_clf = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=42)
# Latih model
rf_clf.fit(X_train, Y_train)
# Evaluasi model & Hitung Feature Importance
Y_pred = rf_clf.predict(X_test)
feature_importances = pd.Series(rf_clf.feature_importances_, index=X.columns).sort_values(ascending=False)
Output Model dan Interpretasi
1. Laporan Klasifikasi (Kinerja Model)
| precision | recall | f1-score | support | |
| Non-Obese (0) | 0.56 | 0.96 | 0.71 | 649 |
| Obese (1) | 0.40 | 0.03 | 0.06 | 498 |
| accuracy | 0.56 | 1147 |
Akurasi keseluruhan model adalah $\mathbf{55.88\%}$. Sama seperti model pohon klasifikasi sebelumnya, kinerja model ini sangat lemah dalam mengidentifikasi responden yang benar-benar $\text{Obese}$ (Recall = 0.03). Ini menunjukkan bahwa model Random Forest, meskipun lebih canggih daripada Decision Tree tunggal, masih kesulitan untuk menemukan pola prediktif yang kuat dalam variabel yang ada, dan cenderung memprediksi kelas mayoritas ($\text{Non-Obese}$).
2. Feature Importance (Pentingnya Variabel)
| Variabel | Kepentingan (Gini Importance) |
| NATRIUM_RERATA | 0.3794 |
| BMXWAIST | 0.3241 |
| RIDAGEYR | 0.2582 |
| IS_FEMALE | 0.0383 |
Interpretasi Feature Importance:
Skor kepentingan menunjukkan variabel mana yang paling sering dan paling efektif digunakan oleh pohon-pohon dalam forest untuk membuat pemisahan yang menghasilkan klasifikasi yang lebih murni.
NATRIUM_RERATA muncul sebagai variabel yang paling penting dalam model ini (Skor: 0.3794). Ini adalah temuan yang mengejutkan mengingat $\text{Regresi Logistik}$ dan $\text{Korelasi}$ bivariat sebelumnya menunjukkan bahwa $\text{Natrium}$ tidak signifikan. Hal ini menunjukkan bahwa $\text{Natrium}$ mungkin memiliki hubungan non-linear atau interaksi dengan variabel lain yang ditangkap oleh pohon, meskipun efek linearnya nol.
$\text{BMXWAIST}$ (Lingkar Pinggang) dan $\text{RIDAGEYR}$ ($\text{Usia}$) juga merupakan prediktor yang sangat penting, secara kolektif menyumbang lebih dari $58\%$ dari kekuatan prediktif model.
$\text{IS\_FEMALE}$ (Jenis Kelamin) adalah variabel yang paling tidak penting (Skor: 0.0383), menegaskan hasil dari $\text{Regresi Logistik}$ yang juga menemukan $\text{Jenis Kelamin}$ tidak signifikan.
Kesimpulan: Meskipun akurasi model lemah, analisis Random Forest berhasil mengidentifikasi bahwa $\mathbf{Rerata\ Natrium\ Harian}$ dan $\mathbf{Lingkar\ Pinggang}$ adalah variabel non-linear terpenting untuk memprediksi $\text{status\ Obesitas}$ dalam sampel ini.
Komentar
Posting Komentar