Perkembangan teknologi penginderaan jauh, sistem informasi geografis (SIG), sensor Internet of Things (IoT), serta komputasi awan telah menghasilkan data spasial dalam jumlah besar, beragam, dan beresolusi tinggi. Data tersebut digunakan untuk memantau perubahan tutupan lahan, pertumbuhan perkotaan, kondisi lingkungan, bencana, sumber daya air, dan fenomena sosial-ekonomi. Dritsas & Trigka (2025) menjelaskan bahwa peningkatan volume, frekuensi, heterogenitas, dan dimensi data geospasial mendorong penggunaan machine learning dan artificial intelligence dalam analisis keruangan. Dalam konteks aplikasinya, Badapalli et al. (2026) menggunakan sepuluh variabel spasial yang berasal dari citra Landsat, Sentinel-2, SRTM, serta data lapangan untuk memetakan potensi air tanah. Hasil penelitian tersebut menunjukkan bahwa 62,08% wilayah studi berada pada kelas potensi air tanah sedang hingga sangat rendah, sedangkan model ANN menghasilkan nilai AUC sebesar 0,850. Temuan ini menunjukkan bahwa analisis spasial berbasis ANN dapat membantu mengidentifikasi pola keruangan yang kompleks dan mendukung pengambilan keputusan berbasis wilayah.
Meningkatnya kompleksitas data spasial juga menimbulkan persoalan metodologis. Data spasial tidak hanya terdiri atas nilai variabel dan lokasi pengamatan, tetapi juga memiliki ketergantungan spasial, heterogenitas spasial, perbedaan skala, serta kemungkinan adanya hubungan non-linier antarvariabel. Ketergantungan spasial berarti bahwa nilai pengamatan pada lokasi yang berdekatan cenderung memiliki hubungan tertentu, sehingga asumsi independensi yang umum digunakan dalam analisis statistik dapat menjadi tidak sesuai. Heterogenitas spasial juga menyebabkan hubungan antara variabel prediktor dan variabel respons dapat berubah dari satu wilayah ke wilayah lain. Nikparvar & Thill (2021) menyatakan bahwa karakteristik spasial sering kali diabaikan atau belum ditangani secara memadai dalam penerapan machine learning. Kesalahan dalam memperlakukan karakteristik tersebut dapat menyebabkan estimasi kinerja model menjadi terlalu optimistis, menghasilkan prediksi yang kurang akurat pada wilayah baru, serta memberikan dasar keputusan yang kurang tepat dalam perencanaan wilayah, pengelolaan lingkungan, dan mitigasi bencana.
Artificial Neural Network (ANN) menjadi salah satu pendekatan yang relevan untuk menangani permasalahan tersebut karena mampu mempelajari hubungan nonlinier antara variabel masukan dan variabel keluaran. Dalam analisis regresi, ANN dapat digunakan untuk memprediksi nilai kontinu, seperti suhu permukaan, tingkat pencemaran, hasil pertanian, risiko bencana, atau potensi air tanah. Dalam analisis klasifikasi, ANN dapat digunakan untuk mengelompokkan wilayah ke dalam kelas tertentu, seperti kelas tutupan lahan, tingkat kerawanan longsor, zona risiko banjir, atau kategori kualitas lingkungan. Goel et al. (2023) menjelaskan bahwa ANN dan metode machine learning dapat digunakan untuk menyelesaikan permasalahan klasifikasi, regresi, dan pengelompokan dengan memanfaatkan informasi variabel serta lokasi pengamatan. Selain itu, integrasi ANN dengan data penginderaan jauh dan SIG memungkinkan model memanfaatkan banyak lapisan informasi spasial sekaligus. Pada penelitian mengenai intensitas urban heat island di Da Nang, Hoang & Nguyen (2025) menggunakan 12 faktor spasial dan 5.000 titik sampel. Model deep neural network regression menghasilkan nilai \(R^{2}\)sebesar 0,88 pada data pengujian, yang menunjukkan kemampuan ANN dalam menjelaskan variasi spasial fenomena lingkungan.
Meskipun ANN telah banyak digunakan, penelitian terdahulu masih menyisakan beberapa keterbatasan. Pertama, sebagian penelitian lebih menekankan pencapaian akurasi pada wilayah dan dataset tertentu daripada menguji kemampuan generalisasi model pada wilayah atau periode yang berbeda. Kedua, penerapan ANN dalam analisis spasial sering kali hanya menggunakan koordinat atau variabel spasial sebagai masukan tambahan, tanpa menjelaskan secara memadai bagaimana ketergantungan dan heterogenitas spasial memengaruhi proses pembelajaran model. Nikparvar & Thill (2021) menunjukkan bahwa pendekatan yang secara langsung memasukkan karakteristik spasial ke dalam algoritma pembelajaran masih lebih sedikit dikaji dibandingkan pendekatan yang hanya menambahkan fitur spasial ke dalam matriks data. Ketiga, ANN cenderung dipandang sebagai metode black box karena proses pembentukan bobot dan hubungan antarvariabel sulit diinterpretasikan. Dritsas & Trigka (2025) menegaskan bahwa transparansi model, integrasi data, dan efisiensi komputasi masih menjadi tantangan penting dalam analisis geospasial berbasis AI. Keterbatasan tersebut menunjukkan perlunya kajian yang tidak hanya membandingkan kinerja ANN pada tugas regresi dan klasifikasi, tetapi juga memperhatikan validasi spasial, interpretasi model, pemilihan variabel, serta potensi overfitting.
Penelitian mengenai ANN untuk regresi dan klasifikasi spasial penting dilakukan karena dapat memperkuat pemahaman akademik mengenai penerapan metode statistik komputasional pada data yang memiliki struktur keruangan. Secara akademik, penelitian ini dapat memberikan kontribusi melalui evaluasi kemampuan ANN dalam memodelkan hubungan non-linier, membandingkan karakteristik ANN pada permasalahan regresi dan klasifikasi, serta mengkaji pengaruh pengolahan dan validasi data spasial terhadap kinerja model. Secara praktis, hasil penelitian dapat digunakan untuk menghasilkan prediksi dan klasifikasi wilayah yang lebih informatif bagi perencanaan tata ruang, pemantauan lingkungan, pengelolaan sumber daya alam, serta mitigasi risiko bencana. Oleh karena itu, penelitian ini diharapkan tidak hanya menghasilkan nilai akurasi model, tetapi juga memberikan informasi mengenai kondisi ketika ANN sesuai digunakan, faktor yang memengaruhi kinerjanya, dan cara menerapkan model tersebut secara bertanggung jawab dalam analisis spasial.
Berdasarkan latar belakang di atas dapat disimpulkan bahwa rumusan masalah sebagai berikut:
Bagaimana mahasiswa mampu memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R?
Bagaimana mahasiswa mampu mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi?
Berdasarkan rumusan masalah di atas, tujuan penelitian yang dapat disimpulkan sebagai berikut:
Mahasiswa dapat memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R.
Mahasiswa dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.
Adapun manfaat yang didapatkan dari penelitian ini adalah sebagai berikut:
Adapun batasan masalah pada penelitian ini yaitu, lakukan ANN Klasifikasi dengan Hidden Neuron=c(10, 20, 30) dengan data training 80% dan testing 20% serta data training 60% dan testing 40%, kemudian interpretasikan masing masing output dengan jelas!
Note: Menggunakan data Iris, Friedman, Breast Cancer, etc.
Adapun sistematika penulisan dari praktikum ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini merupakan bab yang memuat latar belakang penelitian, rumusan masalah, tujuan dan manfaat penelitian, batasan masalah penelitian, dan sistematika penelitian.
BAB II TINJAUAN PUSTAKA
Bab ini merupakan bab yang memuat pengertian dari teori yang diperlukan untuk rancangan penelitian pada bab-bab berikutnya.
BAB III METODE PENELITIAN
Bab ini merupakan bab yang memuat uraian mengenai jenis dan sumber penelitian, variabel penelitian, dan analisis data.
BAB IV HASIL DAN PEMBAHASAN
Bab ini merupakan bab yang memuat hasil analisis, pembahasan dari hasil yang telah diperoleh, dan interpretasi.
BAB V KESIMPULAN DAN SARAN
Bab ini merupakan bab yang memuat rangkuman dari hasil keseluruhan dan saran yang diberikan oleh penulis terhadap hasil maupun analisis yang telah dilakukan.
DAFTAR PUSTAKA
Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan metode machine learning yang terinspirasi dari cara kerja jaringan saraf biologis. ANN memproses informasi melalui sejumlah unit komputasi yang disebut neuron. Neuron-neuron tersebut tersusun dalam beberapa lapisan, yaitu lapisan masukan, lapisan tersembunyi, dan lapisan keluaran. Lapisan masukan menerima variabel prediktor, lapisan tersembunyi mempelajari pola hubungan antarvariabel, sedangkan lapisan keluaran menghasilkan nilai prediksi atau kelas hasil klasifikasi.
Secara umum, setiap neuron menerima sejumlah masukan yang dikalikan dengan bobot tertentu. Hasil perkalian tersebut dijumlahkan dengan nilai bias, kemudian diproses menggunakan fungsi aktivasi. Secara matematis, keluaran sebuah neuron dapat dituliskan sebagai:
\[z = \sum_{i = 1}^{p}{w_{i}x_{i} + b}\]
\[y = f(z)\]
Keterangan:
\(x_{i}\) adalah variabel masukan ke-\(i\);
\(w_{i}\) adalah bobot untuk variabel masukan ke-\(i\);
\(b\) adalah bias;
\(f(z)\) adalah fungsi aktivasi; dan
\(y\) adalah keluaran neuron.
Fungsi aktivasi memungkinkan ANN mempelajari hubungan non-linier. Beberapa fungsi aktivasi yang umum digunakan adalah fungsi sigmoid, hiperbolik tangen, dan ReLU. Pemilihan fungsi aktivasi bergantung pada jenis permasalahan dan struktur model. Pada keluaran regresi, lapisan keluaran umumnya menggunakan fungsi aktivasi linear. Pada klasifikasi biner, fungsi sigmoid dapat digunakan untuk menghasilkan probabilitas suatu observasi masuk ke kelas tertentu. Pada klasifikasi multikelas, fungsi softmax dapat digunakan untuk menghasilkan probabilitas pada setiap kelas.
ANN melakukan proses pembelajaran dengan menyesuaikan bobot dan bias berdasarkan kesalahan prediksi. Proses tersebut umumnya dilakukan melalui algoritma backpropagation dan optimasi menggunakan metode seperti gradient descent. Model menghasilkan prediksi, menghitung selisih antara prediksi dan nilai aktual, kemudian memperbarui bobot agar kesalahan pada iterasi berikutnya menjadi lebih kecil. Goel et al. (2023) menjelaskan bahwa ANN termasuk metode pembelajaran terawasi yang dapat digunakan untuk permasalahan klasifikasi maupun regresi.
Keunggulan utama ANN terletak pada kemampuannya dalam mempelajari hubungan kompleks dan non-linier. Kemampuan tersebut membuat ANN relevan untuk menganalisis fenomena spasial yang dipengaruhi oleh banyak variabel. Meskipun demikian, ANN memerlukan data pelatihan yang memadai, pemilihan arsitektur yang sesuai, serta pengaturan hiperparameter yang tepat. Model dengan struktur terlalu kompleks dapat mengalami overfitting, sedangkan model yang terlalu sederhana dapat mengalami underfitting. Selain itu, ANN sering dianggap sulit diinterpretasikan karena hubungan antara masukan dan keluaran tidak selalu dapat dijelaskan secara langsung.
Regresi merupakan metode analisis yang digunakan untuk memprediksi variabel respons berbentuk numerik atau kontinu. Dalam regresi berbasis ANN, model mempelajari hubungan antara satu atau beberapa variabel prediktor dengan variabel respons. Contoh penerapannya dalam analisis spasial adalah prediksi curah hujan, suhu permukaan, kadar polutan, nilai indeks pembangunan manusia, potensi air tanah, dan tingkat produksi pertanian. ANN untuk regresi dapat dirumuskan sebagai fungsi:
\[\widehat{y} = f(X;\theta)\]
Keterangan:
\(\widehat{y}\) adalah nilai prediksi;
\(X\) adalah matriks variabel prediktor;
\(f\) adalah fungsi yang dibentuk oleh arsitektur jaringan saraf; dan
\(\theta\) adalah parameter model berupa bobot dan bias.
Pada penelitian regresi, fungsi kerugian yang digunakan dapat berupa mean squared error (MSE) atau mean absolute error (MAE). MSE menghitung rata-rata kuadrat selisih antara nilai aktual dan nilai prediksi, sedangkan MAE menghitung rata-rata nilai absolut selisih tersebut. Kinerja model regresi juga dapat dinilai menggunakan root mean square error (RMSE) dan koefisien determinasi \(R^{2}\).
\[RMSE = \sqrt{\frac{1}{n}\sum_{i = 1}^{n}\left( y_{i} - {\widehat{y}}_{i} \right)^{2}}\]
\[MAE = \frac{1}{n}\sum_{i = 1}^{n}|y_{i} - {\widehat{y}}_{i}|\]
\[R^{2} = 1 - \frac{\sum_{i = 1}^{n}\left( y_{i} - {\widehat{y}}_{i} \right)^{2}}{\sum_{i = 1}^{n}\left( y_{i} - {\overline{y}}_{i} \right)^{2}}\]
Nilai RMSE dan MAE yang lebih kecil menunjukkan kesalahan prediksi yang lebih rendah. Sementara itu, nilai \(R^{2}\) yang lebih besar menunjukkan kemampuan model yang lebih baik dalam menjelaskan variasi variabel respons.
Hoang dan Nguyen (2025) menggunakan deep neural network regression untuk memodelkan intensitas urban heat island berdasarkan berbagai faktor spasial. Penelitian tersebut menggunakan 12 variabel prediktor dan 5.000 titik sampel dari wilayah perkotaan. Model DNNR menghasilkan nilai \(R^{2}\) sebesar 0,88 pada data pengujian. Hasil tersebut menunjukkan bahwa jaringan saraf dapat digunakan untuk mempelajari variasi spasial pada fenomena lingkungan. Namun, penelitian tersebut juga menunjukkan bahwa kinerja model perlu dievaluasi dengan membandingkannya terhadap metode lain dan dengan mempertimbangkan keterbatasan data, musim, serta karakteristik wilayah penelitian.
Klasifikasi merupakan proses pengelompokan suatu objek atau pengamatan ke dalam kelas tertentu berdasarkan karakteristik variabel prediktornya. Berbeda dari regresi yang menghasilkan nilai kontinu, klasifikasi menghasilkan label kategori. Klasifikasi dapat dibedakan menjadi klasifikasi biner dan klasifikasi multikelas. Klasifikasi biner hanya memiliki dua kelas, sedangkan klasifikasi multikelas memiliki lebih dari dua kelas.
Dalam analisis spasial, ANN untuk klasifikasi dapat digunakan untuk memetakan kelas penggunaan lahan, tingkat kerawanan bencana, kesesuaian lahan, kualitas lingkungan, atau zona potensi sumber daya alam. Variabel masukan dapat berupa data citra satelit, elevasi, kemiringan lereng, jarak dari sungai, kepadatan jalan, kepadatan penduduk, serta indikator lingkungan lainnya.
Untuk klasifikasi biner, keluaran ANN umumnya berupa probabilitas yang berada pada rentang 0 sampai 1. Nilai tersebut kemudian diubah menjadi kelas berdasarkan nilai ambang tertentu. Untuk klasifikasi multikelas, ANN dapat menggunakan fungsi softmax sehingga menghasilkan probabilitas untuk setiap kelas. Kelas dengan probabilitas tertinggi dipilih sebagai hasil klasifikasi.
Kinerja model klasifikasi dapat diukur dengan confusion matrix. Matriks tersebut membandingkan kelas aktual dan kelas hasil prediksi. Berdasarkan confusion matrix, beberapa ukuran evaluasi dapat dihitung, yaitu akurasi, presisi, recall, dan F1-score.
\[Accuracy = \frac{TP + TN}{TP + TN + FP + FN}\]
\[Precision = \frac{TP}{TP + FP}\]
\[Recall = \frac{TP}{TP + FN}\]
\[F1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}\]
Keterangan:
\(TP\) adalah true positive;
\(TN\) adalah true negative;
\(FP\) adalah false positive; dan
\(FN\) adalah false negative.
Akurasi menunjukkan proporsi prediksi yang benar dari seluruh pengamatan. Presisi menunjukkan ketepatan model ketika memprediksi suatu kelas. Recall menunjukkan kemampuan model dalam menemukan seluruh pengamatan yang sebenarnya termasuk ke dalam suatu kelas. Sementara itu, F1-score merupakan ukuran gabungan antara presisi dan recall.
Selain metrik tersebut, kurva ROC dan nilai AUC dapat digunakan untuk menilai kemampuan model dalam membedakan kelas. Badapalli et al. (2026) menerapkan ANN dan data geospasial untuk memetakan zona potensi air tanah. Model tersebut memperoleh nilai AUC sebesar 0,850 dan akurasi keseluruhan sebesar 87%. Penelitian tersebut juga menggunakan data sumur sebagai data validasi serta uji Moran’s I untuk memeriksa apakah residual prediksi masih menunjukkan pola spasial. Pendekatan ini menunjukkan bahwa evaluasi klasifikasi spasial tidak cukup hanya menggunakan akurasi, tetapi juga perlu memeriksa kesesuaian hasil prediksi dengan kondisi lapangan dan pola residualnya.
Jenis data pada penelitian ini adalah data numerik. Data numerik adalah jenis data yang terdiri dari angka dan dapat diukur atau dihitung secara kuantitatif. Data ini digunakan untuk merepresentasikan nilai atau ukuran tertentu dalam berbagai konteks, seperti sains, ekonomi, statistik, dan matematika. Data numerik sering digunakan untuk melakukan perhitungan, analisis, dan visualisasi data. Data berbentuk data tabular dan bersifat cross-sectional karena setiap baris merepresentasikan satu pasien atau satu observasi pada satu waktu pengamatan.
Dalam laporan ini sumber data yang digunakan adalah sumber data dalam wujud data sekunder, yaitu data yang telah dikumpulkan dan disusun oleh pihak lain di luar praktikan itu sendiri. Data pada praktikum ini yaitu dataset Breast Cancer (Wisconsin Breast Cancer Database) yang tersedia di R melalui paket mlbench.
Variabel adalah simbol, karakteristik, atau atribut yang dapat diukur atau diamati dalam sebuah penelitian atau eksperimen. Pada laporan ini terdapat 1 batasan masalah. Variabel respons dalam penelitian ini adalah Class, yang terdiri atas dua kategori, yaitu benign dan malignant. Variabel prediktor terdiri atas sembilan karakteristik sel, yaitu ketebalan gumpalan sel (Cl.thickness), keseragaman ukuran sel (Cell.size), keseragaman bentuk sel (Cell.shape), perlekatan marginal (Marg.adhesion), ukuran sel epitel tunggal (Epith.c.size), kondisi inti sel (Bare.nuclei), struktur kromatin (Bl.cromatin), bentuk nukleolus normal (Normal.nucleoli), dan mitosis (Mitoses). Variabel Id tidak digunakan dalam pemodelan karena hanya berfungsi sebagai identitas observasi. Data yang memiliki nilai hilang pada variabel Bare.nuclei dibersihkan sebelum digunakan dalam pembentukan model ANN.
Langkah-langkah yang digunakan pada penelitian untuk batasan masalah adalah sebagai berikut:
library(nnet)
library(NeuralNetTools)
library(mlbench)
# Import Data
data(BreastCancer)
bc <- BreastCancer
bc$Id <- NULL
# Ubah prediktor (factor ordinal 1-10) menjadi numerik
for (j in 1:9) bc[, j] <- as.numeric(as.character(bc[, j]))
# Hapus missing value (16 baris pada Bare.nuclei)
bc <- na.omit(bc)
bc$Class <- factor(bc$Class, levels = c("benign", "malignant"))
head(bc)
## Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size Bare.nuclei
## 1 5 1 1 1 2 1
## 2 5 4 4 5 7 10
## 3 3 1 1 1 2 2
## 4 6 8 8 1 3 4
## 5 4 1 1 3 2 1
## 6 8 10 10 8 7 10
## Bl.cromatin Normal.nucleoli Mitoses Class
## 1 3 1 1 benign
## 2 3 2 1 benign
## 3 3 1 1 benign
## 4 3 7 1 benign
## 5 3 1 1 benign
## 6 9 7 1 malignant
Fungsi head(bc) menampilkan enam baris pertama data
Breast Cancer setelah variabel Id dihapus. Data
terdiri atas sembilan variabel prediktor yang seluruhnya bernilai
numerik pada skala 1 sampai 10 (Cl.thickness,
Cell.size, Cell.shape, Marg.adhesion,
Epith.c.size, Bare.nuclei, Bl.cromatin,
Normal.nucleoli, dan Mitoses) serta satu variabel
respons Class. Dari enam baris pertama, lima pengamatan
berkelas benign dan satu pengamatan (baris keenam) berkelas
malignant. Pengamatan malignant tersebut memiliki
nilai karakteristik sel yang tinggi, misalnya Cell.size 10,
Cell.shape 10, dan Bare.nuclei 10, sedangkan sebagian
besar pengamatan benign bernilai rendah, yaitu 1 sampai 3.
Namun, tidak semua pengamatan benign bernilai rendah, misalnya
baris kedua memiliki Bare.nuclei 10 dan baris keempat memiliki
Cell.size 8. Pola ini mengindikasikan bahwa semakin besar nilai
karakteristik sel, semakin besar kecenderungan pengamatan tergolong
malignant, tetapi hubungannya tidak sederhana sehingga perlu
model nonlinier seperti ANN.
summary(bc)
## Cl.thickness Cell.size Cell.shape Marg.adhesion
## Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. : 1.00
## 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.: 1.00
## Median : 4.000 Median : 1.000 Median : 1.000 Median : 1.00
## Mean : 4.442 Mean : 3.151 Mean : 3.215 Mean : 2.83
## 3rd Qu.: 6.000 3rd Qu.: 5.000 3rd Qu.: 5.000 3rd Qu.: 4.00
## Max. :10.000 Max. :10.000 Max. :10.000 Max. :10.00
## Epith.c.size Bare.nuclei Bl.cromatin Normal.nucleoli
## Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. : 1.00
## 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 2.000 1st Qu.: 1.00
## Median : 2.000 Median : 1.000 Median : 3.000 Median : 1.00
## Mean : 3.234 Mean : 3.545 Mean : 3.445 Mean : 2.87
## 3rd Qu.: 4.000 3rd Qu.: 6.000 3rd Qu.: 5.000 3rd Qu.: 4.00
## Max. :10.000 Max. :10.000 Max. :10.000 Max. :10.00
## Mitoses Class
## Min. : 1.000 benign :444
## 1st Qu.: 1.000 malignant:239
## Median : 1.000
## Mean : 1.603
## 3rd Qu.: 1.000
## Max. :10.000
table(bc$Class)
##
## benign malignant
## 444 239
nrow(bc)
## [1] 683
# Formula model
i <- names(bc)
form <- as.formula(paste("Class ~", paste(i[!i %in% "Class"], collapse = " + ")))
form
## Class ~ Cl.thickness + Cell.size + Cell.shape + Marg.adhesion +
## Epith.c.size + Bare.nuclei + Bl.cromatin + Normal.nucleoli +
## Mitoses
Hasil summary(bc) menunjukkan bahwa seluruh prediktor
berada pada rentang 1 sampai 10. Rata-rata tertinggi dimiliki oleh
Cl.thickness sebesar 4,442 dan terendah oleh Mitoses
sebesar 1,603. Nilai median Cell.size, Cell.shape,
Marg.adhesion, Bare.nuclei, Normal.nucleoli,
dan Mitoses adalah 1, lebih kecil daripada rata-ratanya,
sehingga distribusi variabel-variabel tersebut condong ke kanan
(sebagian besar pengamatan bernilai rendah dan hanya sebagian kecil
bernilai tinggi). Kondisi ini paling ekstrem pada Mitoses yang
kuartil ketiganya masih bernilai 1 tetapi maksimumnya mencapai 10.
Distribusi kelas menunjukkan 444 pengamatan benign dan 239 pengamatan malignant dengan total 683 pengamatan setelah 16 baris yang memiliki nilai hilang pada Bare.nuclei dihapus. Proporsi benign sebesar 65,0% dan malignant sebesar 35,0%, sehingga data tergolong agak tidak seimbang tetapi belum ekstrem. Oleh karena itu, selain akurasi, sensitivitas dan spesifisitas tetap perlu diperhatikan agar kelas malignant yang lebih sedikit tidak terabaikan. Formula yang terbentuk adalah Class sebagai fungsi dari kesembilan prediktor, yang akan digunakan pada seluruh model ANN.
jalankan_ann <- function(prop_train, size, seed = 917) {
set.seed(seed)
index <- sample(1:nrow(bc), round(prop_train * nrow(bc)))
train <- bc[index, ]
test <- bc[-index, ]
set.seed(seed)
nn <- nnet.formula(form, size = size, data = train,
maxit = 500, trace = FALSE, MaxNWts = 5000)
pred <- factor(predict(nn, newdata = test, type = "class"),
levels = levels(bc$Class))
tab <- table(Aktual = test$Class, Prediksi = pred)
TN <- tab["benign", "benign"]; FP <- tab["benign", "malignant"]
FN <- tab["malignant", "benign"]; TP <- tab["malignant", "malignant"]
hasil <- data.frame(
Train = paste0(prop_train * 100, "%"),
Test = paste0((1 - prop_train) * 100, "%"),
Hidden = size,
n_train = nrow(train), n_test = nrow(test),
Akurasi = (TP + TN) / sum(tab),
Sensitivitas = TP / (TP + FN),
Spesifisitas = TN / (TN + FP),
Presisi = TP / (TP + FP)
)
list(model = nn, tabel = tab, hasil = hasil)
}
# Fungsi untuk menampilkan seluruh output satu skenario
tampilkan_skenario <- function(out) {
cat("Tabel klasifikasi (confusion matrix):\n")
print(out$tabel)
cat("\nMetrik evaluasi:\n")
print(round(out$hasil[, 6:9], 4))
cat("\nJumlah bobot jaringan:", length(out$model$wts), "\n")
cat("\nBobot jaringan (9 bobot pertama pada hidden neuron 1):\n")
w <- neuralweights(out$model)$wts[[1]]
print(w[1:min(9, length(w))])
cat("\nKepentingan variabel (Olden):\n")
print(olden(out$model, bar_plot = FALSE))
}
Fungsi jalankan_ann() membagi data secara acak sesuai
proporsi training dengan set.seed(917) agar hasil
dapat direproduksi, kemudian membentuk ANN satu hidden layer
menggunakan nnet dengan jumlah hidden neuron
sesuai argumen size, iterasi maksimum 500, dan tanpa
weight decay. Prediksi kelas diperoleh dengan ambang
probabilitas 0,5, dan kelas malignant diperlakukan sebagai
kelas positif. Berdasarkan confusion matrix, akurasi dihitung
sebagai (TP + TN) / total, sensitivitas sebagai TP / (TP + FN),
spesifisitas sebagai TN / (TN + FP), dan presisi sebagai TP / (TP + FP).
Pada konteks diagnosis kanker, sensitivitas menjadi ukuran yang sangat
penting karena false negative berarti kasus ganas yang
terprediksi jinak. Fungsi tampilkan_skenario() digunakan
untuk menampilkan confusion matrix, metrik evaluasi, jumlah
bobot, bobot jaringan, dan nilai kepentingan variabel metode Olden pada
setiap skenario.
semua <- list(out1, out2, out3, out4, out5, out6)
ringkasan <- do.call(rbind, lapply(semua, function(x) x$hasil))
ringkasan[, 6:9] <- round(ringkasan[, 6:9], 4)
ringkasan
## Train Test Hidden n_train n_test Akurasi Sensitivitas Spesifisitas Presisi
## 1 80% 20% 10 546 137 0.9635 0.9545 0.9677 0.9333
## 2 60% 40% 10 410 273 0.9267 0.8391 0.9677 0.9241
## 3 80% 20% 20 546 137 0.9489 0.8864 0.9785 0.9512
## 4 60% 40% 20 410 273 0.9304 0.8621 0.9624 0.9146
## 5 80% 20% 30 546 137 0.9781 0.9545 0.9892 0.9767
## 6 60% 40% 30 410 273 0.9451 0.9425 0.9462 0.8913
Tabel ringkasan membandingkan enam model ANN. Pada proporsi 80:20, akurasi berturut-turut adalah 96,35% (10 neuron), 94,89% (20 neuron), dan 97,81% (30 neuron), dengan rata-rata 96,35%. Pada proporsi 60:40, akurasi berturut-turut adalah 92,67%, 93,04%, dan 94,51%, dengan rata-rata 93,41%. Dengan demikian, proporsi training 80% menghasilkan kinerja yang lebih baik daripada 60% pada setiap jumlah hidden neuron, yang konsisten dengan pandangan bahwa data training yang lebih banyak memberi model lebih banyak informasi untuk mempelajari pola. Sensitivitas pada proporsi 60:40 (83,91% sampai 94,25%) juga lebih rendah dan lebih bervariasi dibandingkan proporsi 80:20 (88,64% sampai 95,45%).
Pengaruh jumlah hidden neuron tidak sepenuhnya monoton. Pada proporsi 60:40, akurasi naik seiring bertambahnya neuron (92,67%, 93,04%, 94,51%). Pada proporsi 80:20, akurasi turun saat neuron ditambah dari 10 ke 20 (96,35% menjadi 94,89%) lalu naik kembali pada 30 neuron (97,81%). Ketidakmonotonan ini wajar karena hasil ANN dipengaruhi oleh inisialisasi bobot acak, dan perbedaan antarmodel pada data testing 137 pengamatan hanya setara beberapa observasi (misalnya selisih 97,81% dan 96,35% hanya berasal dari 2 pengamatan). Karena itu, perbedaan kecil antarskenario sebaiknya tidak diinterpretasikan sebagai perbedaan yang pasti.
Model terbaik adalah Skenario 5 (training 80%, testing 20%, 30 hidden neuron) dengan akurasi 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%, serta hanya 3 kesalahan klasifikasi (1 false positive dan 2 false negative). Skenario 1 memiliki jumlah false negative yang sama (2 kasus), tetapi memiliki 3 false positive sehingga akurasi dan presisinya lebih rendah. Model terburuk adalah Skenario 2 (training 60%, 10 neuron) dengan akurasi 92,67% dan 14 false negative (sensitivitas 83,91%).
Artificial Neural Network (ANN) merupakan metode machine learning yang meniru mekanisme kerja jaringan saraf melalui hubungan antara input layer, hidden layer, dan output layer. ANN mampu mempelajari pola yang kompleks dan hubungan nonlinear antara variabel prediktor dan variabel respons. Kinerja ANN dipengaruhi oleh beberapa komponen, seperti jumlah neuron pada hidden layer, fungsi aktivasi, jumlah iterasi, algoritma pembelajaran, dan pembagian data training serta testing. Penambahan jumlah neuron dapat meningkatkan kemampuan model dalam mengenali pola, tetapi jumlah neuron yang terlalu banyak dapat meningkatkan kompleksitas dan risiko overfitting.
Evaluasi ANN perlu dilakukan secara menyeluruh menggunakan confusion matrix dan metrik klasifikasi, seperti accuracy, sensitivity, specificity, precision, F1-score, dan balanced accuracy. Setiap metrik memberikan informasi yang berbeda mengenai kemampuan model dalam mengklasifikasikan data. Oleh karena itu, model terbaik tidak cukup ditentukan berdasarkan accuracy saja, tetapi juga perlu mempertimbangkan kemampuan model dalam mengenali setiap kelas serta keseimbangan antara kesalahan klasifikasi. Perbandingan jumlah hidden neuron dan proporsi data training-testing dapat digunakan untuk mengetahui konfigurasi ANN yang memberikan kinerja klasifikasi paling baik.
Berdasarkan hasil analisis ANN klasifikasi pada data Breast Cancer yang terdiri atas 683 pengamatan (444 benign dan 239 malignant) setelah 16 baris bernilai hilang dihapus, enam model dibentuk dari kombinasi proporsi data training-testing 80:20 dan 60:40 dengan jumlah hidden neuron 10, 20, dan 30. Seluruh model menghasilkan akurasi di atas 92%, dengan rentang 92,67% sampai 97,81%. Model terbaik adalah ANN dengan 30 hidden neuron pada proporsi 80:20, yang menghasilkan akurasi 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%, dengan hanya 3 kesalahan klasifikasi dari 137 data testing (1 false positive dan 2 false negative). Model dengan kinerja terendah adalah ANN dengan 10 hidden neuron pada proporsi 60:40, yang menghasilkan akurasi 92,67% dan sensitivitas 83,91% karena terdapat 14 kasus malignant yang terprediksi benign.
Proporsi data training 80% memberikan hasil yang lebih baik daripada 60% pada setiap jumlah hidden neuron, dengan rata-rata akurasi 96,35% berbanding 93,41%. Pengaruh jumlah hidden neuron tidak selalu meningkat seiring penambahan neuron. Pada proporsi 60:40, akurasi meningkat dari 92,67% ke 93,04% dan 94,51%, sedangkan pada proporsi 80:20 akurasi menurun dari 96,35% ke 94,89% pada 20 neuron sebelum naik menjadi 97,81% pada 30 neuron. Selisih antarmodel yang kecil pada data testing yang terbatas perlu ditafsirkan secara hati-hati karena hasil ANN dipengaruhi oleh inisialisasi bobot acak dan pembagian data tunggal. Berdasarkan metode Olden, variabel yang berkontribusi besar terhadap klasifikasi kelas malignant berbeda-beda antarmodel. Pada model terbaik, Marg.adhesion, Bare.nuclei, Cl.thickness, dan Cell.shape memberikan kontribusi positif terbesar, sehingga urutan kepentingan variabel tidak stabil dan tidak dapat dianggap sebagai ukuran pengaruh yang pasti.
Praktikan dapat melakukan pembelajaran lebih lanjut mengenai Machine Learning and modern prediction serta cara interpretasinya agar semakin paham. Dapat dilakukan melalui sumber-sumber belajar lainnya. Dalam penulisan laporan praktikan juga diharapkan untuk selalu teliti dan memperhatikan tata cara penulisan yang baik. Penulis juga berharap kritik dan saran kepada pembaca dan asisten praktikum guna membuat laporan ini menjadi lebih baik.
Badapalli, P. K., Nakkala, A. B., Pujari, P. S., Gugulothu, S., Kottala, R. B., Mannala, P., Alkhuraiji, W. S., Thamaga, K. H., & Zhran, M. (2026). Integration of geospatial techniques and artificial neural networks for groundwater potential zonation in India. Scientific Reports, 16(1). https://doi.org/10.1038/s41598-025-31640-8
Fransiska, H. (2026). Modul Praktikum Machine Learning. Universitas Bengkulu
Dritsas, E., & Trigka, M. (2025). Remote Sensing and Geospatial Analysis in the Big Data Era: A Survey. In Remote Sensing (Vol. 17, Number 3). https://doi.org/10.3390/rs17030550
Goel, A., Goel, A. K., & Kumar, A. (2023). The role of artificial neural network and machine learning in utilizing spatial information. In Spatial Information Research (Vol. 31, Number 3). https://doi.org/10.1007/s41324-022-00494-x
Hoang, N. D., & Nguyen, Q. L. (2025). Geospatial Analysis and Machine Learning Framework for Urban Heat Island Intensity Prediction: Natural Gradient Boosting and Deep Neural Network Regressors with Multisource Remote Sensing Data. Sustainability (Switzerland), 17(10). https://doi.org/10.3390/su17104287
Nikparvar, B., & Thill, J. C. (2021). Machine learning of spatial data. In ISPRS International Journal of Geo-Information (Vol. 10, Number 9). https://doi.org/10.3390/ijgi10090600