Redes Neuronales

Concepto

Una Red Neural 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. El feed de Instagram o TikTok. 3. Determinar el número o letra escrito a mano.

Cargando librerias

# install.packages("neuralnet")
library(neuralnet)
## Warning: package 'neuralnet' was built under R version 4.1.3

Alimentar con ejemplos

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

Generar red neuronal

red_neuronal <- neuralnet(estatus~., data=clase)
plot(red_neuronal, rep = "best")

Predecir 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,]  1.01320538
## [2,]  0.01915154
## [3,] -0.01583297
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    1
## [2,]    0
## [3,]    0

Cancer de mama

Limpiando la base de datos

clase2 <- read.csv("C:/Users/maxwi/Desktop/cancer_de_mama.csv")
clase2$ï..diagnosis <- ifelse(clase2$ï..diagnosis == "M",1,0)

Alimentando con ejemplos

red_neuronal <- neuralnet(ï..diagnosis~., data = clase2)
plot(red_neuronal, rep = "best")

Generando red neuronal

test <- clase2[c(19,20,21,22,23),]
prediccion <- compute(red_neuronal,test)
prediccion$net.result
##         [,1]
## 19 0.3725921
## 20 0.3725921
## 21 0.3725921
## 22 0.3725921
## 23 0.3725921

Predecir con la red neuronal

probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    0
## 20    0
## 21    0
## 22    0
## 23    0