Redes Neuronales

Una Red Neuronal Artificial (ANN) modela la relación entre un conjunto de entradas y una salida, resolviendo un problema de aprendizaje.

Ejemplos de aplicación de Redes Neuronales son: 1. La recomendación de contenido de Netflix. 2. FYP de TikTok 3. Feed de Instagram

1. Cargar liberia

library(neuralnet)

2. Alimentar con datos

examen <- c(20,10,30,20,80,30)
proyecto <- c(90,20,40,50,50,80)
estatus <- c(1,0,0,0,1,1)
df <- data.frame(examen,proyecto,estatus)

3. Generar Red Neuronal

red_neuronal <- neuralnet(estatus ~., data=df)
plot(red_neuronal)

4. Predecir con la Red Neuronal

prueba_examen <- c(30,40,85)
prueba_proyecto <- c(85,50,40)
prueba <- data.frame(prueba_examen, prueba_proyecto)

prediccion <- compute(red_neuronal,prueba)
prediccion$net.result
##           [,1]
## [1,] 0.4992136
## [2,] 0.4992136
## [3,] 0.4992136
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    0
## [2,]    0
## [3,]    0
cm <- read.csv("cancer_de_mama.csv")
cm$diagnosis <- ifelse(cm$diagnosis == "M", 1,0)
redn <- neuralnet(diagnosis ~., data=cm)
plot(redn)

Predicción Cancer de Mama

prueba2 <- cm[c(19,20,21,22,23), ]
prediccion2 <- compute(redn,prueba2)
prediccion2$net.result
##         [,1]
## 19 0.3725973
## 20 0.3725973
## 21 0.3725973
## 22 0.3725973
## 23 0.3725973
probabilidad2 <- prediccion2$net.result
resultado2 <- ifelse(probabilidad2>0.5,1,0)
resultado2
##    [,1]
## 19    0
## 20    0
## 21    0
## 22    0
## 23    0