BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Machine Learning merupakan salah satu cabang ilmu kecerdasan buatan yang memungkinkan komputer mempelajari pola dari data untuk menghasilkan prediksi atau keputusan. Salah satu metode yang digunakan dalam Machine Learning adalah Artificial Neural Network (ANN) atau jaringan saraf tiruan. ANN merupakan metode komputasi yang meniru cara kerja jaringan saraf manusia dengan memanfaatkan neuron-neuron yang saling terhubung untuk mengolah informasi dan mempelajari pola dari data (Prasetyo, 2023).

Artificial Neural Network dapat digunakan untuk menyelesaikan berbagai permasalahan, di antaranya regresi dan klasifikasi. Regresi merupakan proses untuk memperkirakan nilai numerik berdasarkan pola hubungan antarvariabel, sedangkan klasifikasi merupakan proses pengelompokan data ke dalam kategori tertentu. Penerapan ANN untuk regresi dapat digunakan dalam memprediksi suatu nilai, seperti jumlah kebutuhan pakan ayam, sedangkan penerapannya untuk klasifikasi dapat digunakan dalam menentukan kategori atau kelas suatu objek (Abidin dkk., 2024).

Dalam proses pembelajarannya, ANN menggunakan sejumlah neuron yang tersusun dalam beberapa lapisan. ANN terdiri dari beberapa lapisan, yaitu lapisan masukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer). Setiap neuron menerima masukan yang dikalikan dengan bobot tertentu, kemudian ditambahkan bias dan diproses melalui fungsi aktivasi untuk menghasilkan keluaran (Fransiska, 2026)

1.2 Rumusan Masalah

  1. Bagaimana mahasiswa mampu memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R?

  2. Bagaimana mahasiswa mampu mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi?

1.3 Tujuan

  1. Memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R.

  2. Mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi

1.4 Batasan Masalah

Lakukan ANN Regresi dengan Hidden Neuron=c(10,20,30) dengan data training 80% dan testing 20%. kemudian coba buat dengan maxit=(250, 500). kemudian interprestasikan output dengan jelas!

BAB II TINJAUAN PUSTAKA

2.1 Artificial Neural Network

Artificial Neural Network (ANN) atau Jaringan Saraf Tiruan (JST) merupakan metode dalam machine learning yang terinspirasi dari cara kerja jaringan saraf manusia dalam mengolah informasi dan mengenali pola. ANN terdiri atas sejumlah unit pemrosesan yang disebut neuron dan saling terhubung melalui jaringan dengan bobot tertentu. Setiap neuron menerima masukan, melakukan proses pengolahan, kemudian menghasilkan keluaran berdasarkan perhitungan yang dilakukan (Thoriq, 2022).

Struktur Artificial Neural Network secara umum terdiri atas tiga lapisan utama, yaitu input layer, hidden layer, dan output layer. Input layer berfungsi menerima data masukan, hidden layer bertugas memproses informasi yang diterima melalui perhitungan neuron, sedangkan output layer menghasilkan keluaran dari proses pengolahan data. Setiap hubungan antar-neuron memiliki bobot (weight) yang menentukan besarnya pengaruh suatu masukan terhadap hasil keluaran jaringan (Dzulkamain & Ma’ady, 2024).

2.2 ANN untuk Regresi

Artificial Neural Network (ANN) untuk regresi merupakan penerapan jaringan saraf tiruan yang digunakan untuk memprediksi nilai numerik atau kontinu berdasarkan pola hubungan antara variabel input dan output. ANN mempelajari pola dari data pelatihan sehingga mampu menghasilkan prediksi berdasarkan data yang diberikan. Metode ini dapat digunakan untuk memodelkan hubungan antarvariabel yang kompleks dan tidak selalu bersifat linear (Abidin dkk., 2024). Dalam proses regresi, data masukan diproses melalui neuron pada input layer dan hidden layer, kemudian menghasilkan nilai prediksi pada output layer. Proses pembelajaran umumnya menggunakan algoritma backpropagation, yaitu proses menghitung kesalahan antara hasil prediksi dan nilai sebenarnya, lalu memperbarui bobot dan bias jaringan agar kesalahan semakin kecil. Proses ini dilakukan secara berulang selama pelatihan hingga diperoleh model dengan tingkat kesalahan yang sesuai.

Pada ANN regresi, fungsi aktivasi berperan dalam menentukan keluaran setiap neuron. Fungsi aktivasi yang umum digunakan pada metode Backpropagation Neural Network adalah sigmoid biner dan sigmoid bipolar. Fungsi sigmoid biner menghasilkan output pada interval 0 hingga 1. Berikut merupakan rumus fungsi aktivasi sigmoid biner:

  1. Fungsi aktivasi sigmoid biner

\[ y = f(x) = \frac{1}{1+e^{-x}} \]

  1. Turunan fungsi sigmoid biner

\[ f'(x) = \frac{e^{-x}}{(1+e^{-x})^2} = f(x)[1-f(x)] \]

Sedangkan apabila nilai output-nya memiliki rentang nilai anta -1 sampai 1, maka fungsi tersebut ialah fungsi aktivasi sigmoid bipolar.

  1. Fungsi aktivasi sigmoid bipolar

\[ y = f(x) = \frac{1-e^{-x}}{1+e^{-x}} \]

  1. Turunan fungsi sigmoid bipolar

\[ f'(x) = \frac{2e^{-x}}{(1+e^{-x})^2} = \frac{1}{2}[1+f(x)][1-f(x)] \]

Hasil prediksi ANN untuk regresi kemudian dievaluasi untuk mengetahui tingkat kesalahan model. Beberapa metrik yang umum digunakan adalah Mean Squared Error (MSE), Mean Absolute Error (MAE), dan Root Mean Squared Error (RMSE). MSE menghitung rata-rata kuadrat selisih antara nilai aktual dan prediksi, MAE menghitung rata-rata nilai absolut kesalahan, sedangkan RMSE merupakan akar dari MSE. Semakin kecil nilai kesalahan tersebut, semakin dekat hasil prediksi dengan nilai aktual (Huda & Handayani, 2023).

2.3 ANN Klasifikasi

Artificial Neural Network (ANN) untuk klasifikasi merupakan penerapan jaringan saraf tiruan yang digunakan untuk mengelompokkan data ke dalam kelas atau kategori tertentu berdasarkan pola yang dipelajari dari data pelatihan. Proses klasifikasi dilakukan dengan mengenali hubungan antara variabel input dan label kelas sebagai output. ANN dapat digunakan untuk berbagai permasalahan klasifikasi, seperti pengelompokan jenis penyakit, tingkat kualitas produk, dan kategori objek berdasarkan karakteristik tertentu (Aini dkk., 2023). Fungsi aktivasi berperan penting dalam menentukan non-linearitas jaringan. Beberapa fungsi umum pada ANN klasifikasi meliputi (Fransiska,2026):

  1. Sigmoid: cocok untuk klasifikasi biner
  2. Softmax: cocok untuk multiclass classification
  3. ReLU (Rectified Linear Unit) : mempercepat konvergensi dan mengatasi masalah vanishing gradient
  4. Tanh: menghasilkan output antara -1 dan 1, serta membantu normalisasi sinyal neuron

Evaluasi ANN Klasifikasi dilakukan dengan membandingkan kelas aktual dan kelas hasil prediksi. Hasil perbandingan tersebut dapat disajikan dalam confusion matrix (Fransiska,2026):

Predicted Positive Predicted Negative
Actual Positive True Positive (TP) False Negative (FN)
Actual Negative False Positive (FP) True Negative (TN)

Berdasarkan confusion matrix, beberapa ukuran evaluasi yang dapat digunakan adalah:

  1. Accuracy

\[ Accuracy = \frac{TP+TN}{TP+TN+FP+FN} \] 2. Precision

\[ Precision = \frac{TP}{TP+FP} \] 3. Recall

\[ Recall = \frac{TP}{TP+FN} \] 4. Specificity

\[ Specificity = \frac{TN}{TN+FP} \] 5. F1-Score

\[ F1\text{-}Score = 2 \left(\frac{Precision \times Recall}{Precision+Recall}\right) \]

BAB III METODE PENELITIAN

3.1 Sumber Data

Sumber data yang digunakan dalam penelitian ini adalah data sekunder berupa dataset BreastCancer dari package mlbench pada program R, yang digunakan untuk klasifikasi kondisi kanker payudara.

3.2 Variabel Penelitian

Pada penelitian ini, variabel yang digunakan terdiri atas variabel prediktor dan variabel target. Variabel target 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).

3.3 Langkah-langkah Analisis

Langkah-langkah analisis yang dilakukan adalah sebagai berikut.

  1. Memanggil package dan dataset BreastCancer.
  2. Menghapus variabel Id dan data yang memiliki nilai kosong.
  3. Mengubah sembilan variabel prediktor menjadi numerik.
  4. Membagi data menjadi 80% training dan 20% testing.
  5. Menentukan variabel target dan prediktor untuk ANN regresi.
  6. Membangun model ANN dengan variasi 10, 20, dan 30 hidden neuron serta maxit 250 dan 500.
  7. Melakukan prediksi menggunakan data testing.
  8. Menghitung nilai MAE dan RMSE untuk mengevaluasi model.
  9. Menampilkan arsitektur jaringan menggunakan plotnet().
  10. Menampilkan bobot koneksi menggunakan neuralweights().
  11. Menampilkan tingkat kepentingan variabel menggunakan olden().

BAB IV HASIL DAN PEMBAHASAN

4.1 Input Package dan Dataset

library(nnet)
library(NeuralNetTools)
## Warning: package 'NeuralNetTools' was built under R version 4.6.1
library(mlbench)
## Warning: package 'mlbench' was built under R version 4.6.1
data(BreastCancer)
head(BreastCancer)
##        Id Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size
## 1 1000025            5         1          1             1            2
## 2 1002945            5         4          4             5            7
## 3 1015425            3         1          1             1            2
## 4 1016277            6         8          8             1            3
## 5 1017023            4         1          1             3            2
## 6 1017122            8        10         10             8            7
##   Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses     Class
## 1           1           3               1       1    benign
## 2          10           3               2       1    benign
## 3           2           3               1       1    benign
## 4           4           3               7       1    benign
## 5           1           3               1       1    benign
## 6          10           9               7       1 malignant
summary(BreastCancer)
##          Id       Cl.thickness   Cell.size     Cell.shape  Marg.adhesion
##  Length   :699   1      :145   1      :384   1      :353   1      :407  
##  N.unique :645   5      :130   10     : 67   2      : 59   2      : 58  
##  N.blank  :  0   3      :108   3      : 52   10     : 58   3      : 58  
##  Min.nchar:  5   4      : 80   2      : 45   3      : 56   10     : 55  
##  Max.nchar:  8   10     : 69   4      : 40   4      : 44   4      : 33  
##                  2      : 50   5      : 30   5      : 34   8      : 25  
##                  (Other):117   (Other): 81   (Other): 95   (Other): 63  
##   Epith.c.size  Bare.nuclei   Bl.cromatin  Normal.nucleoli    Mitoses   
##  2      :386   1      :402   2      :166   1      :443     1      :579  
##  3      : 72   10     :132   3      :165   10     : 61     2      : 35  
##  4      : 48   2      : 30   1      :152   3      : 44     3      : 33  
##  1      : 47   5      : 30   7      : 73   2      : 36     10     : 14  
##  6      : 41   3      : 28   4      : 40   8      : 24     4      : 12  
##  5      : 39   (Other): 61   5      : 34   6      : 22     7      :  9  
##  (Other): 66   NAs    : 16   (Other): 69   (Other): 69     (Other): 17  
##        Class    
##  benign   :458  
##  malignant:241  
##                 
##                 
##                 
##                 
## 
# Menghapus variabel Id
BreastCancer <- BreastCancer[,-1]

# Menghapus data yang memiliki NA
BreastCancer <- na.omit(BreastCancer)

# Mengubah variabel menjadi numerik
BreastCancer[,1:9] <- lapply(BreastCancer[,1:9], as.numeric)

Dataset BreastCancer terdiri atas 699 pengamatan dengan sembilan variabel prediktor dan satu variabel respons (Class), yaitu benign sebanyak 458 data dan malignant sebanyak 241 data. Variabel Id dihapus karena hanya berfungsi sebagai identitas data. Selanjutnya, 16 pengamatan yang memiliki nilai kosong dihapus, kemudian sembilan variabel prediktor diubah menjadi tipe numerik agar dapat digunakan pada pemodelan ANN regresi.

4.2 Pembagian Data Training dan Testing

set.seed(918);
nrow(BreastCancer)
## [1] 683
#Mengambil secara acak data untuk sampel sebanyak 80% data
index <-sample(1:nrow(BreastCancer), round(0.8*nrow(BreastCancer)))
train <-BreastCancer[index,]; nrow(train)
## [1] 546
test <-BreastCancer[-index,]; nrow(test)
## [1] 137

Berdasrkan hasil output, dataset Breast Cancer memiliki total 683 observasi setelah dilakukan pembersihan data. Pembagian data dilakukan secara acak menggunakan set.seed(918) dengan proporsi 80% untuk data training dan 20% untuk data testing. Hasil pembagian menunjukkan bahwa sebanyak 546 observasi digunakan sebagai data training, sedangkan 137 observasi digunakan sebagai data testing. Data training digunakan untuk proses pembelajaran model ANN, sementara data testing digunakan untuk mengukur kemampuan model dalam melakukan prediksi terhadap data baru.

4.3 ANN Regresi

i <-names(train)
form <-as.formula(paste("Bare.nuclei ~", paste(i[!i %in%
                                                   "Bare.nuclei"], collapse =" + ")))

## Sintaks Neural Networks

# Ada 10 hidden neuron dan maxit = 250
nn <-nnet.formula(form,size=10,data=train, linout = TRUE,
                  maxit = 250,trace = FALSE)

## hasil prediksi
predict_regresi <-predict(nn, newdata=test, type="raw")

#hasil evaluasi
error=test$Bare.nuclei-predict_regresi
abs(error)
##          [,1]
## 1   0.2404723
## 3   0.7595277
## 10  0.2404723
## 12  0.2404723
## 20  0.2404723
## 31  0.2404723
## 40  0.6551711
## 54  6.7595277
## 57  1.6551711
## 60  5.6551711
## 70  0.2404723
## 72  5.6551711
## 74  2.3448289
## 83  0.2404723
## 84  0.7595277
## 85  1.3448289
## 88  2.3448289
## 93  0.2404723
## 94  0.2404723
## 96  0.2404723
## 104 4.6551711
## 110 1.3448289
## 111 5.6525709
## 112 1.3448289
## 115 1.7595277
## 124 2.3448289
## 130 0.2404723
## 132 0.2404723
## 133 2.3448289
## 136 0.7595277
## 138 0.2404723
## 141 0.2404723
## 142 0.2404723
## 144 3.7595277
## 148 0.7595277
## 149 6.6551711
## 152 2.3448289
## 153 2.6551711
## 154 1.7595277
## 162 0.2404723
## 172 0.2404723
## 174 2.3448289
## 178 6.6551711
## 187 0.3448289
## 192 2.3448289
## 194 0.2404723
## 201 2.3448289
## 217 0.2404723
## 218 0.2404723
## 222 2.3448289
## 225 2.3448289
## 235 6.6551711
## 242 0.2404723
## 244 3.7595277
## 268 2.3448289
## 273 2.3448289
## 275 0.2404723
## 279 0.2404723
## 280 0.6551711
## 297 2.6551711
## 305 2.3448289
## 306 2.3448289
## 310 3.7595277
## 312 0.2404723
## 332 0.2404723
## 340 2.3448289
## 343 0.2404723
## 347 0.2404723
## 351 0.2404723
## 359 3.6551711
## 364 1.7595277
## 373 0.2404723
## 376 0.2404723
## 383 0.2404723
## 387 2.3448289
## 389 0.2404723
## 393 0.2404723
## 403 0.2404723
## 407 0.2404723
## 410 0.2404723
## 411 0.2404723
## 414 0.2404723
## 416 4.6551711
## 419 0.7595277
## 432 0.2404723
## 443 1.7595277
## 448 0.2404723
## 449 0.2404723
## 452 0.2404723
## 462 3.7595277
## 465 0.2404723
## 472 0.2404723
## 473 0.2404723
## 475 0.2404723
## 483 2.6551711
## 490 3.6551711
## 492 2.3448289
## 496 0.2404723
## 498 0.2404723
## 500 0.2404723
## 501 0.2404723
## 502 0.2404723
## 508 2.7595277
## 510 0.2404723
## 517 0.2404723
## 543 0.2404723
## 548 0.2404723
## 551 0.2404723
## 557 0.2404723
## 566 2.3448289
## 567 0.2404723
## 573 0.2404723
## 576 0.2404723
## 580 0.2404723
## 581 0.2404723
## 589 4.6551711
## 601 0.2404723
## 602 0.2404723
## 606 0.3448289
## 611 2.3448289
## 614 0.2404723
## 624 0.2404723
## 629 0.2404723
## 641 0.2404723
## 642 0.2404723
## 646 0.2404723
## 648 0.2404723
## 650 0.2404723
## 652 0.2404723
## 660 0.2404723
## 661 0.2404723
## 670 2.6551711
## 677 0.2404723
## 683 0.2404723
## 688 0.2404723
## 692 2.6551711
## 695 0.7595277
MAE=mean(abs(error)); MAE
## [1] 1.303875
RMSE=sqrt(mean((test$Bare.nuclei -
                  as.numeric(predict_regresi))^2)); RMSE
## [1] 2.092209

Model ANN regresi dibangun menggunakan sembilan variabel prediktor untuk memprediksi variabel Bare.nuclei, dengan 10 neuron pada lapisan tersembunyi dan maksimum 250 iterasi. Hasil prediksi diuji menggunakan data testing sebanyak 137 pengamatan. Evaluasi menghasilkan nilai MAE sebesar 1,303875 dan RMSE sebesar 2,092209. Nilai tersebut menunjukkan besarnya rata-rata kesalahan prediksi berdasarkan selisih nilai aktual dan prediksi. Semakin kecil nilai MAE dan RMSE, semakin baik kemampuan model menghasilkan prediksi yang mendekati nilai aktual.

4.4 Plot nnet

plotnet(nn)

Plot jaringan ANN menunjukkan arsitektur yang terdiri atas sembilan neuron input (I1–I9), sepuluh neuron tersembunyi (H1–H10), dan satu neuron output (O1). Lapisan input menerima sembilan variabel prediktor yang diteruskan ke setiap neuron tersembunyi melalui bobot koneksi. Selanjutnya, lapisan tersembunyi mengolah informasi berdasarkan bobot dan bias (B1), kemudian meneruskan hasilnya ke neuron output. Bias (B2) turut memengaruhi hasil akhir prediksi variabel Bare.nuclei. Ketebalan garis menggambarkan besar kecilnya bobot, sedangkan perbedaan warna menunjukkan tanda positif atau negatif. Arsitektur tersebut memperlihatkan bahwa prediksi dihasilkan melalui pengolahan hubungan antarvariabel secara bersamaan.

4.5 Bobot Neural

neuralweights(nn)
## $struct
## [1]  9 10  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1]  -9.6600825 -16.6897791 -10.7724098  -9.8910939  -9.9927194 -18.9693772
##  [7] -18.3227536 -12.4723171  -9.2701770   0.4548989
## 
## $wts$`hidden 1 2`
##  [1] -26.355042 -48.377970 -65.187571 -39.239858 -79.767641 -62.758161
##  [7] -57.398885 -33.976790 -35.893350  -4.520131
## 
## $wts$`hidden 1 3`
##  [1] 184.45347 760.98326 -82.91590  87.79127 -95.97278 210.58440 312.83365
##  [8] -70.08403 170.31761 -59.42010
## 
## $wts$`hidden 1 4`
##  [1] -18.7744102 -50.4865007 -19.7844033 -21.7283760 -22.4154514 -36.1494119
##  [7] -37.3638298 -20.5117806 -17.5786305   0.2755786
## 
## $wts$`hidden 1 5`
##  [1] -15.591009 -27.798593 -15.759585 -16.912075 -16.876211 -29.023337
##  [7] -33.856815 -15.407410 -17.293613  -0.129159
## 
## $wts$`hidden 1 6`
##  [1] -10.7009066 -30.1094885 -11.1124436 -13.6315437 -16.8751670 -22.0096165
##  [7] -19.2025765 -10.7993909 -12.6724617  -0.8006176
## 
## $wts$`hidden 1 7`
##  [1]  -8.3274914 -23.0794639  -8.8218766 -10.6617907  -9.8453910 -17.0230297
##  [7] -16.6037956  -9.7489655  -9.2337649  -0.1168353
## 
## $wts$`hidden 1 8`
##  [1]  -3.1454985 -12.8286188  -8.0633133  -8.7807800  -6.5751290  -8.3127597
##  [7]  -8.4943087  -5.9225955  -3.9094275  -0.7971432
## 
## $wts$`hidden 1 9`
##  [1]  861.93049  -26.83170 -128.04723   60.39760  -32.72154  120.49906
##  [7]  -73.09954 -190.79576  121.58244 -941.61148
## 
## $wts$`hidden 1 10`
##  [1]  -7.705537 -31.237027 -18.048916 -18.930230 -17.383314 -20.297174
##  [7] -20.197950 -15.988553 -10.014420  -2.372303
## 
## $wts$`out 1`
##  [1]  197.060324  -21.007314  -33.934327 -189.405153   13.503067  -15.526896
##  [7]  -10.514097  -27.535914   -1.016695   -6.414699   29.704000

Hasil neuralweights(nn) menunjukkan bobot koneksi jaringan ANN dengan struktur 9–10–1. Setiap neuron tersembunyi memiliki sembilan bobot koneksi dari neuron input dan satu bias. Bagian out 1 memuat sepuluh bobot koneksi dari neuron tersembunyi menuju neuron output. Nilai positif dan negatif menunjukkan arah bobot koneksi, sedangkan besar nilainya menggambarkan bobot yang dipelajari selama pelatihan. Nilai terakhir sebesar 29,704 merupakan bias pada neuron output. Seluruh bobot dan bias digunakan untuk menghasilkan prediksi variabel Bare.nuclei.

4.6 Plot the importance

olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Plot importance menunjukkan arah dan besarnya kontribusi setiap variabel prediktor terhadap hasil prediksi ANN. Batang ke atas menunjukkan nilai kepentingan positif, sedangkan batang ke bawah menunjukkan nilai negatif. Variabel Normal.nucleoli, Class, Cell.size, dan Marg.adhesion bernilai positif, sedangkan Cl.thickness, Bl.cromatin, Epith.c.size, Mitoses, dan Cell.shape bernilai negatif. Cl.thickness memiliki nilai negatif terbesar, sedangkan Marg.adhesion memiliki nilai positif tertinggi. Semakin jauh batang dari angka nol, semakin besar nilai absolut kepentingannya

4.7 Ada 10 hidden neuron dan maxit = 500

nn <-nnet.formula(form,size=10,data=train, linout = TRUE,
                  maxit = 500,trace = FALSE)

## hasil prediksi
predict_regresi <-predict(nn, newdata=test, type="raw")

#hasil evaluasi
error=test$Bare.nuclei-predict_regresi
abs(error)
##             [,1]
## 1   4.783031e-02
## 3   9.521697e-01
## 10  4.783031e-02
## 12  4.783031e-02
## 20  4.783031e-02
## 31  4.783031e-02
## 40  4.529912e+00
## 54  3.708344e-01
## 57  5.954263e-01
## 60  9.737375e+00
## 70  4.784288e-02
## 72  6.370834e+00
## 74  8.837410e-02
## 83  1.873579e+00
## 84  8.777128e-02
## 85  6.291656e-01
## 88  1.629166e+00
## 93  4.783031e-02
## 94  4.783031e-02
## 96  5.788927e-01
## 104 2.941719e+00
## 110 2.054635e+00
## 111 2.206908e+00
## 112 6.291656e-01
## 115 1.264210e-01
## 124 5.884030e+00
## 130 2.523761e+00
## 132 4.783031e-02
## 133 9.170864e+00
## 136 9.521697e-01
## 138 4.783031e-02
## 141 4.783031e-02
## 142 4.783031e-02
## 144 3.952170e+00
## 148 9.521697e-01
## 149 4.404574e+00
## 152 5.884030e+00
## 153 1.945365e+00
## 154 1.952170e+00
## 162 4.783031e-02
## 172 5.788927e-01
## 174 1.629166e+00
## 178 7.370834e+00
## 187 1.911626e+00
## 192 8.837410e-02
## 194 5.788927e-01
## 201 4.595426e+00
## 217 4.783031e-02
## 218 5.788927e-01
## 222 4.595426e+00
## 225 3.054635e+00
## 235 4.783031e-02
## 242 1.588622e+00
## 244 4.737977e+00
## 268 9.930794e+00
## 273 9.930794e+00
## 275 4.783031e-02
## 279 5.788927e-01
## 280 2.985909e+00
## 297 4.045737e-01
## 305 7.630072e+00
## 306 4.595426e+00
## 310 2.912229e+00
## 312 4.783031e-02
## 332 4.783031e-02
## 340 8.837410e-02
## 343 4.783031e-02
## 347 4.783031e-02
## 351 4.783031e-02
## 359 1.404574e+00
## 364 1.952170e+00
## 373 4.783031e-02
## 376 4.783031e-02
## 383 4.783031e-02
## 387 3.748302e+00
## 389 4.783031e-02
## 393 4.783031e-02
## 403 4.783031e-02
## 407 4.783031e-02
## 410 4.783031e-02
## 411 4.783031e-02
## 414 4.783031e-02
## 416 3.945365e+00
## 419 9.521697e-01
## 432 4.404574e+00
## 443 2.000015e+00
## 448 4.783031e-02
## 449 4.783031e-02
## 452 4.783031e-02
## 462 3.952170e+00
## 465 4.783031e-02
## 472 1.588622e+00
## 473 4.783031e-02
## 475 4.783031e-02
## 483 3.370834e+00
## 490 1.839840e+00
## 492 5.574051e+00
## 496 4.783031e-02
## 498 4.783031e-02
## 500 4.783031e-02
## 501 4.783031e-02
## 502 4.783031e-02
## 508 2.952170e+00
## 510 4.783031e-02
## 517 4.783031e-02
## 543 4.783031e-02
## 548 4.783031e-02
## 551 4.783031e-02
## 557 4.783031e-02
## 566 8.837410e-02
## 567 4.783031e-02
## 573 4.783031e-02
## 576 4.783031e-02
## 580 5.788927e-01
## 581 4.783031e-02
## 589 5.370834e+00
## 601 4.783031e-02
## 602 4.783031e-02
## 606 1.054635e+00
## 611 8.837410e-02
## 614 4.783031e-02
## 624 4.783031e-02
## 629 4.783031e-02
## 641 4.783031e-02
## 642 4.783031e-02
## 646 4.783031e-02
## 648 1.508027e-05
## 650 4.783031e-02
## 652 4.783031e-02
## 660 4.783031e-02
## 661 4.783031e-02
## 670 3.370834e+00
## 677 4.783031e-02
## 683 4.783031e-02
## 688 4.783031e-02
## 692 3.370834e+00
## 695 9.521697e-01
MAE=mean(abs(error)); MAE
## [1] 1.453678
RMSE=sqrt(mean((test$Bare.nuclei -
                  as.numeric(predict_regresi))^2)); RMSE
## [1] 2.709384
## plot nnet
plotnet(nn)

#get the neural weights
neuralweights(nn)
## $struct
## [1]  9 10  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1]  3540.7803   256.4611  -225.3182  -421.1849   586.7929  2653.3884
##  [7] -2352.1776  1274.2030  -610.0589  4709.8460
## 
## $wts$`hidden 1 2`
##  [1]  4256.5903  -319.9327  1574.2595 -1805.5980 12131.0867 -1279.7777
##  [7] -1391.6325   570.9324 -1557.1297  5622.0440
## 
## $wts$`hidden 1 3`
##  [1] 24518.5549 -1327.2738   367.9718  -624.2783 -1400.3608 -2093.7708
##  [7] -1571.6282  -978.4628  1178.5375  2451.5144
## 
## $wts$`hidden 1 4`
##  [1] -12777.4230   3067.5093  -7174.1487   1226.7799   5507.4451  -7525.3055
##  [7]    788.1351   2525.4796  -2243.4088  15152.6308
## 
## $wts$`hidden 1 5`
##  [1]   5111.8188   2116.7967   -454.6891  -1183.1593  -3102.4058  -1381.1011
##  [7]   2392.7071   3820.8284  -1116.6394 -28021.5037
## 
## $wts$`hidden 1 6`
##  [1]   723.04972  2029.15696 -1227.89822  3499.74937   574.18195    70.71049
##  [7] -2589.18335    10.83554  2018.65286  1282.90777
## 
## $wts$`hidden 1 7`
##  [1]  -9938.374356  -1791.296416  -2753.586097  -1521.050521   7394.512144
##  [6]   4629.025589 -12681.145164  -2764.310690      7.768747   4784.806413
## 
## $wts$`hidden 1 8`
##  [1]  1187.35227    65.89011 -5112.90592   347.61131   683.12336  2153.67288
##  [7] -3482.52736  -903.78464   296.31551  -318.48417
## 
## $wts$`hidden 1 9`
##  [1]  -851.68353   199.47036   551.48464  -239.42304 -1415.37535   -69.64885
##  [7]   420.03351  -422.77755   -92.30587   -26.24796
## 
## $wts$`hidden 1 10`
##  [1] 12.6021822 21.1501521 14.8667112 14.3092901 14.5793498 30.0021509
##  [7] 12.6741411 14.9164307 14.1563290 -0.1331828
## 
## $wts$`out 1`
##  [1] -0.9460916  3.9448851  4.2548641 -4.3567433  1.5407915 -2.9662608
##  [7] -3.1590773 -7.5416981  2.6946250  1.8257487  4.2762542
# Plot the importance
olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Model ANN regresi menggunakan arsitektur 9–10–1 dengan 9 neuron input, 10 hidden neuron, dan 1 neuron output untuk memprediksi Bare.nuclei. Bias membantu menyesuaikan hasil perhitungan jaringan. Hasil evaluasi menunjukkan MAE sebesar 1,453678 dan RMSE sebesar 2,709384. Hasil neuralweights(nn) menunjukkan bobot pada setiap hubungan antarneuron. Bobot positif dan negatif menentukan arah pembobotan sinyal, sedangkan besar nilainya menunjukkan kekuatan pembobotan dalam menghasilkan prediksi.

4.8 Ada 20 hidden neuron dan maxit = 250

nn <-nnet.formula(form,size=20,data=train, linout = TRUE,
                  maxit = 250,trace = FALSE)

## hasil prediksi
predict_regresi <-predict(nn, newdata=test, type="raw")

#hasil evaluasi
error=test$Bare.nuclei-predict_regresi
abs(error)
##            [,1]
## 1    0.06792471
## 3    0.66963352
## 10   0.09950203
## 12   0.52045937
## 20   0.14111785
## 31   0.02422723
## 40   1.29036301
## 54   1.60796942
## 57   0.91682399
## 60   7.37599532
## 70   2.25902375
## 72   7.48048078
## 74   2.95178631
## 83   1.23977773
## 84   1.07702204
## 85   2.23555153
## 88   3.09198379
## 93   0.23744128
## 94   0.23053313
## 96   0.38532861
## 104  2.22234422
## 110  0.19992585
## 111  4.84369379
## 112  2.88148853
## 115  1.84170113
## 124  0.22011290
## 130  1.86569419
## 132  0.08919397
## 133  3.20695260
## 136  1.81725518
## 138  0.16024105
## 141  0.16024105
## 142  0.09787755
## 144  3.76767300
## 148  0.52733411
## 149  0.71840376
## 152  3.03324035
## 153  1.39663438
## 154  1.77676637
## 162  0.39392092
## 172  0.38532861
## 174  0.51951922
## 178  5.76613367
## 187  4.42702383
## 192 10.92722040
## 194  0.38532861
## 201  0.80004435
## 217  0.23053313
## 218  0.38532861
## 222  3.25219788
## 225  0.79904193
## 235  4.47831004
## 242  0.26021686
## 244  3.90780269
## 268  1.46501986
## 273  1.46501986
## 275  0.16507508
## 279  0.38532861
## 280  5.01423947
## 297  3.60068180
## 305  1.29741591
## 306  0.95052022
## 310  4.05973693
## 312  0.23232700
## 332  0.36632234
## 340  1.60947418
## 343  0.09787755
## 347  1.81303456
## 351  0.29082949
## 359  1.80971202
## 364  1.19423011
## 373  0.06633281
## 376  0.23232700
## 383  2.24385771
## 387  1.33575946
## 389  0.50905463
## 393  0.07625192
## 403  0.18032769
## 407  0.05085110
## 410  0.93207589
## 411  0.23053313
## 414  0.12247320
## 416  2.85291524
## 419  1.44724405
## 432  0.22602787
## 443  1.80410127
## 448  0.15262597
## 449  0.43911158
## 452  0.15262597
## 462  3.83975895
## 465  0.22323363
## 472  0.43030006
## 473  1.42826107
## 475  0.15262597
## 483  4.52704547
## 490  8.07614714
## 492  1.65199367
## 496  0.02422723
## 498  0.22583081
## 500  0.29283632
## 501  0.14111785
## 502  0.29283632
## 508  2.76767300
## 510  0.09787755
## 517  0.43911158
## 543  0.17891007
## 548  1.06892782
## 551  0.07625192
## 557  2.20889021
## 566  3.48920356
## 567  0.15902627
## 573  0.07625192
## 576  0.12247320
## 580  0.38532861
## 581  0.81171900
## 589  6.79885366
## 601  0.07625192
## 602  0.07068172
## 606  1.20003603
## 611  0.08238962
## 614  0.44694382
## 624  0.23232700
## 629  0.09787755
## 641  0.63929483
## 642  0.07625192
## 646  0.07625192
## 648  0.19589873
## 650  0.07625192
## 652  0.17844852
## 660  0.23232700
## 661  0.23053313
## 670  6.87811138
## 677  0.23411343
## 683  0.69368946
## 688  1.89008709
## 692  4.21509724
## 695  1.12959778
MAE=mean(abs(error)); MAE
## [1] 1.455899
RMSE=sqrt(mean((test$Bare.nuclei -
                  as.numeric(predict_regresi))^2)); RMSE
## [1] 2.417498
## plot nnet
plotnet(nn)

#get the neural weights
neuralweights(nn)
## $struct
## [1]  9 20  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1]  -2.80192199  -4.64846869   4.38533011   0.09578437   1.33462551
##  [6]   3.94848324  -3.15006768   3.19685663  -3.13942707 -21.28069544
## 
## $wts$`hidden 1 2`
##  [1]  7.7714112 10.8865111  0.6448000  0.5196476  2.2227723  9.1962321
##  [7]  5.9045967  3.3734186  5.7322867 -2.1364283
## 
## $wts$`hidden 1 3`
##  [1] -11.9724869  -4.4966504  13.1670070  -2.9769597   8.1036575  -0.5795034
##  [7]  -6.5260454  -8.3417656   2.1794058  15.0640835
## 
## $wts$`hidden 1 4`
##  [1]  32.183182   8.157594 -19.854989  -2.613644   9.276488  18.427936
##  [7]   2.469664 -21.149740  -9.252116  -9.366758
## 
## $wts$`hidden 1 5`
##  [1] -1.6421567 -1.1454823 -5.0184419  3.5869603  2.3314766  0.4280418
##  [7] -1.8306398 -0.6849546  5.9317461 19.9871397
## 
## $wts$`hidden 1 6`
##  [1]  -2.5921998   5.2496357  -4.7389825  -2.4773297  -4.3722621  12.4792934
##  [7] -13.4568662  -2.9230676  -0.1473671   1.1022448
## 
## $wts$`hidden 1 7`
##  [1] -26.1140621   0.7944293   4.3440995  -3.0208269  -0.6700622  10.4981156
##  [7]   2.2523898  -4.6691743  20.3970306 -12.6230211
## 
## $wts$`hidden 1 8`
##  [1]  17.3460946  -0.8539139   6.9895346  -4.5231367  -6.0329370   4.2538000
##  [7]  -2.0179657  -1.9270806 -12.8250522  -1.0786725
## 
## $wts$`hidden 1 9`
##  [1] 20.66509860 -1.30947766 -2.71958402  1.35833784 -2.10507487  0.01239059
##  [7] -0.64534880 -3.38526819  4.49243305 -9.03288683
## 
## $wts$`hidden 1 10`
##  [1] -21.8332773  -4.7979900   2.0684240   4.1315436   0.6275904  -3.6624848
##  [7]   2.4822423  -1.4382511  -6.0152971 -10.2642110
## 
## $wts$`hidden 1 11`
##  [1] -0.9338322  0.5549012  1.9086672 -4.5875699  3.0902895  1.3973062
##  [7] -2.3099772 -2.3621094 -9.3746328 -0.7542007
## 
## $wts$`hidden 1 12`
##  [1] -4.0230488 -2.0121007  5.9999055 -6.0206505 -0.8909611  4.7924683
##  [7]  0.3488889 -2.6064445 20.0014866 14.8473511
## 
## $wts$`hidden 1 13`
##  [1]   8.993389   2.464121   4.341584   4.201267   2.107021  -5.334829
##  [7]   3.698793  -6.146696 -14.298828 -21.896160
## 
## $wts$`hidden 1 14`
##  [1]  16.1298016  15.0781339  -2.4950726   1.3007400  -0.7566196  -0.2478926
##  [7]  -6.9063566  11.5081143   0.8451791 -13.1936741
## 
## $wts$`hidden 1 15`
##  [1]  -2.0861548 -11.2123497  -3.2499151  -5.5379460   1.6497762   0.6096624
##  [7]   1.9375007  -6.0714983   3.0227318   2.8018169
## 
## $wts$`hidden 1 16`
##  [1] 12.6868028  2.3182888 -6.4951651 -3.6912367 -4.2856561 -4.0276333
##  [7]  4.1301497 -8.2488841  0.4776468 29.7796443
## 
## $wts$`hidden 1 17`
##  [1]  24.590279   3.252118  21.701086   4.335011   1.177332 -17.814012
##  [7]   1.079878 -27.574625   6.411140  17.940045
## 
## $wts$`hidden 1 18`
##  [1]  15.1191997   1.1551024  -0.8521274   3.9096035   0.3927894  -8.9594770
##  [7] -19.7598671   4.5227783  -0.9097484  -0.5141482
## 
## $wts$`hidden 1 19`
##  [1]  -2.310684   7.586727   1.579994   6.936870  -5.058503 -20.288097
##  [7] -11.282545 -21.812413  -8.641190  -2.277080
## 
## $wts$`hidden 1 20`
##  [1]  -2.9137031   4.4940645  -4.0315632  -1.9531408  -3.7345952  10.8555113
##  [7] -11.7458365  -1.4398453  -0.7515635   6.1805402
## 
## $wts$`out 1`
##  [1]   2.6778038  -2.4355510   0.9163402   2.7160332  -1.5066170   3.7033796
##  [7]   6.3563281   3.4573419   2.5393922  -5.0324293 -11.4875309  -6.4746145
## [13]   2.6812686   2.4152672  -4.2361355  -5.8340779   2.2369677  -2.6874357
## [19]   3.1089520  -3.4469321  -6.8051115
# Plot the importance
olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Model ANN regresi menggunakan arsitektur 9–20–1 dengan 9 neuron input, 20 hidden neuron, dan 1 neuron output serta 250 iterasi (maxit). Hasil evaluasi menunjukkan MAE sebesar 1,455899 dan RMSE sebesar 2,417498.Dibandingkan model sebelumnya dengan arsitektur 9–10–1 dan 500 iterasi, MAE sedikit meningkat dari 1,453678 menjadi 1,455899, sedangkan RMSE menurun dari 2,709384 menjadi 2,417498. Artinya, model kedua menghasilkan kesalahan prediksi yang lebih rendah berdasarkan RMSE, meskipun nilai MAE-nya sedikit lebih tinggi.

4.9 Ada 20 hidden neuron dan maxit = 500

nn <-nnet.formula(form,size=20,data=train, linout = TRUE,
                  maxit = 500,trace = FALSE)

## hasil prediksi
predict_regresi <-predict(nn, newdata=test, type="raw")

#hasil evaluasi
error=test$Bare.nuclei-predict_regresi
abs(error)
##            [,1]
## 1    0.14247335
## 3    0.85752665
## 10   0.14247335
## 12   0.14247335
## 20   0.14247335
## 31   0.14247335
## 40   0.72121063
## 54   1.00386371
## 57   0.27878937
## 60   7.00386371
## 70   0.14247335
## 72   7.00386371
## 74   3.72121063
## 83   0.14247335
## 84   0.85752665
## 85   0.79181356
## 88   3.72121063
## 93   0.14247335
## 94   0.14247335
## 96   0.14247335
## 104  6.00386371
## 110  2.72121063
## 111  1.54503421
## 112  0.00386371
## 115  1.85752665
## 124  0.99613629
## 130  7.26787775
## 132  0.14247335
## 133  7.43263426
## 136  0.85752665
## 138  0.14247255
## 141  0.14247255
## 142  0.14247335
## 144  3.85752820
## 148  0.85752665
## 149 51.12766363
## 152  4.61698862
## 153  1.27878937
## 154  1.85753023
## 162  0.14247335
## 172  0.14247335
## 174  3.72121063
## 178  5.27878937
## 187  1.79181356
## 192  3.72121063
## 194  0.14247335
## 201  3.72121063
## 217  0.14247335
## 218  0.14247335
## 222  3.72121063
## 225  3.72121063
## 235  0.54428436
## 242  0.14247335
## 244  3.85752665
## 268  3.03445293
## 273  3.03445293
## 275  0.14247335
## 279  0.14247335
## 280  3.81921001
## 297  1.27878937
## 305  0.99613629
## 306  3.72121063
## 310  3.85752665
## 312  0.14247180
## 332  0.14247335
## 340  0.99613629
## 343  0.14247335
## 347  2.18078999
## 351  0.14247483
## 359  2.27878937
## 364  1.85752665
## 373  0.14247335
## 376  0.14247180
## 383  0.14247335
## 387  1.45074622
## 389  0.14247335
## 393  0.14247335
## 403  0.14247335
## 407  0.14247335
## 410  0.14247335
## 411  0.14247335
## 414  0.14247335
## 416  6.79181356
## 419  0.85752665
## 432  2.18078999
## 443  2.01180036
## 448  0.14245729
## 449  0.14246910
## 452  0.14245729
## 462  3.85752745
## 465  0.14246977
## 472  0.14247441
## 473  0.14247335
## 475  0.14245729
## 483  4.00386371
## 490  5.00386371
## 492  0.99613629
## 496  0.14247335
## 498  0.10138468
## 500  0.14247335
## 501  0.14247335
## 502  0.14247335
## 508  2.85752820
## 510  0.14247335
## 517  0.14246910
## 543  0.03984924
## 548  0.14247112
## 551  0.14247335
## 557  0.14247335
## 566  0.20818644
## 567  0.14247335
## 573  0.14247335
## 576  0.14247335
## 580  0.14247335
## 581  0.14247335
## 589  6.00382258
## 601  0.14247335
## 602  0.14246965
## 606  1.00386371
## 611  0.99613629
## 614  0.14246543
## 624  0.14247180
## 629  0.14247335
## 641  0.14247541
## 642  0.14247335
## 646  0.14247335
## 648  0.01180036
## 650  0.14247335
## 652  2.58259772
## 660  0.14247180
## 661  0.14247335
## 670  4.79181356
## 677  0.14247335
## 683  0.14247335
## 688  2.13314973
## 692  1.27878937
## 695  0.85925024
MAE=mean(abs(error)); MAE
## [1] 1.718039
RMSE=sqrt(mean((test$Bare.nuclei -
                  as.numeric(predict_regresi))^2)); RMSE
## [1] 4.935971
## plot nnet
plotnet(nn)

#get the neural weights
neuralweights(nn)
## $struct
## [1]  9 20  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1]  -5.845874 -41.135071 -10.250488  -9.053323  14.970828 -39.203543
##  [7]  -8.626803  -8.302574  15.873182  -1.777485
## 
## $wts$`hidden 1 2`
##  [1] -155.0235914   -0.3313428   26.0358001  -16.3438755   14.7497019
##  [6]   31.0707803  -26.5666961   36.6364768   16.3909461  126.9883103
## 
## $wts$`hidden 1 3`
##  [1] -0.09837272  1.73452429  3.05550936  2.47916541  1.61178592  1.18310285
##  [7]  0.91779818  2.03292072  0.26437952  1.12768192
## 
## $wts$`hidden 1 4`
##  [1]  298.55839  190.68406  -90.89895   23.58988 -173.41739   72.26900
##  [7]  107.73544 -149.10388   18.89745  722.63893
## 
## $wts$`hidden 1 5`
##  [1]  2.2601968  3.9252974  1.9628266  1.9426992  1.9592976  3.3583537
##  [7]  3.6110103  1.8621210  1.8372845 -0.4182084
## 
## $wts$`hidden 1 6`
##  [1] 0.3690997 1.9450061 1.6301857 1.4855863 1.7193679 1.7033155 1.4846896
##  [8] 1.6336648 1.6797175 0.4191822
## 
## $wts$`hidden 1 7`
##  [1] 1.4446215 2.5972359 0.7097709 0.5123345 1.8159496 1.3185409 1.8699691
##  [8] 1.8325963 0.5142013 0.4662750
## 
## $wts$`hidden 1 8`
##  [1] 0.5628932 1.9853429 1.6206539 2.1170147 1.8538302 1.5948681 1.6373803
##  [8] 1.6749516 0.4858600 0.8319205
## 
## $wts$`hidden 1 9`
##  [1]  -65.71572 -311.91700  289.47439  -53.46712   95.25993  -46.51288
##  [7] -135.21943  420.60170 -462.73369  110.70375
## 
## $wts$`hidden 1 10`
##  [1] -409.640017   -8.348750   37.456908   -6.495443   70.877537   11.555959
##  [7]   18.973560   26.758887  -49.030211  223.625973
## 
## $wts$`hidden 1 11`
##  [1] -0.3780789 -1.4996812 -9.3656575 12.0187775 16.0521152 -7.6841127
##  [7] 14.9384761  7.3705155 -5.9315684  7.1328144
## 
## $wts$`hidden 1 12`
##  [1] -0.9007725 -5.6442217 -3.2069719 -3.5797805 -3.6932288 -4.0948712
##  [7] -3.5535053 -2.6598582 -2.2228277  0.4720927
## 
## $wts$`hidden 1 13`
##  [1]  0.1252906 -1.7843472 -1.3275026 -1.8274995 -2.4583522 -1.5690789
##  [7] -2.0429442 -1.9697787 -1.1594787 -0.1137990
## 
## $wts$`hidden 1 14`
##  [1]  1.9980959  3.7477296  0.7621181  1.5945139  0.6780444  2.4635978
##  [7]  1.9780786  0.6932242  2.1397017 -0.7354246
## 
## $wts$`hidden 1 15`
##  [1]  1.707405 -1.960588 -4.512765 -5.077331 -4.114203 -1.397997 -1.916491
##  [8] -3.475306  1.007858 -1.442346
## 
## $wts$`hidden 1 16`
##  [1]  47.01412704  -9.95385238 -37.68828693 -57.74590941  14.61461559
##  [6]  -2.40844310   0.09479855  10.27870273   3.07462429  30.69458148
## 
## $wts$`hidden 1 17`
##  [1]    6.909265   45.846233  -70.950735   61.166700 -128.477828  -59.088967
##  [7]  216.029300   44.711992  226.505678   46.322438
## 
## $wts$`hidden 1 18`
##  [1] -4.10904506 -5.25848352 -0.95787293 -1.16757102 -1.26343194 -4.96021411
##  [7] -4.36468316 -2.82669749 -3.06482370  0.05263539
## 
## $wts$`hidden 1 19`
##  [1] -0.02219148  2.29564144  2.58093489  2.79027121  2.36819315  1.87902788
##  [7]  2.25301165  2.11372744  0.47021096  0.82381509
## 
## $wts$`hidden 1 20`
##  [1]  -6.0376247  -7.8561570  -8.1240320  -6.4517703 -39.8942807   9.5014937
##  [7] -10.1143220  -7.9349522 -19.0946566  -0.7418183
## 
## $wts$`out 1`
##  [1]  -1.0517592  32.8224370   2.0383166   6.6905991  -3.5130242  -4.6802359
##  [7]   0.9186937  -2.6118191  -1.0619893  -2.7250743   5.8230737   2.2224492
## [13]   3.1968119  -0.7711442  -5.4174089  -0.4893163 -56.4064530   7.2244478
## [19]   2.2520369   2.4225201 -63.8484320
# Plot the importance
olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Model ANN regresi menggunakan arsitektur 9–20–1 dengan 9 neuron input, 20 hidden neuron, dan 1 neuron output serta 500 iterasi (maxit). Hasil evaluasi menunjukkan MAE sebesar 1,718039 dan RMSE sebesar 4,935971. Berdasarkan plotnet() dan neuralweights(), jaringan memiliki 20 neuron tersembunyi dengan bobot dan bias yang menghubungkan setiap lapisan. Dibandingkan model sebelumnya dengan arsitektur 9–20–1 dan 250 iterasi, MAE meningkat dari 1,455899 menjadi 1,718039, sedangkan RMSE meningkat dari 2,417498 menjadi 4,935971. Artinya, peningkatan iterasi menjadi 500 belum meningkatkan kinerja model karena menghasilkan kesalahan prediksi yang lebih besar.

4.10 Ada 30 hidden neuron dan maxit = 250

nn <-nnet.formula(form,size=30,data=train, linout = TRUE,
                  maxit = 250,trace = FALSE)

## hasil prediksi
predict_regresi <-predict(nn, newdata=test, type="raw")

#hasil evaluasi
error=test$Bare.nuclei-predict_regresi
abs(error)
##             [,1]
## 1    0.039898917
## 3    0.662745976
## 10   0.066489144
## 12   0.061040354
## 20   0.252148410
## 31   0.155248087
## 40   4.518553873
## 54   1.899804944
## 57   0.523901114
## 60  11.092094108
## 70   3.202404768
## 72  12.040689107
## 74   1.709089402
## 83   1.426554600
## 84   5.176305457
## 85   0.628620614
## 88   0.197379163
## 93   0.021978404
## 94   0.137774341
## 96   0.589840838
## 104 11.933361168
## 110  2.368127443
## 111 11.062716723
## 112  2.126963431
## 115  1.413782633
## 124  1.879377509
## 130  3.927990767
## 132  0.042265983
## 133  0.382699112
## 136  0.840936287
## 138  0.162439125
## 141  0.162439125
## 142  0.704105541
## 144  3.770077543
## 148  1.110240823
## 149 11.080298404
## 152  2.043826788
## 153  0.887376753
## 154  1.832626575
## 162  0.387356029
## 172  0.589840838
## 174  0.155704779
## 178  3.303505082
## 187  6.424644945
## 192  1.709363220
## 194  0.589840838
## 201  5.484584633
## 217  0.137774341
## 218  0.589840838
## 222  2.625546654
## 225  5.279637566
## 235  1.881433164
## 242  1.609312968
## 244 17.468335020
## 268  0.461349727
## 273  0.461349727
## 275  0.277937220
## 279  0.589840838
## 280  3.679028884
## 297  3.905179960
## 305  1.736374399
## 306  3.805159059
## 310  1.197055763
## 312  0.229922457
## 332  2.575254045
## 340  1.878296572
## 343  0.704105541
## 347  0.903883146
## 351  0.021836345
## 359  2.840239885
## 364  3.392856165
## 373  0.522888228
## 376  0.229922457
## 383  0.702076807
## 387  2.228239781
## 389  0.192898267
## 393  0.027342063
## 403  2.030349252
## 407  0.674352591
## 410  0.183139911
## 411  0.137774341
## 414  0.408234186
## 416  7.835050590
## 419  2.884968395
## 432  4.952680685
## 443  1.563789265
## 448  0.040583935
## 449  0.157110947
## 452  0.040583935
## 462  3.837560875
## 465  0.167373425
## 472  0.020716455
## 473  0.902469699
## 475  0.040583935
## 483  2.350276378
## 490  3.468444018
## 492  7.034193448
## 496  0.155248087
## 498  0.704863523
## 500  0.003821279
## 501  0.252148410
## 502  0.003821279
## 508  2.770077543
## 510  0.704105541
## 517  0.157110947
## 543  0.674824998
## 548  0.381545999
## 551  0.027342063
## 557  1.419155117
## 566  1.513223470
## 567  0.221111438
## 573  0.027342063
## 576  0.408234186
## 580  0.589840838
## 581  1.576716853
## 589  4.519573253
## 601  0.027342063
## 602  0.070975000
## 606  3.075379655
## 611  0.844278243
## 614  2.065011264
## 624  0.229922457
## 629  0.704105541
## 641  2.275019761
## 642  0.027342063
## 646  0.027342063
## 648  0.436210735
## 650  0.027342063
## 652  2.015782654
## 660  0.229922457
## 661  0.137774341
## 670  2.249229710
## 677  0.018121391
## 683  0.866089624
## 688  1.274317507
## 692  3.857500074
## 695  0.620352278
MAE=mean(abs(error)); MAE
## [1] 1.889443
RMSE=sqrt(mean((test$Bare.nuclei -
                  as.numeric(predict_regresi))^2)); RMSE
## [1] 3.38083
## plot nnet
plotnet(nn)

#get the neural weights
neuralweights(nn)
## $struct
## [1]  9 30  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1] -21.5767526  -8.4786115   9.8066425  -4.1241391   4.9582581   1.2847654
##  [7]  -5.3666345   2.0145326  -0.1226061 -21.7125981
## 
## $wts$`hidden 1 2`
##  [1]  3.8915723  2.7709649 -3.2075787  4.7042975 -2.2660954  6.7425885
##  [7] -3.2676138  2.5608563 -0.9859100 -0.3273079
## 
## $wts$`hidden 1 3`
##  [1] -1.5981986 18.0539854  7.4868097  1.2406710 -7.1444437  0.1735186
##  [7] -6.4290519 10.2356168  0.5280415 -1.4154872
## 
## $wts$`hidden 1 4`
##  [1]   9.2287709   0.9400746  10.3249748   6.7609441 -13.9150354 -17.0825391
##  [7]  -1.9939045  12.3243501   5.0491437   9.3543862
## 
## $wts$`hidden 1 5`
##  [1] -33.2949230  -0.3042426   1.7494759  -0.6097792   2.9939427   2.0053673
##  [7]   1.7460038   4.3195861  -6.0025035  17.9906184
## 
## $wts$`hidden 1 6`
##  [1] -2.7472210 -2.2530495 -6.6104733  0.6691595  8.7194747 -1.5070843
##  [7] -3.8527573 -8.1722139 16.0695688 -6.4106124
## 
## $wts$`hidden 1 7`
##  [1] -26.8126436  -2.0227924  -1.4791744   4.9605556   8.0450052   0.8088999
##  [7]  -2.8669468  -2.8882544   6.3079301 -16.7610358
## 
## $wts$`hidden 1 8`
##  [1] -16.3348525   1.0766247   0.3386590   0.8805299   0.4526906  10.3681630
##  [7]   2.0055509  -4.1225377   0.5681991   4.6164055
## 
## $wts$`hidden 1 9`
##  [1] -11.898644   1.293867   5.152723   3.671195   3.203285 -11.740700
##  [7]   6.825080  -5.704236 -13.372313  -1.625477
## 
## $wts$`hidden 1 10`
##  [1]   7.0866509  -0.9828026  -0.5722697   2.4753956  -4.6247703  -1.2432980
##  [7]  -0.4859908   2.5399664 -13.5084728   6.2014052
## 
## $wts$`hidden 1 11`
##  [1]  22.6636695   1.2277564  -6.4611417   9.7211247   0.6418689 -23.7385097
##  [7]   9.4450701  -7.5374608  22.5622934  23.7697972
## 
## $wts$`hidden 1 12`
##  [1]  -1.2447159  -2.1960629   0.3190295 -11.0921055  -5.4484235  -0.6699111
##  [7]   8.2617390   3.0196874  -7.8225033  14.3448628
## 
## $wts$`hidden 1 13`
##  [1]  11.7935277  -0.7537620   4.3113436   4.6328162  -2.3985505  -3.3031367
##  [7]  -0.5385307  -0.6584960  -9.8737224 -35.4874788
## 
## $wts$`hidden 1 14`
##  [1]   3.789755   1.983736   5.158297  15.449093 -18.796000  -2.285845
##  [7]  13.214396  -2.511895 -10.638404  -8.755652
## 
## $wts$`hidden 1 15`
##  [1]  -6.9304977  -6.9502711  -0.1668688   8.2837562   5.0295829   5.5505385
##  [7]  -2.4110045   9.9581269 -11.9106035 -14.7569325
## 
## $wts$`hidden 1 16`
##  [1]  17.4339086   0.5619657 -12.2948539   6.1323802  20.0462015   4.6635335
##  [7]  -4.9763438  -0.6184863   2.0995487   2.6646450
## 
## $wts$`hidden 1 17`
##  [1]  -0.7253853 -20.1715758  -1.9086561  -8.9289068   7.3429985   5.8566735
##  [7]   5.6214455 -15.5633129  -7.8499790   6.9348047
## 
## $wts$`hidden 1 18`
##  [1] 10.1979088  0.5689349 -3.1616186  4.4978936 -2.6619055 -0.8254893
##  [7]  1.3122353  3.2386300  6.8037862 -6.0417858
## 
## $wts$`hidden 1 19`
##  [1] -16.104265   1.733473  -1.565655  -6.571965   7.084168  10.572589
##  [7]  -1.161859   2.358352  -7.356496  11.139861
## 
## $wts$`hidden 1 20`
##  [1]  -1.5436011  -0.2799488  -7.3237349   7.0039792   6.9181769  -8.8821891
##  [7]   2.0518979   9.4454888   2.5971706 -19.0681491
## 
## $wts$`hidden 1 21`
##  [1]   7.2913904  -1.5226979  -3.7668206   2.8445942  -1.2011914  -2.6096765
##  [7]  -0.5968773   3.3175465 -10.1263342   0.6884228
## 
## $wts$`hidden 1 22`
##  [1]  9.30455892  6.70418287 -4.38607629  5.05585851 -2.79774519 11.28756225
##  [7] -7.54517440 -0.09005744  9.90652025  0.35680356
## 
## $wts$`hidden 1 23`
##  [1] -3.64418651  0.22375036 -3.74479561  1.08831915 -0.61117055  1.17941368
##  [7]  0.23449777 -0.63470481 -0.02306168 -0.29198071
## 
## $wts$`hidden 1 24`
##  [1]  11.5964288   9.6871690  -8.6257484  -1.2497516 -20.1685858  -0.5016592
##  [7]  10.5281185  16.7184828  -6.2267578  12.3848643
## 
## $wts$`hidden 1 25`
##  [1] -2.8164086 -3.9983566 -0.6587248  4.5999915 -2.5495374  4.6773622
##  [7]  1.4213624  3.7318197 -8.5210836 13.5287180
## 
## $wts$`hidden 1 26`
##  [1] -23.1866636   7.8740154  -2.2218994  11.0971700  -0.4040542 -15.2079490
##  [7]   6.7646882  -6.5775307  -8.5556576  13.0327855
## 
## $wts$`hidden 1 27`
##  [1] -1.0255237 -0.8134321  0.2285739 -0.6902812  2.5788663 -0.3534751
##  [7]  3.9743449  3.3598384 -3.6134508 -2.7102140
## 
## $wts$`hidden 1 28`
##  [1]  -3.7519529  -3.3472863   0.1112539   7.5626943   2.3073202   8.7989118
##  [7]  -3.4537825   1.0745802   2.3749074 -12.2855676
## 
## $wts$`hidden 1 29`
##  [1]   7.35901978  -0.03445461  -0.72247612  -2.24704063  -0.33736731
##  [6]   0.22866892   0.07270786  -2.12415959  -1.16835313 -15.76540306
## 
## $wts$`hidden 1 30`
##  [1] -0.81487857  1.50494689  2.52324062  4.55766407 -3.69660975  0.03332642
##  [7] -9.21142864 -2.08879147 -1.09069399  0.03191765
## 
## $wts$`out 1`
##  [1]   7.236364   3.134113 -10.247183 -20.984575  -1.676129   4.758193
##  [7]  -2.813372   3.530381  -2.489049   3.493491   3.982120   2.409030
## [13]   3.150010  -3.212811  -2.279801   2.597141   6.845065 -10.098717
## [19]  17.506190  -2.435869  -3.663159  -6.631887   6.860540   6.072578
## [25]   4.460516  -3.518963  -2.116395   3.221871  -1.968374  -4.899402
## [31]   2.726305
# Plot the importance
olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Model ANN regresi menggunakan arsitektur 9–30–1 dengan 9 neuron input, 30 hidden neuron, dan 1 neuron output, serta 250 iterasi (maxit). Hasil evaluasi menunjukkan MAE sebesar 1,889443 dan RMSE sebesar 3,380830. Dibandingkan model sebelumnya dengan arsitektur 9–20–1 dan 250 iterasi, MAE meningkat dari 1,455899 menjadi 1,889443, sedangkan RMSE meningkat dari 2,417498 menjadi 3,380830. Artinya, penambahan jumlah hidden neuron menjadi 30 belum meningkatkan kinerja model karena menghasilkan kesalahan prediksi yang lebih besar.

4.11 Ada 30 hidden neuron dan maxit = 500

nn <-nnet.formula(form,size=30,data=train, linout = TRUE,
                  maxit = 500,trace = FALSE)

## hasil prediksi
predict_regresi <-predict(nn, newdata=test, type="raw")

#hasil evaluasi
error=test$Bare.nuclei-predict_regresi
abs(error)
##             [,1]
## 1    0.006083136
## 3    0.687184837
## 10   0.434299687
## 12   0.030314053
## 20   0.125331944
## 31   0.003771223
## 40   4.247086224
## 54   4.418093034
## 57   7.934246409
## 60   8.028133363
## 70   3.641364883
## 72   4.077627239
## 74   0.816403937
## 83   3.614198588
## 84  16.129716006
## 85   7.696569752
## 88   1.446683861
## 93   0.011214757
## 94   0.115225128
## 96   0.561029917
## 104  6.108534771
## 110  1.351849994
## 111  4.338080793
## 112  2.672304002
## 115  3.124889601
## 124  0.609530262
## 130 74.178430979
## 132  0.066515835
## 133 11.162444007
## 136  2.447969579
## 138  0.026887854
## 141  0.026887854
## 142  0.285719733
## 144  3.676357740
## 148  0.089374291
## 149  2.557939685
## 152  7.925754392
## 153  3.661941721
## 154  1.878719662
## 162  0.542404531
## 172  0.561029917
## 174  0.202683048
## 178  5.276712573
## 187  2.328126499
## 192  2.780616811
## 194  0.561029917
## 201  2.989056640
## 217  0.115225128
## 218  0.561029917
## 222  0.214401163
## 225  0.800556686
## 235  1.068010917
## 242  4.734356975
## 244 18.923865117
## 268  4.183504074
## 273  4.183504074
## 275  1.157213379
## 279  0.561029917
## 280  2.028073783
## 297  6.014751909
## 305  8.092680836
## 306  4.386035272
## 310 12.190305917
## 312  0.323642260
## 332  2.092714887
## 340  1.910813183
## 343  0.285719733
## 347  2.335189344
## 351  0.019455044
## 359  3.253567284
## 364  2.851269333
## 373  0.402844115
## 376  0.323642260
## 383  2.922135565
## 387  5.378509982
## 389  1.428322174
## 393  0.083289292
## 403  2.539450756
## 407  0.210659655
## 410  0.998706696
## 411  0.115225128
## 414  0.373162799
## 416  8.506227805
## 419  1.484123614
## 432  2.145320315
## 443  1.984457807
## 448  0.005109598
## 449  0.001548213
## 452  0.005109598
## 462  3.973112146
## 465  0.121280338
## 472  0.001919351
## 473  0.030148670
## 475  0.005109598
## 483  0.511361014
## 490  0.944310580
## 492  4.725313010
## 496  0.003771223
## 498  2.251579907
## 500  0.198613907
## 501  0.125331944
## 502  0.198613907
## 508  2.676357740
## 510  0.285719733
## 517  0.001548213
## 543  1.740452955
## 548  0.155787559
## 551  0.083289292
## 557  0.136650952
## 566  2.861294275
## 567  1.801824573
## 573  0.083289292
## 576  0.373162799
## 580  0.561029917
## 581  1.591726044
## 589  5.702851984
## 601  0.083289292
## 602  0.022053405
## 606  1.252086598
## 611  1.102870816
## 614  1.046996298
## 624  0.323642260
## 629  0.285719733
## 641  1.338829635
## 642  0.083289292
## 646  0.083289292
## 648  0.015542193
## 650  0.083289292
## 652  2.974179360
## 660  0.323642260
## 661  0.115225128
## 670  4.214623819
## 677  0.209322780
## 683  0.296457275
## 688  1.843206753
## 692  4.390608925
## 695  0.820406062
MAE=mean(abs(error)); MAE
## [1] 2.691278
RMSE=sqrt(mean((test$Bare.nuclei -
                  as.numeric(predict_regresi))^2)); RMSE
## [1] 7.351371
## plot nnet
plotnet(nn)

#get the neural weights
neuralweights(nn)
## $struct
## [1]  9 30  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1]  -85.61510   15.56126  -63.15967  -74.97696  135.26509  -57.99882
##  [7] -120.60169  -26.85425  -40.54997   21.78581
## 
## $wts$`hidden 1 2`
##  [1] -71.737003 -29.736267  27.906319  25.328738  43.297008   1.148099
##  [7] -42.344191 -23.080202  82.962746 -58.744286
## 
## $wts$`hidden 1 3`
##  [1] -15.092783  -3.448136 -11.033473 -40.845587  62.542128  -5.135099
##  [7] -15.781585  79.212310  35.412280 -44.854640
## 
## $wts$`hidden 1 4`
##  [1]  71.527796  44.131759   4.440870 -67.727175 -34.114420  47.182071
##  [7] -42.870729  47.249838   6.220412 136.412644
## 
## $wts$`hidden 1 5`
##  [1] -3.54693548  0.10910809  1.03397266 -0.07385707  0.53775467 -0.37406757
##  [7]  0.24845245  0.10539256 -0.24240181 -1.33242797
## 
## $wts$`hidden 1 6`
##  [1] -18.6868289   3.0402370  -0.8062002  22.9754951   5.6779169 -25.6556038
##  [7]   9.3183419   4.1827361 -18.9074397  17.0367582
## 
## $wts$`hidden 1 7`
##  [1] -29.8840216 -51.1821533  -0.6721764  81.5138902 -51.9254769  86.1125616
##  [7]  11.3079571  99.8175814 -24.4907176  71.1247855
## 
## $wts$`hidden 1 8`
##  [1]  16.4697693   0.4979646   7.5346057 -11.7294969   4.1534575   1.5187155
##  [7]   2.9303549 -13.7320539  32.3116609  72.7363410
## 
## $wts$`hidden 1 9`
##  [1]  31.5169012 -90.7021414 -32.2405594 -28.8109142 -91.1403656  35.0650353
##  [7] -15.5989250 -10.9285362  -0.2598839 -18.1139713
## 
## $wts$`hidden 1 10`
##  [1]  -14.2504748    0.9682683 -102.2128754   -8.7557285   39.1727728
##  [6]    6.3073377    4.4063315  -17.2617090    4.9346214  -62.8699554
## 
## $wts$`hidden 1 11`
##  [1]  13.416358  -3.731908  30.766223  53.595164  19.628326  15.296204
##  [7]  39.101535  20.964038 -32.162706   2.150877
## 
## $wts$`hidden 1 12`
##  [1]  -11.964161   11.769383  -40.202054  -71.743184  143.669942 -200.947855
##  [7]   -1.103528   93.335323   53.260456  108.803169
## 
## $wts$`hidden 1 13`
##  [1] -66.458273  -1.594217  -7.008064   6.514249   4.385898  -8.943216
##  [7]  21.533112  -4.586096 -20.881767 -30.871624
## 
## $wts$`hidden 1 14`
##  [1] -26.81038320   1.47724600  43.80710385 -19.45594113  -7.96273471
##  [6] -14.06234554  -2.65359720   0.05962646  -7.84060439 -37.97715442
## 
## $wts$`hidden 1 15`
##  [1]  128.79650544    0.05403874   -2.01537229    0.60046779 -129.68793930
##  [6]    0.96838280   -1.04800297   -0.05434060   -1.26359045    2.13596622
## 
## $wts$`hidden 1 16`
##  [1]  -44.47749  145.97364  -32.22466  -34.94211 -143.01518   23.17064
##  [7]   56.78123  105.38719 -134.39700   14.48097
## 
## $wts$`hidden 1 17`
##  [1]  48.6384808   0.9733861  11.0231321 -31.0794643   5.6333517 -20.0891538
##  [7] -17.1493899   8.4746973  -9.2648263  60.1331561
## 
## $wts$`hidden 1 18`
##  [1]  21.229693  -5.539875  -3.559785 -25.261889  25.475204  19.704526
##  [7] -18.164897 -30.801276 -55.861024  37.561989
## 
## $wts$`hidden 1 19`
##  [1] -0.1400188  2.1351098 10.5914177  7.0684861  2.7745089 -0.8697250
##  [7] -5.5321260  4.0054371 -1.3638309  0.3731933
## 
## $wts$`hidden 1 20`
##  [1]  46.233978 -27.939265 -19.711395 -83.226684  18.962209   4.688272
##  [7]  22.173312  -4.188056  43.700854 -23.964950
## 
## $wts$`hidden 1 21`
##  [1]  40.998455 -48.119816 -59.283209  78.603921 -42.970256 104.096865
##  [7]  -4.450879   6.236906  34.268007 125.656215
## 
## $wts$`hidden 1 22`
##  [1] -4.2441449  4.8053782 -0.6803032 -2.2488869  5.9094718  1.8400774
##  [7] -0.8729253 -1.1379041 -0.9693509 -5.3199958
## 
## $wts$`hidden 1 23`
##  [1]  1.405715733 -0.090218093  0.297749333  0.051960604  0.118933999
##  [6] -0.154052212  0.378799950  0.004484762  0.040312543 -1.311406116
## 
## $wts$`hidden 1 24`
##  [1]   1.273452 -42.561966  -5.519502  -2.602962   6.818779 -45.613947
##  [7]  28.643947   6.489044  39.069907 -37.525810
## 
## $wts$`hidden 1 25`
##  [1]   67.65270   37.27038  -45.81697  -22.45671   20.31878   15.92830
##  [7]  -45.70431   35.62619   56.33547 -116.09318
## 
## $wts$`hidden 1 26`
##  [1]  44.868830  -8.179210 -25.518911  -4.221974 -25.618381  -3.863440
##  [7]  81.477693  46.164543  -7.679650 -42.946661
## 
## $wts$`hidden 1 27`
##  [1]  24.28807612  32.26671388   1.87500226   0.02789919 -11.22624936
##  [6]  36.35994073 -26.60050107  28.61236851 -58.40702218  32.02804219
## 
## $wts$`hidden 1 28`
##  [1] -17.66947266   0.02118794   8.35782714  -0.88897181  -0.19469719
##  [6]  -1.24554910  -0.76019874   0.39622030  14.97166589 -11.13218638
## 
## $wts$`hidden 1 29`
##  [1]  0.8426400 -0.6338904 -0.1228927  0.4925736 -1.4524038 -0.1406281
##  [7]  0.2828590  0.5958742 -0.2055614 -0.4143484
## 
## $wts$`hidden 1 30`
##  [1]  10.2285827   0.2413034  23.7536122  49.2778020 -17.7782756  29.6155517
##  [7] -14.2823316  -4.7708691 -59.3910631 -17.1394412
## 
## $wts$`out 1`
##  [1]  18.8761316   4.3748094   1.2898580  -3.0871665  -2.7799001  16.8493033
##  [7]  -4.4000200   4.0066859   6.3292079 -62.6744485  -5.3236813  -7.3635453
## [13]   2.5488447  -4.0259966  -4.4550405 -13.7673759   0.7045164  -3.4648362
## [19] -10.7189217  20.9250056  -1.0650004  -3.5958559   7.8456549 -47.1486656
## [25]   3.4380688  -2.8861722   2.4255409   4.3959212  -4.7548799   8.8075313
## [31]  -2.4984340
# Plot the importance
olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Model ANN regresi menggunakan arsitektur 9–30–1 dengan 9 neuron input, 30 hidden neuron, dan 1 neuron output serta 500 iterasi (maxit). Hasil evaluasi menunjukkan MAE sebesar 2,691278 dan RMSE sebesar 7,351371. Dibandingkan model sebelumnya dengan arsitektur 9–30–1 dan 250 iterasi, MAE meningkat dari 1,889443 menjadi 2,691278 dan RMSE meningkat dari 3,380830 menjadi 7,351371. Artinya, peningkatan iterasi menjadi 500 belum meningkatkan kinerja model karena menghasilkan kesalahan prediksi yang lebih besar. Berdasarkan hasil evaluasi seluruh model ANN regresi, arsitektur 9–20–1 dengan 250 iterasi merupakan model terbaik karena menghasilkan nilai RMSE terendah sebesar 2,417498 dan MAE sebesar 1,455899. Meskipun model 9–10–1 dengan 500 iterasi memiliki MAE sedikit lebih rendah, model 9–20–1 dengan 250 iterasi lebih baik berdasarkan RMSE. Sehingga, model tersebut dipilih sebagai model terbaik untuk memprediksi variabel Bare.nuclei.

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan

Artificial Neural Network (ANN) merupakan metode machine learning yang meniru cara kerja jaringan saraf manusia melalui hubungan antarneuron yang diatur menggunakan bobot dan bias. ANN dapat diterapkan untuk regresi dengan memprediksi nilai numerik serta klasifikasi dengan memprediksi data berdasarkan kategori. Implementasi ANN regresi menggunakan dataset BreastCancer dilakukan dengan variabel target Bare.nuclei, pembagian data training sebesar 80% dan testing sebesar 20%, serta variasi jumlah hidden neuron sebanyak 10, 20, dan 30 dengan maksimum iterasi 250 dan 500. Hasil pengujian menunjukkan bahwa arsitektur 9–20–1 dengan 250 iterasi merupakan model terbaik karena menghasilkan MAE sebesar 1,455899 dan RMSE sebesar 2,417498. Model tersebut memiliki nilai RMSE terendah dibandingkan seluruh model yang diuji, sehingga menghasilkan kesalahan prediksi paling kecil berdasarkan metrik tersebut.

DAFTAR PUSTAKA

Abidin, A. A. Z., Kusrini, & Wibowo, F. W. (2024). Implementasi Artificial Neural Network pada Kasus Regresi Linear Berganda untuk Memprediksi Jumlah Pakan Ayam Petelur. INSTEK, 9(2), 313–323.

Aini, D. H. N., Kurniasari, D., Nuryaman, A., & Usman, M. (2023). Implementation of Artificial Neural Network with Backpropagation Algorithm for Rating Classification on Sales of Blackmores in Tokopedia. Jurnal Teknik Informatika (JUTIF), 4(2), 365–372.

Dzulkamain, A., & Ma’ady, M. N. P. (2024). Artikel mengenai BPNN sebagai pondasi metode deep learning. Jurnal SISFO, 11(1), 25–38.

Fransiska, H. (2026). Modul praktikum machine learning and modern prediction. Universitas Bengkulu.

Huda, D. N., & Handayani, S. (2023). Prediksi Nilai Ujian dengan Artificial Neural Network. REMIK: Riset dan E-Jurnal Manajemen Informatika Komputer, 7(1), 157–165.

Prasetyo, Y. P. W. (2023). Simulasi Jaringan Saraf Tiruan dengan Neural Network Fitting Tool (NFTool). G-Tech: Jurnal Teknologi Terapan, 7(4), 1722–1731.

Thoriq, M. (2022). Peramalan Jumlah Permintaan Produksi Menggunakan Jaringan Saraf Tiruan Algoritma Backpropagation. Jurnal Informatika dan Teknik Elektro Terapan, 4(1).