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.

Python
# 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)

precisionrecallf1-scoresupport
Non-Obese (0)0.560.960.71649
Obese (1)0.400.030.06498
accuracy0.561147

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)

VariabelKepentingan (Gini Importance)
NATRIUM_RERATA0.3794
BMXWAIST0.3241
RIDAGEYR0.2582
IS_FEMALE0.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.

  1. 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.

  2. $\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.

  3. $\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

Postingan populer dari blog ini

Entri Blog: Menggali Data Kesehatan dengan NHANES

Predictive Modeling of Body Mass Index and Obese Status using Anthropometric, Dietary, and Lifestyle Factors in U.S. Adults