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.

1. Instalar paquetes y llamar librerías

# install.packages("neuralnet")
library(neuralnet)

<span style=“color: blue;>2. 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)
df <- data.frame(examen,proyecto,estatus)

3. Generar la Red Neuronal

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

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

Cáncer de mama

1. Instalar paquetes y llamar librerías

# install.packages("neuralnet")
library(neuralnet)

<span style=“color: blue;>2. Alimentar con ejemplos

df <- read.csv("~/Downloads/cancer_de_mama.csv")
df$diagnosis <- ifelse(df$diagnosis=="M",1,0)
df1 <-df[c(19,20,21,22,23),]

3. Generar la Red Neuronal

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

4. Predecir con la Red Neuronal

prueba <- df[c(19,20,21,22,23), ]
prediccion <- compute(red_neuronal,prueba)
prediccion$net.result
##          [,1]
## 19 0.99566298
## 20 0.02451125
## 21 0.02451123
## 22 0.02451123
## 23 0.99566298
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    1
## 20    0
## 21    0
## 22    0
## 23    1
LS0tCnRpdGxlOiAiQWN0aXZpZGFkIDQuNyBSZWRlcyBOZXVyb25hbGVzIgpuYW1lOiBQYXVsaW5hIEJhZGlsbG8gR29uesOhbGV6IEEwMTcyMTA2OQpkYXRlOiAiMjAyMy0xMC0wMiIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICAgIHRvYzogVFJVRQogICAgICB0b2NfZmxvYXQ6IFRSVUUKICAgICAgY29kZV9kb3dubG9hZDogVFJVRQogICAgICB0aGVtZTogInNwYWNlbGFiIgogICAgICBoaWdobGlnaHQ6ICJrYXRlIgotLS0KCjxjZW50ZXI+CiFbXSh+L0Rlc2t0b3AvZ2lmIGNlcmVicm8uZ2lmKQoKIyA8c3BhbiBzdHlsZSA9ImNvbG9yOiBibHVlOyI+UmVkZXMgTmV1cm9uYWxlczwvc3Bhbj4KCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkNvbmNlcHRvPC9zcGFuPgpVbmEgUmVkIE5ldXJhbCBBcnRpZmljaWFsIChBTk4pIG1vZGVsYSBsYSByZWxhY2nDs24gZW50cmUgdW4gY29uanVudG8gZGUgZW50cmFkYXMgeSB1bmEgc2FsaWRhLCByZXNvbHZpZW5kbyB1biBwcm9ibGVtYSBkZSBhcHJlbmRpemFqZS4KCkVqZW1wbG9zIGRlIGFwbGljYWNpw7NuIGRlIFJlZGVzIE5ldXJvbmFsZXMgc29uOgoxLiBMYSByZWNvbWVuZGFjacOzbiBkZSBjb250ZW5pZG8gZGUgTmV0ZmxpeAoyLiBFbCBmZWVkIGRlIEluc3RhZ3JhbSBvIFRpa3Rvay4KMy4gRGV0ZXJtaW5hciBlbCBuw7ptZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8uCgoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hczwvc3Bhbj4KYGBge3J9CiMgaW5zdGFsbC5wYWNrYWdlcygibmV1cmFsbmV0IikKbGlicmFyeShuZXVyYWxuZXQpCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOz4yLiBBbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPgpgYGB7cn0KZXhhbWVuIDwtIGMoMjAsMTAsMzAsMjAsODAsMzApCnByb3llY3RvIDwtIGMoOTAsMjAsNDAsNTAsNTAsODApCmVzdGF0dXMgPC0gYygxLDAsMCwwLDAsMSkKZGYgPC0gZGF0YS5mcmFtZShleGFtZW4scHJveWVjdG8sZXN0YXR1cykKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4zLiBHZW5lcmFyIGxhIFJlZCBOZXVyb25hbDwvc3Bhbj4KYGBge3J9CnJlZF9uZXVyb25hbCA8LSBuZXVyYWxuZXQoZXN0YXR1c34uLCBkYXRhPWRmKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwID0gImJlc3QiKQpgYGAKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+NC4gUHJlZGVjaXIgY29uIGxhIFJlZCBOZXVyb25hbDwvc3Bhbj4KYGBge3J9CnBydWViYV9leGFtZW4gPC0gYygzMCw0MCw4NSkKcHJ1ZWJhX3Byb3llY3RvIDwtIGMoODUsNTAsNDApCnBydWViYSA8LSBkYXRhLmZyYW1lKHBydWViYV9leGFtZW4sIHBydWViYV9wcm95ZWN0bykKcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbCwgcHJ1ZWJhKQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQKcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdApyZXN1bHRhZG8gPC0gaWZlbHNlKHByb2JhYmlsaWRhZD4wLjUsMSwwKQpyZXN1bHRhZG8KYGBgCiMgPHNwYW4gc3R5bGUgPSJjb2xvcjogcGluazsiPkPDoW5jZXIgZGUgbWFtYTwvc3Bhbj4KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBwaW5rOyI+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hczwvc3Bhbj4KYGBge3J9CiMgaW5zdGFsbC5wYWNrYWdlcygibmV1cmFsbmV0IikKbGlicmFyeShuZXVyYWxuZXQpCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOz4yLiBBbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPgpgYGB7cn0KZGYgPC0gcmVhZC5jc3YoIn4vRG93bmxvYWRzL2NhbmNlcl9kZV9tYW1hLmNzdiIpCmRmJGRpYWdub3NpcyA8LSBpZmVsc2UoZGYkZGlhZ25vc2lzPT0iTSIsMSwwKQpkZjEgPC1kZltjKDE5LDIwLDIxLDIyLDIzKSxdCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+My4gR2VuZXJhciBsYSBSZWQgTmV1cm9uYWw8L3NwYW4+CmBgYHtyfQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGRpYWdub3Npc34uLCBkYXRhPWRmKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwID0gImJlc3QiKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjQuIFByZWRlY2lyIGNvbiBsYSBSZWQgTmV1cm9uYWw8L3NwYW4+CmBgYHtyfQpwcnVlYmEgPC0gZGZbYygxOSwyMCwyMSwyMiwyMyksIF0KcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbCxwcnVlYmEpCnByZWRpY2Npb24kbmV0LnJlc3VsdApwcm9iYWJpbGlkYWQgPC0gcHJlZGljY2lvbiRuZXQucmVzdWx0CnJlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkPjAuNSwxLDApCnJlc3VsdGFkbwpgYGA=