JOISIE (Journal Of Information Systems And Informatics Engineerin. Vol. No. Desember 2025. Hlm 368-379 Received: 8 November 2025 Revised: 4 Desember 2025. Accepted: 8 Desember 2025 p- ISSN: 2503-5304 e- ISSN: 2527-3116 OPTIMASI ALGORITMA XGBOOST UNTUK KLASIFIKASI STATUS GIZI BALITA BB/TB MENGGUNAKAN GRIDSEARCHCV Avi Oktaviani. Basuki Rahmat. Kartini. Fakultas Ilmu Komputer. UPN AuVeteranAy Jawa Timur Jl. Rungkut Madya. Gn. Anyar. Kec. Gn. Anyar. Surabaya. Jawa Timur 60294 Email : email: penulis avioktaviani1002@gmail. com, basukirahmat. if@upnjatim. if@upnjatim. 1,2,3 Abstract Nutritional problems remain a major public health concern in many countries, including Indonesia. This study designs and evaluates an automatic classification system for toddler nutritional status based on weight-for-height indicators using the XGBoost algorithm. The dataset comprises 1,763 Indonesian children aged 24Ae60 months, with nutritional status categorized into six classes . izi baik, risiko gizi lebih, gizi kurang, gizi buruk, gizi lebih, obesita. Predictor variables include sex, age in months, body weight, body height, and weight-for-height Z-score. Preprocessing includes data cleaning, removal of duplicates, label encoding, standardization, and an 80:20 trainAetest split. A baseline XGBoost model is compared with models tuned using GridSearch with 3-fold and 10-fold cross-validation. Performance is evaluated using accuracy, macro precision, macro recall, macro F1-score, and log loss. The best model. XGBoost with GridSearch 10-fold, achieves an accuracy of 8689. F1-score of 0. 8149, and log loss of 0. 3395, improving over the baseline log loss of 0. These findings indicate that XGBoost with GridSearch hyperparameter tuning yields well-calibrated probabilistic predictions and is a promising decision-support tool for early detection of malnutrition and obesity in toddlers in primary health care settings. Keywords: XGBoost. Grid Search. Toddler nutrition. Classification Abstrak Masalah gizi tetap menjadi perhatian utama kesehatan masyarakat di banyak negara, termasuk Indonesia. Studi ini merancang dan mengevaluasi sistem klasifikasi otomatis untuk status gizi balita berdasarkan indikator berat badan terhadap tinggi badan menggunakan algoritma XGBoost. Dataset terdiri dari 1. 763 anak Indonesia berusia 24Ae60 bulan, dengan status gizi dikategorikan menjadi enam kelas . izi baik, risiko gizi lebih, gizi kurang, gizi buruk, gizi lebih, obesita. Variabel prediktor meliputi jenis kelamin, usia dalam bulan, berat badan, tinggi badan, dan skor Z berat badan terhadap tinggi badan. Praproses meliputi pembersihan data, penghapusan duplikat, pengkodean label, standardisasi, dan pembagian data latih-uji 80:20. Model XGBoost dasar dibandingkan dengan model yang disetel menggunakan GridSearch dengan validasi silang 3-fold dan 10-fold. Kinerja dievaluasi menggunakan akurasi, presisi makro, recall makro, skor F1 makro, dan log loss. Model terbaik. XGBoost dengan GridSearch 10-fold, mencapai akurasi 0,8689, skor F1 0,8149, dan log loss 0,3395, lebih baik daripada log loss dasar sebesar 0,4190. Temuan ini menunjukkan bahwa penyetelan hyperparameter XGBoost dengan GridSearch menghasilkan prediksi probabilistik yang terkalibrasi dengan baik dan merupakan alat pendukung keputusan yang menjanjikan untuk deteksi dini kekurangan gizi dan obesitas pada balita di fasilitas perawatan kesehatan primer. Kata Kunci: XGBoost. Pencarian Grid. Nutrisi Balita. Klasifikasi PENDAHULUAN Status gizi merupakan salah satu indikator utama untuk menentukan kecukupan pertumbuhan dan perkembangan balita (Muhamad Fikri, 2. Permasalahan gizi seperti gizi buruk dan obesitas masih menjadi tantangan utama dalam bidang kesehatan di banyak negara, termasuk Indonesia (Amalia Alhamid et al. , 2. Kelompok usia balita merupakan salah satu kelompok yang paling rentan mengalami masalah gizi karena berada pada fase pertumbuhan yang sangat cepat dan membutuhkan asupan nutrisi yang optimal (Fibrinika Tuta Setiani et al. , 2. Kesalahan dalam https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. 369 | Jurnal JOISIE. Volume 9. Nomor 2. Desember 2025 menegakkan diagnosis status gizi balita dapat berakibat fatal, seperti gangguan perkembangan kognitif, memperberat penyakit kronis, hingga meningkatkan risiko kematian (Paramita et al. , 2. Berdasarkan Survei Status Gizi Indonesia (SSGI) tahun 2022, prevalensi wasting pada balita di Indonesia mencapai 7,7%, meningkat dari 7,1% pada tahun 2021 (Kemenkes RI, 2. Kondisi gizi yang buruk pada balita tidak hanya berdampak pada kesehatan jangka pendek, tetapi juga memengaruhi kualitas sumber daya manusia di masa mendatang (Lidya et al. , 2. Dalam praktik di lapangan, kategori seperti gizi buruk dan obesitas masih sering terabaikan ketika penilaian status gizi dilakukan secara manual hanya berdasarkan interpretasi grafik pertumbuhan (Masturina et al. Balita dengan berat badan lebih sering kali memerlukan konfirmasi kembali menggunakan indikator berat badan menurut tinggi badan (BB/TB) agar penilaian status gizinya lebih akurat(Bahar et al. , 2. Perkembangan metode komputasi dan pembelajaran mesin menawarkan peluang untuk meningkatkan akurasi dan konsistensi klasifikasi status gizi (Puerwandono & Maulana, 2. Salah satu pendekatan yang banyak digunakan adalah ensemble learning, yang menggabungkan beberapa model sederhana . eak learne. untuk membentuk model yang lebih kuat . etter learne. (Zhang & Haghani, 20 klasifikasi. Gradient boosting menjadi salah satu teknik yang populer karena mampu meningkatkan akurasi model klasifikasi secara signifikan (Handayani et al. , n. XGBoost (Extreme Gradient Boostin. merupakan pengembangan dari metode gradient boosting yang dirancang agar lebih efisien dan memiliki performa prediksi yang tinggi untuk tugas klasifikasi maupun regresi (Liew et al. , 2. Pada XGBoost, penambahan weak learner memanfaatkan pemrosesan multi-threaded sehingga penggunaan inti CPU menjadi lebih efisien dan waktu komputasi lebih cepat dibandingkan implementasi gradient boosting konvensional (Anggoro & Mukti, 2. Algoritma ini diketahui mampu menangani dataset berdimensi tinggi, toleran terhadap missing value, dan cukup efisien secara komputasi (Handayani et al. , n. Namun, keefektifan XGBoost sangat bergantung pada pemilihan kombinasi hyperparameter, seperti learning_rate, max_depth, dan parameter lainnya, sehingga dibutuhkan strategi penalaan . yang sistematis (Syahputra & Saputro, 2024. Salah satu metode yang sering digunakan untuk tuning hyperparameter adalah GridSearch. Metode ini bekerja dengan membentuk kisi . kombinasi hyperparameter yang ditentukan sebelumnya, kemudian mengevaluasi setiap kombinasi secara sistematis untuk mencari konfigurasi terbaik bagi model (Tran et al. , 2. GridSearch umumnya direkomendasikan untuk ruang parameter yang relatif terbatas namun ingin dieksplorasi secara menyeluruh. Dalam konteks pembelajaran mesin. GridSearch telah dimanfaatkan untuk berbagai kasus, termasuk optimasi model pada proses klasifikasi di bidang kesehatan dan manufaktur (Ogunsanya et al. , 2. Penggunaan GridSearch untuk tuning hyperparameter XGBoost berpotensi menjadi pendekatan yang kritis dalam klasifikasi status gizi balita karena mampu mengeksplorasi kombinasi parameter secara menyeluruh dan meningkatkan kinerja model secara terukur (Uzir et al. , 2. Beberapa penelitian terdahulu menunjukkan bahwa XGBoost memiliki kinerja yang baik untuk klasifikasi status gizi balita. Anggoro dan Mukti melaporkan bahwa XGBoost memberikan performa terbaik dibandingkan dua metode lain dengan skema pembagian data 80:20, dengan nilai presisi 0,9849, recall 0,9848, akurasi 0,9848. F1-score 0,9848, dan ROC-AUC 0,9994 (Anggoro & Mukti. Keunggulan ini dikaitkan dengan teknik regularisasi yang efektif, kemampuan menangani missing value, serta algoritma boosting yang efisien melalui paralelisasi. Namun, penelitian tersebut masih menggunakan kombinasi hyperparameter default sehingga potensi peningkatan kinerja model XGBoost melalui tuning hyperparameter belum dieksplorasi secara mendalam. Penelitian lain yang dilakukan oleh Abdurrahman dan rekan menunjukkan bahwa optimasi XGBoost menggunakan GridSearch dan Random Search pada klasifikasi penyakit diabetes mampu meningkatkan akurasi model secara signifikan. Mereka melaporkan bahwa penalaan terstruktur melalui GridSearch dapat meningkatkan performa, meskipun lebih mahal secara komputasi, sementara Random Search lebih efisien namun tetap mampu menemukan kombinasi hyperparameter yang kompetitif (Abdurrahman et al. , 2. Meskipun demikian, studi tersebut berfokus pada penyakit diabetes dan tidak membahas secara spesifik klasifikasi status gizi balita maupun indikator BB/TB. Berdasarkan uraian tersebut, dapat diidentifikasi adanya celah penelitian . esearch ga. , yaitu belum banyak kajian yang secara khusus menerapkan XGBoost dengan tuning hyperparameter GridSearch pada klasifikasi status gizi balita berbasis indikator BB/TB dengan skema multi-kelas. https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. Oktaviani,Optimasi Algoritma Xgboost Untuk Klasifikasi Status Gizi Balita Bb/Tb Menggunakan Gridsearchcv, 368-. 370 Penelitian terdahulu yang menggunakan XGBoost untuk klasifikasi status gizi umumnya masih mengandalkan parameter default, sedangkan penelitian yang mengkaji optimasi XGBoost dengan GridSearch lebih berfokus pada domain penyakit lain dan belum menilai secara rinci kalibrasi probabilitas melalui log loss dalam konteks status gizi balita. Oleh karena itu, penelitian ini bertujuan untuk mengoptimasi algoritma XGBoost menggunakan GridSearch sebagai metode tuning hyperparameter pada klasifikasi status gizi balita berdasarkan indikator BB/TB. Penelitian ini mengevaluasi kinerja model menggunakan confusion matrix, classification report . kurasi, presisi, recall, dan F1-scor. , serta log loss untuk menilai baik akurasi klasifikasi maupun kualitas kalibrasi Diharapkan, model yang dihasilkan dapat memberikan kontribusi sebagai alat bantu pengambilan keputusan yang lebih andal bagi tenaga kesehatan dalam deteksi dini masalah gizi pada METODE PENELITIAN Penelitian ini melakukan pengumpulan data dari Puskesmas Sukorame. Kota Kediri. Dataset yang digunakan merupakan data balita usia 24-60 bulan dengan antropometri BB/TB. Dataset ini berupa data mentah yang berjumlah 1764 sampel balita dengan fitur jenis kelamin. Usia. BB. TB. ZScore BB/TB, dan status gizi. Data yang digunakan merupakan data pertumbuhan balita pada bulan Februari Data tersebut dapat membantu untuk memastikan keandalan dan validitas hasil sesuai dengan tujuan penelitian. Gambar 1. Diagram alur penelitian Tahapan selanjutnya dilakukan preprocessing data dengan menganalisa penyebaran data, pembersihan data, encoding dan standarisasi. Pengolahan Data Pada tahap ini, dilakukan pengolahan data sebelum digunakan dalam model klasifikasi. Pengolahan data merupakan langkah penting dalam penelitian ini untuk memastikan dataset yang digunakan dalam pelatihan dan pengujian model sesuai dengan format . Netin & Yldz, 2. Exploration Data Analysis (EDA) Tahap ini merupakan langkah awal penting sebelum data diolah. Status gizi balita berdasarkan antropometri BB/TB terdiri dari 6 kategori, yaitu gizi buruk, gizi kurang, gizi baik, risiko gizi lebih, gizi lebih, dan obesitas. Pada tahap ini. EDA membantu memahami sebaran data gizi balita (Goswami & Bhatia, 2. https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. 371 | Jurnal JOISIE. Volume 9. Nomor 2. Desember 2025 Gambar 2. Diagram distribusi gizi balita Berdasarkan hasil eksplorasi, diketahui bahwa distribusi kategori tidak seimbang. Gizi baik merupakan kategori dengan distribusi tertinggi, sedangkan kategori lainnya kurang dari 250. Karena itu perlu dilakukan balancing data agar lebih merata. Cleaning data Pada tahap ini dilakukan pembersihan data pada missing value dan data yang duplikat (Fan et , 2. Dalam pembersihan missing value dilakukan identifikasi terlebih dahulu pada dataset untuk membantu proses analisis dan pengambilan keputusan (Chiang et al. , 2. Gambar 3. Sample missing value Pada Gambar 3. Ditemukan 2 sampel dengan kondisi missing valued fitur ZS BB/TB dan BB//TB. Sehingga perlu dilakukan penghapusan kedua sampel tersebut. Selanjutnya dilakukan identifikasi data yang duplikat pada dataset. Data duplikat berpotensi membuat distribusi kelas nampak lebih besar dan membuat nilai metrik seolah lebih tinggi dari Gambar 4. Setelah dilakukan cleaning duplicate Gambar 4. Ditemukan 18 data yang duplikat pada 2 kelas, yaitu kelas gizi baik dan gizi lebih. Pada kelas gizi baik terdapat 12 data duplikat, sedangkan pada kelas gizi lebih terdapat 6 data duplikat sehingga dilakukan pembersihan data duplikat. Setelah dilakukan cleaning data, data yang tersisa sebanyak 1753 dataset Split Data Split data dilakukan untuk memisahkan data uji sejak awal untuk mencegah terjadinya leakage(Erlin et al. , 2. Pada penelitian ini data dengan rasio 80:20 untuk train:test. Rasio ini memberikan data pelatihan lebih banyak, sehingga fit cenderung lebih kuat. Gambar 5. Pembagian data latih dan uji Setelah proses pembagian, diperoleh data latih sebanyak 1. 403 sampel dan data uji sebanyak 351 sampel. Pembagian ini dilakukan secara stratified berdasarkan kelas status gizi, sehingga proporsi tiap kategori pada data latih dan data uji tetap sebanding dengan distribusi awal. Selain itu, data uji tidak dilibatkan dalam proses pelatihan maupun tuning hyperparameter dan hanya digunakan pada tahap akhir untuk mengukur kemampuan generalisasi model. https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. Oktaviani,Optimasi Algoritma Xgboost Untuk Klasifikasi Status Gizi Balita Bb/Tb Menggunakan Gridsearchcv, 368-. 372 Encoding Encoding merupakan tahap mengubah fitur menjadi numerik agar dapat diproses model. Fitur yang di-encode adalah fitur kelamin dan BB/TB yang masih bertipe object ke represintasi numerik. Pada fitur BB/TB dilakukan encoding mengubah status gizi balita menjadi numerik berdasarkan urutan kondisi balita. Gambar 6. Tipe data sebelum dan setelah encoding Setelah proses encoding dilakukan, tipe data pada fitur kategorik mengalami perubahan sebagaimana ditunjukkan pada Gambar 6. Sebelum encoding, fitur Kelamin dan BB/TB masih bertipe object, sedangkan fitur numerik lainnya, yaitu BB. TB. ZS BB/TB, dan Usia sudah bertipe numerik . loat64 atau int. Pada tahap encoding, fitur Kelamin diubah menjadi representasi bilangan bulat . dengan pemberian kode numerik untuk tiap kategori jenis kelamin. Fitur BB/TB juga di-encode menjadi int64 dengan pemetaan kategori status gizi balita ke dalam nilai numerik berurutan sesuai tingkat kondisinya Scaling Tahap ini bertujuan untuk meratakan skala nilai fitur numerik agar lebih stabil dan tiap fitur berkontribusi secara proporsional. Semua fitur kecuali kelamin. BB/TB, dan ZS BB/TB dikeluarkan dari scaling. Untuk memastikan hanya prediktor numerik yang distandarisasi. Gambar 7. Data setelah distandarisasi Gambar 7 menunjukkan hasil setelah dilakukan standarisasi. Nilai pada fitur numerik BB. TB, dan Usia tidak lagi dinyatakan dalam satuan aslinya . ilogram, sentimeter, dan bula. , tetapi diubah menjadi nilai tanpa satuan dengan skala rata-rata 0 dan simpangan baku 1. Perubahan ini terlihat pada Gambar 7, di mana angka pada kolom BB. TB, dan Usia sudah berada pada kisaran sekitar Oe3 Nilai negatif menunjukkan bahwa pengukuran pada sampel tersebut berada di bawah rata-rata populasi, sedangkan nilai positif menunjukkan bahwa pengukuran berada di atas rata-rata. Oversampling dengan SMOTE Tujuan dari tahap ini untuk meningkatkan representasi kelas minor tanpa adanya duplikasi data sehingga menjadikan recall per kelas lebih seimbang. SMOTE hanya dilakukan pada data train sehingga data test tetap menggunakan data asli. Gambar 6. Tipe data sebelum dan setelah encoding Gambar 6 menunjukkan perubahan distribusi kelas pada data latih sebelum dan sesudah dilakukan oversampling dengan SMOTE. Sebelum SMOTE, distribusi label BB/TB pada data latih sangat tidak seimbang, dengan rincian: kelas 2 . izi bai. sebanyak 815 sampel, kelas 1 . izi kuran. 176 sampel, kelas 3 . isiko gizi lebi. 148 sampel, kelas 0 . izi buru. 114 sampel, kelas 5 . 79 sampel, dan kelas 4 . izi lebi. 71 sampel. Kondisi ini menunjukkan dominasi kelas gizi baik dan minimnya representasi kelas minoritas . izi buruk, gizi lebih, dan obesita. , sehingga berpotensi menyebabkan model lebih AuberpihakAy pada kelas mayoritas dan mengabaikan kelas minor. XGBoost Proses XGBoost dimulai dengan membuat prediksi sederhana sebagai base model. Selesai melakukan prediksi awal, selanjutnya menghitung residu atau nilai error yang merupakan perbedaan antara nilai prediksi dengan dengan nilai asli dari data latih. Pohon keputusan pertama dibangun https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. 373 | Jurnal JOISIE. Volume 9. Nomor 2. Desember 2025 XGBoost dalam ensemble yang berfokus mempelajari residu untuk mengurangi eror secara Di tahap inilah algoritma menemukan titik pemisah terbaik dalam fitur dengan mengurangi kesalahan paling banyak. Kesalahan pada pohon sebelumnya dimanfaatkan XGBoost dengan cara menargetkan kesalahan yang tersisa untuk meningkatkan akurasi. XGBoost mengoptimalkan loss function secara sistematis dengan mengukur seberapa baik prediksi model. XGBoost meminimalisir loss function untuk memastikan bahwa ensemble berada di jalur yang sesuai untuk membuat prediksi yang akurat. Menghitung Gradien dan Hesse Matrix Gradien . urunan pertam. dan hesse matrix . urunan kedu. digunakan XGBoost untuk menentukan arah dan ukuran perubahan dalam model. Fungsi gradien dan hesse matrix diformulasikan sebagai. yciycn = yuiycy = ycyycn Oe ycycn Eaycn = yuiycy2 = ycyycn . Oe ycyycn ) . Gradien . ciycn ) : besaran error yang masih tersisa untuk setiap data Hesse (Eaycn ) : mengukur curam loss function untuk membantuk optimasi ycyycn : Probabilitas prediksi ya : fungsi loss yang digunakan untuk optimasi Parameter XGBoost Kinerja XGBoost sangat dipengaruhi oleh pemilihan parameter yang tepat. Pada awal pengujian. XGBoost dikonfigurasi sebagai baseline dengan menetapkan beberapa parameter inti agar sesuai dengan tugas klasifikasi multiclass, sementara parameter lain menggunakan nilai default dari library XGBoost. Hal ini bertujuan untuk memperoleh acuan netral sebelum dilakukan tuning hyperparameter (Syahputra & Saputro, 2024. Tabel 1. Parameter baseline XGBoost Parameter Nilai Learning_rate N_estimator Max_depth Subsample Colsample_bytree Beberapa parameter yang penting pada XGBoost yaitu learning Rate () berfungsi untuk mengontrol ukuran langkah dalam proses pembaruan parameter, max depth untuk menentukan kedalaman maksimum pohon keputusan yang akan dibangun, n estimators digunakan untuk menentukan jumlah pohon keputusan yang digunakan dalam proses pelatihan model, subsample berfungsi menentukan proporsi sampel data yang akan digunakan untuk melatih setiap pohon dalam ensemble model, colsample_bytree untuk menentukan proporsi fitur yang digunakan dalam setiap pohon untuk mengurangi overfitting dan meningkatkan generalisasi model Pseudocode XGBoost Untuk memperjelas alur kerja model yang diusulkan, tahapan pemodelan dirangkum dalam bentuk pseudocode. Representasi ini bertujuan memberikan gambaran terstruktur mengenai urutan proses yang dilakukan, mulai dari prapemrosesan data, pembagian data latih dan uji, penanganan ketidakseimbangan kelas dengan SMOTE, hingga tuning hyperparameter XGBoost menggunakan GridSearchCV dan evaluasi akhir pada data uji. Preprocessing data Membersihkan data dari missing value dan data duplikat. Lalu melakukan encoding pada fitur kategorik . BB/TB). Pisahkan data menjadi data latih dan uji. X dan y dengan stratified split. SMOTE pada kelas minoritas hanya pada data latih. Tuning hyperparameter Definiskan ruang hyperparameter n_estimator, learning_rate, max_depth, subsample, dan https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. Oktaviani,Optimasi Algoritma Xgboost Untuk Klasifikasi Status Gizi Balita Bb/Tb Menggunakan Gridsearchcv, 368-. 374 Pelatihan model Latih data dari kombinasi hyperparameter. Evaluasi pada data uji Prediksi probabilitas kelas pada data uji. Tentukan label prediksi dari probabilitas maksimum. Hitung metrik Evaluasi. Tuning Hyperparameter Gridsearch Gridsearch adalah salah satu metode pencarian hyperparameter yang dilakukan secara sistematis dengan mencoba semua kombinasi nilai hyperparameter dalam ruang pencarian . earch spac. yang telah ditentukan (Nugraha & Sasongko, n. Teknik optimasi ini cukup mudah untuk diimplementasikan dalam eksplorasi parameter yang telah ditentukan. Berikut adalah proses Gridsearch: Penentuan ruang hyperparameter Ruang pencarian meliputi nilai-nilai yang mungkin untuk setiap hyperparameter. Tabel 2. Ruang hyparameter Gridsearch Parameter Nilai Learning_rate . 05, 0. 1, 0. N_estimator . , 200, . Max_depth . , 6, . Subsample . 7, 0. 9, 1. Colsample_bytree . 7, 0. 9, 1. Penentuan ruang pencarian sangat penting karena untuk peningkatan performa model dengan mencari kombinasi parameter terbaik. CV (Cross-Validatio. Setiap kombinasi hyperparameter diuji menggunakan validasi silang . ross-validatio. untuk memastikan performa model tidak bias terhadap data tertentu (Nugraha & Sasongko, n. K-fold cross validation merupakan teknik yang kuat untuk melakukan evaluasi model prediksi (Pathak et , n. Proses ini membagi dataset menjadi k subset atau fold, dimana setiap fold digunakan sebagai set validasi secara bergilir di saat k-fold yang tersisa digunakan sebagai pelatihan. Pada pengujian Gridsearch nilai k yang akan digunakan 3-fold dan 10-fold. Library Pada penelitian ini, seluruh proses pengolahan data, pemodelan, dan evaluasi dilakukan menggunakan bahasa pemrograman Python dengan bantuan sejumlah library pendukung. Setiap library memiliki peran spesifik dalam alur penelitian, mulai dari prapemrosesan data, penanganan ketidakseimbangan kelas, pembangunan model klasifikasi, hingga visualisasi hasil. Berikut library yang digunakan dalam penelitian ini. XGBoost : untuk membangun model klasifikasi status gizi balita berbasis gradient boosting. GridSearchCV : untuk melakukan pencarian dan pemilihan kombinasi hyperparameter XGBoost terbaik melalui validasi silang . ross-validatio. Sklearn : untuk prapemrosesan data . ncoding, standardisasi, split dat. , perhitungan metrik evaluasi . F1, log los. , serta skema validasi dan pemodelan pendukung lainnya. SMOTE : untuk melakukan oversampling kelas minoritas pada data latih sehingga distribusi kelas menjadi lebih seimbang. Pandas : untuk memuat, mengelola, dan memanipulasi data dalam bentuk tabel (DataFram. Matplotlib : untuk membuat visualisasi dasar seperti grafik log loss, kurva, dan plot sederhana Seaborn : membuat visualisasi statistik yang lebih informatif, misalnya heatmap confusion matrix dan distribusi data. Confusion matrix Confusion matrix digunakan sebagai alat untuk mengevaluasi kinerja dari algoritma klasifikasi (Heydarian et al. , 2. Matriks ini menggambarkan perbandingan antara hasil prediksi model dengan label kelas sebenarnya, sehingga memungkinkan analisis performa secara komprehensif. https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. 375 | Jurnal JOISIE. Volume 9. Nomor 2. Desember 2025 Setiap entrik dalam matrik menunjukkan frekuensi klasifikasi dari kombinasi prediksi dan kondisi Elemen-elemen penting dari Confusion matrix meliputi True Positive (TP). False Positive (FP). True Negative (TN). False Negative (FN). Akurasi Akurasi merupakan metrik dasar evaluasi model yang sering digunakan dalam pelatihan Akurasi dihitung berdasarkan rasio antara jumlah prediksi yang benar dengan jumlah total sampel yang telah diuji. Berikut persamaanya. yaycaycaycycycaycayc = ycNycE ycNycA ycNycE yaycE yaycA ycNycA Keterangan : TP (True Positiv. = Jumlah sampel positif yang diprediksi benar. TN (True Negativ. = Jumlah sampel negatif yang diprediksi benar. FP (False Positiv. = Jumlah sampel negatif yang diprediksi sebagai positif. FN (False Negativ. = Jumlah sampel positif yang diprediksi sebagai negatif. Presisi Presisi berfungsi untuk mengukur seberapa banyak sampel yang diprediksi positif benar dibandingkan dengan seluruh sampel yang diprediksi positif. Berikut persamaanya. ycEycyceycaycnycycnycuycu = ycNycE ycNycE yaycE Recall Recall merupakan pengukur sensitivitas seberapa banyak sampel positif yang telah terdeteksi oleh model yang telah dilatih. Berikut persamaan recall. ycIyceycaycaycoyco = ycNycE ycNycE yaycA F1-score F1-score merupakan metrik gabungan dari presisi dan recall yang dihitung sebagai rata-rata dari keduanya. Berikut persamaan f1-score. ya1 Oe ycycaycuycyce = 2 ycu ycEycyceycycnycycn ycu ycIyceycaycaycoyco ycEycyceycycnycycn ycIyceycaycaycoyco HASIL DAN PEMBAHASAN Pembahasan difokuskan pada interpretasi teknis dari setiap metrik, perbandingan antar skenario pengujian, serta implikasinya terhadap kemampuan model dalam mengklasifikasikan seluruh kelas status gizi secara lebih seimbang dan andal. 1 Feature Importance Gambar 8. dapat dilihat bahwa fitur BB memiliki kontribusi paling besar terhadap pembentukan keputusan model, diikuti oleh TB, sedangkan Usia memberikan pengaruh yang relatif lebih kecil. Dominasi BB menunjukkan bahwa variasi berat badan antar balita merupakan informasi yang paling informatif untuk membedakan kelas status gizi, dengan TB berperan sebagai pendukung pola tersebut. Gambar 8. Grafik feature importance https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. Oktaviani,Optimasi Algoritma Xgboost Untuk Klasifikasi Status Gizi Balita Bb/Tb Menggunakan Gridsearchcv, 368-. 376 Dengan demikian, model memanfaatkan terutama kombinasi berat dan tinggi badan untuk memisahkan kelas gizi, sedangkan usia lebih berfungsi sebagai variabel penjelas tambahan. 2 Evaluasi model Evaluasi difokuskan pada kemampuan model dalam mengklasifikasikan enam kelas status gizi secara seimbang, yang dinilai melalui confusion matrix dan classification report. Gambar 9. Confusion matrix uji GS CV 3-fold Gambar 9. menunjukkan bahwa mayoritas sampel berada pada diagonal utama sehingga sebagian besar kelas terprediksi dengan benar. Kelas 0, 1, 2, 3, 4, dan 5 masing-masing didominasi oleh prediksi yang tepat, dengan hanya sebagian kecil sampel yang bergeser ke kelas lain. Kesalahan yang muncul terutama terjadi antar kelas yang berurutan seperti kelas 0 ke 1, kelas 2 ke 3 yang mengindikasikan bahwa model masih sulit membedakan batas di antara kelas yang memiliki karakteristik fitur sangat Meskipun demikian, sebaran nilai diagonal yang relatif besar menunjukkan bahwa performa klasifikasi model secara keseluruhan sudah cukup baik. Gambar 10. Confusion matrix uji GS CV 10-fold Gambar 10. menunjukkan bahwa sebagian besar sampel berada pada diagonal utama sehingga setiap kelas didominasi oleh prediksi yang benar. Kelas 0, 1, 2, 3, 4, dan 5 masing-masing memiliki 22, 37, 188, 31, 14, dan 17 prediksi tepat, dengan kesalahan relatif sedikit dan umumnya hanya bergeser ke kelas yang berdekatan. Pola ini mengindikasikan bahwa model semakin mampu membedakan antar kelas dibandingkan konfigurasi 3-fold, sementara sisa kesalahan terutama disebabkan oleh kemiripan karakteristik fitur di batas antar kelas yang berurutan. Secara keseluruhan, sebaran nilai diagonal yang sangat dominan pada confusion matrix ini menegaskan bahwa konfigurasi GridSearch 10-fold memberikan performa klasifikasi multi-kelas yang lebih stabil dan akurat. Gambar 11. Perbandingan Log loss https://doi. org/10. 35145/joisie. JOISIElicensed under a Creative Commons Attribution-ShareAlike 4. 0 International License (CC BY-SA 4. 377 | Jurnal JOISIE. Volume 9. Nomor 2. Desember 2025 Gambar 11. menunjukkan bahwa pada baseline logloss berada di 0. Sedangkan dengan tuning GridSearch 3-fold CV, log loss mengalami penurunan menjadi 0. 4050 yang berarti penurunan dari XGBoost baseline ke XGBoost GridSearch 3-fold CV terjadi sebanyak 3,3%. Pada pengujian XGBoost GridSearch 10-fold CV, log loss berada di 0. Penurunan dari baseline ke GridSearch 10-fold CV terjadi sebanyak 19%. Hal ini menandakan bahwa probabilitas prediksi lebih terkalibrasi setelah tuning, terutama pada 10-fold CV. 3 Hasil pengujian Pada pengujian, model XGBoost tuning GridSearch 10-fold CV juga memberikan hasil terbaik jika dibandingkan dengan model baseline XGBoost. Pada nilai akurasi, jarak antara baseline XGBoost ke XGBoost GridSearch 10-fold CV mengalami peningkatan sebanyak 0. 0398, pada presisi juga mengalami peningkatan sebanyak 0. 0441, recall meningkat sebanyak 0. 0362, f1-score meningkat Hal ini membuat model 10-fold CV lebih unggul karena CV yang lebih rapat mengakibatkan nilai tuning lebih stabil, sehingga pemilihan hyperparameter lebih tepat. Tabel 2. Hasil perbandingan classification report Model precision recall XGB XGB GS 3-fold CV XGB RS 0. 3-fold CV XGB GS 10-fold CV XGB RS 0. 10-fold CV Peningkatan ini menunjukkan bahwa GridSearch meningkatkan kinerja XGBoost dibandingkan dengan baseline pada klasifikasi gizi balita antropometeri BB/TB, terutama pada 10-fold CV paling Namun dari sisi biaya komputasi. GridSearch 10-fold CV memerlukan waktu tuning jauh lebih besar. Hal ini menunjukkan bahwa GridSearchCV memang memberikan kinerja terbaik, namun harus mempertimbangkan biaya komputasinya. SIMPULAN GridSearch terbukti mampu meningkatkan kinerja algoritma XGBoost pada klasifikasi status gizi balita berbasis indikator BB/TB. Model dengan kinerja paling konsisten dan unggul adalah XGBoost yang dituning menggunakan GridSearchCV dengan validasi silang 10-fold. Pada konfigurasi ini, akurasi akhir model mencapai 0,8689 dengan nilai log loss sebesar 0,3395, lebih rendah dibandingkan model baseline. Cross-validation yang lebih rapat membuat pemilihan hyperparameter menjadi lebih andal, meskipun harus dibayar dengan waktu komputasi tuning yang jauh lebih besar, sementara waktu pelatihan akhir . inal fi. relatif tetap singkat. Penelitian ini masih terbatas pada data balita dari satu puskesmas dan satu periode pengukuran, sehingga generalisasi model ke wilayah lain perlu diuji lebih lanjut. Selain itu, model yang diuji berfokus pada XGBoost sehingga perbandingan langsung dengan algoritma klasifikasi lain belum Model yang dihasilkan berpotensi dimanfaatkan sebagai alat bantu keputusan bagi tenaga gizi di puskesmas untuk menilai status gizi balita berbasis indikator BB/TB secara lebih konsisten, cepat, dan terukur. Untuk penelitian selanjutnya, disarankan mengombinasikan GridSearchCV dengan metode tuning hyperparameter lain, seperti Random Search atau Bayesian Optimization, guna mengurangi waktu komputasi tanpa mengorbankan kinerja model. DAFTAR PUSTAKA