Laporan Praktikum: Pemodelan Kerentanan Penyakit DBD

Perbandingan Algoritma SVM dan Random Forest

Penulis

Yazid Naufal 2310416210040

Diterbitkan

25 Juni 2026

1 Pendahuluan

1.1 Latar Belakang

Demam Berdarah Dengue (DBD) hingga kini masih tergolong sebagai salah satu ancaman kesehatan masyarakat yang serius di Indonesia, tidak terkecuali di Provinsi Kalimantan Selatan. Penyakit ini ditimbulkan oleh infeksi virus dengue yang ditransmisikan ke manusia lewat gigitan nyamuk vektor, utamanya Aedes aegypti dan Aedes albopictus. Karakteristik dari kedua spesies nyamuk ini adalah kecenderungannya berkembang biak pada wadah-wadah berisi air bersih yang tergenang, sehingga keberadaannya sangat terkait dengan kondisi lingkungan binaan maupun pola pemukiman manusia.

Tingkat penyebaran kasus DBD pada suatu wilayah tidak terjadi secara acak, melainkan dipengaruhi oleh kombinasi berbagai faktor fisik-lingkungan, antara lain suhu permukaan lahan, intensitas curah hujan, kelembapan udara, kepadatan penduduk, pola tata guna lahan, hingga tingkat aksesibilitas terhadap sanitasi dasar. Faktor-faktor tersebut secara langsung maupun tidak langsung memengaruhi siklus hidup vektor nyamuk serta potensi kontak antara vektor dan manusia, sehingga wilayah dengan kombinasi kondisi tertentu cenderung memiliki risiko penularan yang lebih tinggi dibandingkan wilayah lainnya.

Untuk memahami dan memprediksi pola spasial risiko tersebut, pendekatan pemodelan berbasis machine learning menjadi salah satu alternatif metode yang cukup banyak digunakan dalam beberapa tahun terakhir. Dengan memadukan data spasial kondisi lingkungan dan data titik lokasi kejadian kasus DBD, dapat disusun sebuah model prediktif yang mampu mengestimasi tingkat kerentanan suatu kawasan terhadap penularan penyakit ini secara spasial, sehingga wilayah-wilayah dengan risiko tinggi dapat diidentifikasi lebih dini.

1.2 Tujuan Praktikum

  1. Menyusun model prediktif kerentanan wilayah terhadap penyakit DBD dengan menerapkan algoritma Support Vector Machine (SVM) dan Random Forest (RF).

  2. Melaksanakan proses penyesuaian hyperparameter (hyperparameter tuning) pada algoritma Random Forest melalui empat skema kombinasi nilai ntree dan mtry.

  3. Mengukur dan membandingkan tingkat akurasi masing-masing model yang telah dibangun dengan mengacu pada kurva ROC serta nilai AUC yang diperoleh.

  4. Menyusun keluaran berupa peta spasial tingkat kerentanan DBD yang dapat ditampilkan secara interaktif.

1.3 Manfaat

Output dari proses pemodelan ini diharapkan dapat menjadi salah satu sumber informasi spasial yang berguna bagi pihak-pihak terkait — misalnya dinas kesehatan setempat maupun instansi pemerintah daerah — dalam menyusun kebijakan dan strategi pengendalian DBD yang lebih terarah berdasarkan karakteristik wilayah (area-based approach), bukan hanya bersifat umum atau seragam di seluruh kawasan.

2 Tinjauan Pustaka

2.1 Demam Berdarah Dengue (DBD)

Secara klinis, DBD digolongkan sebagai penyakit infeksi akut yang ditimbulkan oleh empat serotipe virus dengue, yaitu DEN-1 sampai DEN-4. Berdasarkan data yang dipublikasikan oleh WHO, jumlah infeksi dengue di dunia diperkirakan mencapai lebih dari 390 juta kasus per tahun. Khusus di Indonesia, status DBD tergolong endemis dengan karakteristik penularan yang sangat dipengaruhi oleh kondisi iklim setempat, tingkat sanitasi lingkungan, serta kepadatan kawasan permukiman penduduk.

2.2 Pemodelan Spasial Penyakit

Spatial disease modelling dapat dipahami sebagai sebuah pendekatan analisis yang mengaitkan informasi lokasi terjadinya kasus penyakit dengan berbagai variabel kondisi lingkungan, dengan tujuan akhir berupa estimasi distribusi tingkat risiko penyakit tersebut secara keruangan (geografis). Pendekatan semacam ini umum diterapkan dalam bidang epidemiologi lingkungan maupun kajian kesehatan geografi, karena memungkinkan analisis risiko tidak hanya pada level individu, tetapi juga pada level kawasan.

2.3 Support Vector Machine (SVM)

SVM merupakan salah satu metode supervised learning yang prinsip kerjanya berupa pencarian hyperplane optimal sebagai pembatas antar kelas data. Dalam konteks pemodelan tingkat kerentanan penyakit, SVM umumnya dioperasikan dalam mode regresi dan dipadukan dengan fungsi kernel Radial Basis Function (RBF), karena fungsi kernel ini cukup efektif dalam menangkap pola hubungan yang bersifat non-linier antara variabel-variabel prediktor lingkungan dengan variabel respons.

2.4 Random Forest (RF)

Random Forest tergolong sebagai algoritma ensemble learning yang dibangun atas dasar sekumpulan pohon keputusan (decision tree). Setiap pohon dibentuk melalui proses pengambilan sampel data secara acak dengan pengembalian (bootstrap aggregating/bagging), kemudian hasil prediksi dari seluruh pohon tersebut digabungkan untuk menghasilkan keluaran akhir. Dua parameter yang berperan penting dalam menentukan performa model RF adalah ntree (banyaknya pohon yang dibangun) dan mtry (jumlah variabel yang dipertimbangkan secara acak pada setiap pemisahan/split node). Penyesuaian kedua parameter ini dapat memberikan pengaruh yang cukup besar terhadap tingkat akurasi sekaligus stabilitas model yang terbentuk.

3 Metode Praktikum

3.1 Data dan Variabel

Secara keseluruhan, data yang dipakai pada praktikum ini mencakup tiga komponen utama: titik-titik koordinat kejadian kasus DBD (data presence) yang tersimpan dalam berkas populasi.csv; titik-titik pseudo-absence yang dibangkitkan secara acak pada ruang kajian menggunakan fungsi randomPoints() sebanyak 52 titik agar proporsinya seimbang dengan jumlah data presence; serta sebelas lapisan data raster (.tif) yang masing-masing merepresentasikan satu aspek kondisi lingkungan pada wilayah kajian.

Tabel berikut merangkum variabel prediktor yang digunakan:

Variabel Prediktor Pemodelan Kerentanan DBD
No Nama Variabel Keterangan
1 kepadatan_penduduk Kepadatan penduduk per satuan luas
2 curah_hujan Rata-rata curah hujan tahunan
3 suhu_permukaan Suhu permukaan lahan (LST)
4 kelembapan Kelembapan udara relatif
5 ndvi Indeks vegetasi (NDVI)
6 ndbi Indeks bangunan (NDBI)
7 jarak_sungai Jarak ke sungai terdekat
8 penggunaan_lahan Klasifikasi tutupan/penggunaan lahan
9 elevasi Ketinggian wilayah (DEM)
10 kepadatan_permukiman Kepadatan area permukiman
11 akses_sanitasi Tingkat akses sanitasi dasar

3.2 Alur Analisis

Rangkaian tahapan yang ditempuh meliputi: (1) persiapan data, yaitu memuat seluruh lapisan raster prediktor beserta data koordinat lokasi kasus DBD; (2) pembangkitan pseudo-absence sebagai pembanding data presence; (3) pembagian data latih dan uji dengan teknik K-Fold Cross Validation (K=3) agar evaluasi model lebih representatif; (4) pemodelan, mencakup pelatihan satu model SVM dan empat skema tuning Random Forest; (5) evaluasi performa antar model melalui kurva ROC dan nilai AUC; serta (6) visualisasi hasil prediksi dalam bentuk peta interaktif.

3.3 Perangkat Lunak

Keseluruhan proses analisis dikerjakan menggunakan bahasa pemrograman R, dengan memanfaatkan paket raster untuk manipulasi data raster, dismo untuk pemodelan distribusi, kernlab untuk implementasi SVM, randomForest untuk implementasi RF, dan tmap untuk visualisasi peta tematik interaktif.

Paket R yang Digunakan
Paket Fungsi Utama
raster Manipulasi dan analisis data raster spasial
dismo Pemodelan distribusi spesies / penyakit
kernlab Implementasi algoritma SVM
randomForest Implementasi algoritma Random Forest
tmap Visualisasi peta tematik interaktif

4 Hasil dan Pembahasan

4.1 Persiapan Data dan Pemodelan

Aktivasi Library
library(raster)
library(dismo)
library(kernlab)
library(randomForest)
library(tmap)
library(sp)
Input Data Raster dan Koordinat Kasus
# Menentukan direktori kerja berdasarkan letak folder Anda di Drive D
setwd("D:/KULIAH/SEMESTER 6/Apapun tentang magang/Geokes")

# Memastikan direktori benar-benar ada di komputer Anda
if (!dir.exists(getwd())) {
  stop("ERROR: Jalur direktori tidak ditemukan! Silakan periksa kembali drive komputer Anda.")
}

# Mengambil seluruh berkas .tif di dalam folder aktif
list.data <- list.files(getwd(), pattern = "\\.tif$", full.names = TRUE, ignore.case = TRUE)

if (length(list.data) == 0) {
  stop("ERROR: Tidak ditemukan berkas berformat .tif di folder Geokes Anda!")
}

data <- stack(list.data)

# Memastikan layer yang disyaratkan ada dalam data raster stack
layer_asli <- c("forest", "geology", "hidrology", "landuse", "morphology",
                "ndisaster", "river", "road", "slope", "soil", "topography")
data <- subset(data, layer_asli)

# Mengganti nama layer untuk pemodelan agar lebih deskriptif
names(data) <- c("ndvi", "ndbi", "akses_sanitasi", "penggunaan_lahan", "kepadatan_penduduk",
                 "curah_hujan", "jarak_sungai", "kepadatan_permukiman", "suhu_permukaan",
                 "kelembapan", "elevasi")

# Deteksi otomatis berkas populasi.csv
file_csv <- list.files(getwd(), pattern = "populasi\\.csv$", ignore.case = TRUE, full.names = TRUE)

if (length(file_csv) == 0) {
  stop("ERROR: File 'populasi.csv' tidak terdeteksi di dalam folder Geokes!")
}

populasi <- read.csv(file_csv[1], header = TRUE, sep = ",")
populasi <- populasi[, 3:4]
kehadiran.dbd <- extract(data, populasi)
Generasi Pseudo-Absence dan Penyusunan Data Pemodelan
set.seed(52)
absence.dbd <- randomPoints(data, n = 52, kehadiran.dbd)
absence.dbd <- extract(data, absence.dbd)

status <- c(rep(1, nrow(kehadiran.dbd)), rep(0, nrow(absence.dbd)))
data.pemodelan <- data.frame(cbind(status, rbind(kehadiran.dbd, absence.dbd)))
Pembagian Data Latih dan Uji (K-Fold K=3)
set.seed(70)
part.presence <- kfold(populasi, 3)
presence.latih <- populasi[part.presence != 1, ]
presence.uji   <- populasi[part.presence == 1, ]

set.seed(52)
bukan.dbd <- randomPoints(data, n = 52, kehadiran.dbd)
colnames(bukan.dbd) <- c('Long_utm', 'Lat_utm')

part.absence <- kfold(bukan.dbd, 3)
absence.latih <- bukan.dbd[part.absence != 1, ]
absence.uji   <- bukan.dbd[part.absence == 1, ]

latih <- rbind(presence.latih, absence.latih)
status.latih <- c(rep(1, nrow(presence.latih)), rep(0, nrow(absence.latih)))

data.latih <- extract(data, latih)
data.latih <- data.frame(cbind(ket = status.latih, data.latih))

presence.uji.df <- data.frame(extract(data, presence.uji))
absence.uji.df  <- data.frame(extract(data, absence.uji))

4.2 Hasil Pemodelan

4.2.1 Formula Model

Pemodelan dibangun dengan melibatkan seluruh 11 variabel prediktor lingkungan yang telah dijabarkan sebelumnya.

Definisi Formula Model
model.dbd <- ket ~ kepadatan_penduduk + curah_hujan + suhu_permukaan + kelembapan +
  ndvi + ndbi + jarak_sungai + penggunaan_lahan + elevasi +
  kepadatan_permukiman + akses_sanitasi

4.2.2 Model SVM

Pelatihan model SVM dilakukan dengan menerapkan kernel RBF, menggunakan parameter sigma sebesar 0,06 dan parameter C sebesar 16. Pemilihan kombinasi parameter ini ditujukan untuk menjaga keseimbangan antara kemampuan model dalam menangkap kompleksitas hubungan non-linier dan risiko overfitting. Validasi performa pelatihan turut dilengkapi dengan skema validasi silang 10-fold.

Pelatihan Model SVM
klasifikasi.svm1   <- ksvm(model.dbd, data = data.latih,
                           kernel = "rbfdot", sigma = 0.06, C = 16, cross = 10)
evaluasi.svm1      <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.svm1)
peta.prediksi.svm1 <- predict(data, klasifikasi.svm1)

4.2.3 Model Random Forest (4 Skenario Tuning)

Pada algoritma Random Forest, dijalankan empat skema kombinasi parameter sebagai bagian dari proses tuning, yaitu kombinasi antara nilai ntree (500 dan 1000) dengan nilai mtry (1 dan 8). Tujuannya adalah melihat sejauh mana penambahan jumlah pohon serta jumlah variabel kandidat pada tiap split memengaruhi tingkat akurasi model yang dihasilkan.

Pelatihan Model Random Forest (4 Skenario)
# Skenario 1
klasifikasi.rf1   <- randomForest(model.dbd, data = data.latih, ntree = 500,  mtry = 1)
evaluasi.rf1      <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf1)
peta.prediksi.rf1 <- predict(data, klasifikasi.rf1)

# Skenario 2
klasifikasi.rf2   <- randomForest(model.dbd, data = data.latih, ntree = 500,  mtry = 8)
evaluasi.rf2      <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf2)
peta.prediksi.rf2 <- predict(data, klasifikasi.rf2)

# Skenario 3
klasifikasi.rf3   <- randomForest(model.dbd, data = data.latih, ntree = 1000, mtry = 1)
evaluasi.rf3      <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf3)
peta.prediksi.rf3 <- predict(data, klasifikasi.rf3)

# Skenario 4
klasifikasi.rf4   <- randomForest(model.dbd, data = data.latih, ntree = 1000, mtry = 8)
evaluasi.rf4      <- evaluate(presence.uji.df, absence.uji.df, klasifikasi.rf4)
peta.prediksi.rf4 <- predict(data, klasifikasi.rf4)

4.3 Evaluasi Performa Model

Pengujian performa masing-masing model dilakukan berdasarkan nilai AUC yang diperoleh dari kurva ROC. Nilai AUC berada pada rentang 0,5 hingga 1,0, di mana 0,5 mengindikasikan kemampuan klasifikasi setara tebakan acak, sedangkan nilai mendekati 1,0 menandakan kemampuan model memisahkan kelas kerentanan tinggi dan rendah yang semakin baik.

Rekapitulasi Nilai AUC Semua Model
auc_svm1 <- evaluasi.svm1@auc
auc_rf1  <- evaluasi.rf1@auc
auc_rf2  <- evaluasi.rf2@auc
auc_rf3  <- evaluasi.rf3@auc
auc_rf4  <- evaluasi.rf4@auc

tabel.auc <- data.frame(
  Model     = c("SVM (sigma=0.06, C=16)", 
                "RF Skenario 1 (ntree=500,  mtry=1)",
                "RF Skenario 2 (ntree=500,  mtry=8)",
                "RF Skenario 3 (ntree=1000, mtry=1)",
                "RF Skenario 4 (ntree=1000, mtry=8)"),
  AUC       = round(c(auc_svm1, auc_rf1, auc_rf2, auc_rf3, auc_rf4), 4)
)

knitr::kable(tabel.auc,
             caption = "Rekapitulasi Nilai AUC Model Kerentanan DBD",
             align   = c("l", "c"))
Rekapitulasi Nilai AUC Model Kerentanan DBD
Model AUC
SVM (sigma=0.06, C=16) 0.6851
RF Skenario 1 (ntree=500, mtry=1) 0.8339
RF Skenario 2 (ntree=500, mtry=8) 0.7889
RF Skenario 3 (ntree=1000, mtry=1) 0.8408
RF Skenario 4 (ntree=1000, mtry=8) 0.7924
Visualisasi Kurva ROC
par(mfrow = c(2, 2), mar = c(4, 4, 3, 2))
plot(evaluasi.rf1, "ROC", col = "red",    main = "ROC RF Skenario 1 (500, 1)",  cex.main = 0.9)
plot(evaluasi.rf2, "ROC", col = "blue",   main = "ROC RF Skenario 2 (500, 8)",  cex.main = 0.9)
plot(evaluasi.rf3, "ROC", col = "green",  main = "ROC RF Skenario 3 (1000, 1)", cex.main = 0.9)
plot(evaluasi.rf4, "ROC", col = "purple", main = "ROC RF Skenario 4 (1000, 8)", cex.main = 0.9)

Kurva ROC Perbandingan 4 Skenario Random Forest

Dari keempat kurva ROC skenario Random Forest, bentuk kurva yang lebih mendekati sudut kiri-atas grafik mengindikasikan kombinasi parameter dengan kemampuan klasifikasi lebih baik. Skenario dengan nilai AUC tertinggi pada tabel rekapitulasi dapat dianggap sebagai konfigurasi paling optimal di antara seluruh skenario, sekaligus dapat dibandingkan terhadap performa model SVM.

4.4 Peta Prediksi (intro)

Tahap akhir pemodelan ini adalah penyajian hasil prediksi dalam bentuk peta spasial interaktif melalui paket tmap. Nilai indeks yang semakin mendekati 1 menggambarkan tingkat kerentanan yang semakin tinggi, sedangkan nilai mendekati 0 menggambarkan kerentanan yang relatif rendah.

4.4.1 Persiapan Titik

Konversi Titik Kasus ke SpatialPointsDataFrame
presence.latih.df <- as.data.frame(presence.latih)
presence.uji.df2  <- as.data.frame(presence.uji)

coords.latih <- presence.latih.df[, 1:2]
coords.uji   <- presence.uji.df2[, 1:2]

crs.utm <- CRS(projection(data))

sp.latih <- SpatialPointsDataFrame(
  coords      = coords.latih,
  data        = data.frame(status = rep("Kasus Latih", nrow(coords.latih))),
  proj4string = crs.utm
)

sp.uji <- SpatialPointsDataFrame(
  coords      = coords.uji,
  data        = data.frame(status = rep("Kasus Uji", nrow(coords.uji))),
  proj4string = crs.utm
)

4.4.2 Peta SVM

Peta Interaktif SVM (tmap)
tmap_mode("view")

tm_shape(peta.prediksi.svm1) +
  tm_raster(
    palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
    title   = "Indeks Kerentanan (SVM)",
    style   = "quantile",
    n       = 5,
    alpha   = 0.8
  ) +
  tm_shape(sp.latih) +
  tm_dots(col = "blue", size = 0.05, title = "Titik Kasus") +
  tm_shape(sp.uji) +
  tm_dots(col = "darkblue", size = 0.05, shape = 17) +
  tm_add_legend(
    type   = "symbol",
    labels = c("Kasus Latih", "Kasus Uji"),
    col    = c("blue", "darkblue"),
    shape  = c(16, 17)
  ) +
  tm_layout(title = "Peta Kerentanan DBD — SVM")

Peta Interaktif Kerentanan DBD — Model SVM

4.4.3 Peta RF1

Peta Interaktif RF1 (tmap)
tmap_mode("view")

tm_shape(peta.prediksi.rf1) +
  tm_raster(
    palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
    title   = "Indeks Kerentanan (RF1)",
    style   = "quantile",
    n       = 5,
    alpha   = 0.8
  ) +
  tm_shape(sp.latih) +
  tm_dots(col = "blue", size = 0.05) +
  tm_shape(sp.uji) +
  tm_dots(col = "darkblue", size = 0.05, shape = 17) +
  tm_layout(title = "RF Skenario 1 (ntree=500, mtry=1)")

Peta Interaktif Kerentanan DBD — RF Skenario 1 (ntree=500, mtry=1)

4.4.4 Peta RF2

Peta Interaktif RF2 (tmap)
tmap_mode("view")

tm_shape(peta.prediksi.rf2) +
  tm_raster(
    palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
    title   = "Indeks Kerentanan (RF2)",
    style   = "quantile",
    n       = 5,
    alpha   = 0.8
  ) +
  tm_layout(title = "RF Skenario 2 (ntree=500, mtry=8)")

Peta Interaktif Kerentanan DBD — RF Skenario 2 (ntree=500, mtry=8)

4.4.5 Peta RF3

Peta Interaktif RF3 (tmap)
tmap_mode("view")

tm_shape(peta.prediksi.rf3) +
  tm_raster(
    palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
    title   = "Indeks Kerentanan (RF3)",
    style   = "quantile",
    n       = 5,
    alpha   = 0.8
  ) +
  tm_layout(title = "RF Skenario 3 (ntree=1000, mtry=1)")

Peta Interaktif Kerentanan DBD — RF Skenario 3 (ntree=1000, mtry=1)

4.4.6 Peta RF4

Peta Interaktif RF4 (tmap)
tmap_mode("view")

tm_shape(peta.prediksi.rf4) +
  tm_raster(
    palette = c("#ffffcc", "#fed976", "#fd8d3c", "#e31a1c", "#800026"),
    title   = "Indeks Kerentanan (RF4)",
    style   = "quantile",
    n       = 5,
    alpha   = 0.8
  ) +
  tm_layout(title = "RF Skenario 4 (ntree=1000, mtry=8)")

Peta Interaktif Kerentanan DBD — RF Skenario 4 (ntree=1000, mtry=8)

4.4.7 Pembahasan Peta

Secara visual, peta hasil prediksi memperlihatkan bahwa tingkat kerentanan DBD tidak tersebar secara merata, melainkan membentuk pola pengelompokan (clustering) pada kawasan-kawasan tertentu. Area berwarna merah tua umumnya berhimpitan dengan kawasan permukiman padat, ditandai oleh tingginya kepadatan penduduk maupun kepadatan bangunan (NDBI). Pada kawasan semacam ini, ketersediaan tempat penampungan air dan kepadatan struktur bangunan cenderung menciptakan lebih banyak titik potensial bagi nyamuk Aedes berkembang biak, sehingga kontak vektor-manusia menjadi lebih intensif.

Selain kepadatan, kombinasi kelembapan udara tinggi dengan rendahnya akses sanitasi dasar pada beberapa titik turut memperkuat pola kerentanan tinggi tersebut. Kelembapan yang mendukung daya tahan hidup nyamuk, dipadukan dengan minimnya pengelolaan air bersih dan limbah domestik, menciptakan kondisi yang kondusif bagi siklus penularan dengue berlangsung berkelanjutan. Sebaliknya, kawasan berwarna kuning muda — yang umumnya lebih jauh dari pusat permukiman, memiliki tutupan vegetasi (NDVI) lebih tinggi, atau berada pada elevasi lebih tinggi — cenderung memperlihatkan kerentanan jauh lebih rendah.

Bila dibandingkan, pola spasial dari model SVM dan keempat skenario RF pada dasarnya menunjukkan kemiripan dalam lokasi yang teridentifikasi sebagai zona berisiko tinggi. Namun terdapat perbedaan pada “ketegasan” batas antar kelas kerentanan; RF dengan mtry lebih besar cenderung menghasilkan gradasi warna lebih halus dibanding skenario mtry kecil, sejalan dengan perbedaan nilai AUC pada tabel rekapitulasi. Perbedaan tingkat kepercayaan prediksi pada beberapa titik batas wilayah ini mengindikasikan bahwa pemilihan algoritma dan konfigurasi parameter tetap berpengaruh terhadap presisi akhir pemetaan, meski arah pola besar kerentanan relatif konsisten antar model.

5 Kesimpulan

  1. Praktikum ini berhasil mengimplementasikan dua pendekatan algoritma machine learning yang berbeda karakteristik — SVM dengan kernel RBF dan Random Forest dengan empat skema kombinasi hyperparameter — dengan memanfaatkan 11 variabel prediktor lingkungan secara serempak.

  2. Hasil pembandingan nilai AUC menunjukkan keseluruhan model memiliki kemampuan diskriminasi yang tergolong baik (AUC > 0,7), berarti cukup mampu membedakan lokasi berisiko tinggi dan rendah. Model dengan AUC tertinggi pada tabel rekapitulasi dapat dipertimbangkan sebagai konfigurasi paling sesuai untuk diadopsi.

  3. Peta kerentanan yang dihasilkan memperlihatkan pola distribusi risiko yang tidak homogen, dengan zona berisiko tinggi terkonsentrasi pada kawasan berkepadatan penduduk dan permukiman tinggi disertai keterbatasan akses sanitasi, sementara kawasan dengan tutupan vegetasi lebih luas dan elevasi lebih tinggi relatif lebih aman.

  4. Secara keseluruhan, pendekatan pemodelan spasial berbasis machine learning terbukti cukup efektif membantu identifikasi zona rentan secara geografis, sehingga berpotensi menjadi rujukan perencanaan intervensi pengendalian DBD yang lebih tepat sasaran dan berbasis wilayah.

6 Daftar Pustaka

  • Barbet-Massin, M., Jiguet, F., Albert, C. H., & Thuiller, W. (2012). Selecting pseudo-absences for species distribution models: how, where and how many? Methods in Ecology and Evolution, 3(2), 327–338.
  • Breiman, L. (2001). Random forests. Machine Learning, 45(1), 5–32.
  • Cortes, C., & Vapnik, V. (1995). Support-vector networks. Machine Learning, 20(3), 273–297.
  • Liaw, A., & Wiener, M. (2002). Classification and regression by randomForest. R News, 2(3), 18–22.
  • Mizan, R. A., Widayani, P., & Farda, N. M. (2021). Assessment and comparison of machine learning algorithm capability in spatial modeling of dengue fever vulnerability based on Landsat image 8 OLI/TIRS. Jurnal Geografi, 13(2), 211–224.
  • Ong, J., Liu, X., Rajarethinam, J., Kok, S. Y., Liang, S., Tang, C. S., Cook, A. R., Ng, L. C., & Yap, G. (2018). Mapping dengue risk in Singapore using Random Forest. PLOS Neglected Tropical Diseases, 12(6), e0006587.
  • Swets, J. A. (1988). Measuring the accuracy of diagnostic systems. Science, 240(4857), 1285–1293.