Una Red Neuronal Artificial (ANN) modela la relación entre un conjunto de entradas y una salida, resolviendo un problema de aprendizaje.
Algunos ejemplos de aplicación de ANN son:
La recomendación de contenido de Netflix. El feed de Instagram. Determinar el número escrito a mano.
#install.packages("neurnalnet")
library(neuralnet)examen <- c(20,10,30,20,80,30)
proyecto <- c(90,20,40,50,50,80)
status <- c(1,0,0,0,0,1)
df1 <- data.frame(examen, proyecto, status)
df1## examen proyecto status
## 1 20 90 1
## 2 10 20 0
## 3 30 40 0
## 4 20 50 0
## 5 80 50 0
## 6 30 80 1
set.seed(123)
rn1 <- neuralnet(status ~ ., data = df1)
summary(rn1)## Length Class Mode
## call 3 -none- call
## response 6 -none- numeric
## covariate 12 -none- numeric
## model.list 2 -none- list
## err.fct 1 -none- function
## act.fct 1 -none- function
## linear.output 1 -none- logical
## data 3 data.frame list
## exclude 0 -none- NULL
## net.result 1 -none- list
## weights 1 -none- list
## generalized.weights 1 -none- list
## startweights 1 -none- list
## result.matrix 8 -none- numeric
plot(rn1, rep="best")prueba_examen <- c(30,40,85)
prueba_proyecto <- c(85,50,40)
prueba1 <- data.frame(prueba_examen,prueba_proyecto)
prediccion <- compute(rn1, prueba1)
prediccion$net.result## [,1]
## [1,] 1.04011743
## [2,] -0.02359178
## [3,] -0.02359178
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad >0.5, 1,0)
resultado## [,1]
## [1,] 1
## [2,] 0
## [3,] 0