Redes Neuronales

Concepto

Una red neuronal modela la relación entre un conjunto de entradas y una salida entre un problema de aprendizaje.

Ejemplo 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 numero o letra escrito a mano.

1.Instalar paquetes y llamar librerías

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

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.01759971
## [2,] -0.02214257
## [3,] -0.02261387
probabilidad <- prediccion$net.result

resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    1
## [2,]    0
## [3,]    0

Red Neuronal: Cáncer de Mama

1.Instalar paquetes y llamar librerías

library(readr)
library(neuralnet)
cancer_de_mama <- read.csv( "/Users/marianaguevara/Downloads/cancer_de_mama.csv")

2.Alimentar con ejemplos

cancer_de_mama$diagnosis <- ifelse(cancer_de_mama$diagnosis == "M",1,0)

3.Generar la red neuronal

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

4.Predecir con la red neuronal

Prueba <- df1 <- cancer_de_mama[c(19,20,21,22,23),]
Prueba <- data.frame(Prueba)
prediccion <- compute(red_neuronal, Prueba)
prediccion$net.result
##          [,1]
## 19 1.00035048
## 20 0.01643526
## 21 0.01643526
## 22 0.01643526
## 23 1.00035048
probabilidad <- prediccion$net.result

resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    1
## 20    0
## 21    0
## 22    0
## 23    1
LS0tCnRpdGxlOiAiUmVkZXMgTmV1cm9uYWxlcyIKYXV0aG9yOiAiTWFyaWFuYSBHIgpkYXRlOiAiMjAyMy0xMC0wMiIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiAic3BhY2VsYWIiCiAgICBoaWdobGlnaHQ6ICJrYXRlIgotLS0KCiFbXSgvVXNlcnMvbWFyaWFuYWd1ZXZhcmEvRGVza3RvcC9zaHV0dGVyc3RvY2tfNTg3NzY4NTY3LnBuZykKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+UmVkZXMgTmV1cm9uYWxlczwvc3Bhbj4KCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkNvbmNlcHRvPC9zcGFuPgoKVW5hIHJlZCBuZXVyb25hbCBtb2RlbGEgbGEgcmVsYWNpw7NuIGVudHJlIHVuIGNvbmp1bnRvIGRlIGVudHJhZGFzIHkgdW5hIHNhbGlkYSBlbnRyZSB1biBwcm9ibGVtYSBkZSBhcHJlbmRpemFqZS4gIAoKRWplbXBsbyBkZSBhcGxpY2FjacOzbiBkZSByZWRlcyBuZXVyb25hbGVzIHNvbjogIAoxLiBMYSByZWNvbWVuZGFjacOzbiBkZSBjb250ZW5pZG8gZGUgbmV0ZmxpeC4gIAoyLiBFbCBmZWVkIGRlIEluc3RhZ3JhbSBvIFRpa1Rvay4gICAgCjMuIERldGVybWluYXIgZWwgbnVtZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8uICAKCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4xLkluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+CgpgYGB7cn0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpCmxpYnJhcnkobmV1cmFsbmV0KQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjIuQWxpbWVudGFyIGNvbiBlamVtcGxvczwvc3Bhbj4KCmBgYHtyfQpleGFtZW4gPC0gYygyMCwxMCwzMCwyMCw4MCwzMCkKcHJveWVjdG8gPC0gYyg5MCwgMjAsIDQwLCA1MCwgNTAsIDgwKQplc3RhdHVzIDwtIGMoMSwwLDAsMCwwLDEpCgpkZiA8LSBkYXRhLmZyYW1lKGV4YW1lbixwcm95ZWN0byxlc3RhdHVzKQoKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4zLkdlbmVyYXIgbGEgcmVkIG5ldXJvbmFsPC9zcGFuPgoKYGBge3J9CnJlZF9uZXVyb25hbCA8LSBuZXVyYWxuZXQoZXN0YXR1cyB+LiwgZGF0YSA9IGRmKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwID0gImJlc3QiKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjQuUHJlZGVjaXIgY29uIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4KCmBgYHtyfQpQcnVlYmFfZXhhbWVuIDwtIGMoMzAsNDAsODUpClBydWViYV9wcm95ZWN0byA8LSBjKDg1LDUwLDQwKQpQcnVlYmEgPC0gZGF0YS5mcmFtZShQcnVlYmFfZXhhbWVuLFBydWViYV9wcm95ZWN0bykKCnByZWRpY2Npb24gPC0gY29tcHV0ZShyZWRfbmV1cm9uYWwsIFBydWViYSkKCnByZWRpY2Npb24kbmV0LnJlc3VsdAoKcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdAoKcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkKcmVzdWx0YWRvCmBgYAoKCiFbXSgvVXNlcnMvbWFyaWFuYWd1ZXZhcmEvRGVza3RvcC9jbS53ZWJwKQoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IHBpbms7Ij5SZWQgTmV1cm9uYWw6IEPDoW5jZXIgZGUgTWFtYTwvc3Bhbj4KCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcGluazsiPjEuSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hczwvc3Bhbj4KCmBgYHtyfQpsaWJyYXJ5KHJlYWRyKQpsaWJyYXJ5KG5ldXJhbG5ldCkKY2FuY2VyX2RlX21hbWEgPC0gcmVhZC5jc3YoICIvVXNlcnMvbWFyaWFuYWd1ZXZhcmEvRG93bmxvYWRzL2NhbmNlcl9kZV9tYW1hLmNzdiIpCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBwaW5rOyI+Mi5BbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPgoKYGBge3J9CmNhbmNlcl9kZV9tYW1hJGRpYWdub3NpcyA8LSBpZmVsc2UoY2FuY2VyX2RlX21hbWEkZGlhZ25vc2lzID09ICJNIiwxLDApCgpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcGluazsiPjMuR2VuZXJhciBsYSByZWQgbmV1cm9uYWw8L3NwYW4+CgpgYGB7cn0KcmVkX25ldXJvbmFsIDwtIG5ldXJhbG5ldChkaWFnbm9zaXN+LiwgZGF0YSA9IGNhbmNlcl9kZV9tYW1hKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwID0gImJlc3QiKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcGluazsiPjQuUHJlZGVjaXIgY29uIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4KCmBgYHtyfQoKUHJ1ZWJhIDwtIGRmMSA8LSBjYW5jZXJfZGVfbWFtYVtjKDE5LDIwLDIxLDIyLDIzKSxdClBydWViYSA8LSBkYXRhLmZyYW1lKFBydWViYSkKcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbCwgUHJ1ZWJhKQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQKCnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQKCnJlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkPjAuNSwxLDApCnJlc3VsdGFkbwoKYGBgCgoKCgoK