library(nnet)
## Warning: package 'nnet' was built under R version 4.4.3
library(caret)
## Warning: package 'caret' was built under R version 4.4.3
## Loading required package: ggplot2
## Loading required package: lattice
library(NeuralNetTools)
## Warning: package 'NeuralNetTools' was built under R version 4.4.3
 # 1. Load dataset
data(iris)
 # 2. Preprocessing: Normalisasi dan ubah target jadi faktor
iris$Species <- as.factor(iris$Species)
 # 3. Bagi data menjadi training dan testing
set.seed(123)  # biar hasil konsisten
index <-createDataPartition(iris$Species, p = 0.7, list = FALSE)
train_data <- iris[index, ]
test_data <- iris[-index, ]
 binary_data <- subset(train_data, Species != "virginica")
binary_data$Species <- factor(binary_data$Species)
 # 4. Latih model neural network
 # size = jumlah neuron di hidden layer, decay = regularisasi
nn_model <- nnet(Species ~ ., data = train_data, size = 5, decay = 0.01, maxit = 200)
## # weights:  43
## initial  value 120.360750 
## iter  10 value 51.984377
## iter  20 value 45.083133
## iter  30 value 23.080317
## iter  40 value 8.534328
## iter  50 value 7.295741
## iter  60 value 6.745967
## iter  70 value 6.547466
## iter  80 value 6.492817
## iter  90 value 6.466873
## iter 100 value 6.400929
## iter 110 value 6.355214
## iter 120 value 6.332091
## iter 130 value 6.329752
## iter 140 value 6.328830
## iter 150 value 6.328617
## final  value 6.328607 
## converged
 # Plot NN
plotnet(nn_model)