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 Redes Neuronales: + La recomendación de contenido en Netflix + FYP en TikTok + Feed de Instagram

1. Cargar libreria

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,1,1)
df<- data.frame(examen,proyecto,estatus)

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

Cancer de Mama

library(readr)
cm<- read.csv("cancer_de_mama.csv")
cm$diagnosis<- ifelse(cm$diagnosis == "M", 1,0)
redne<- neuralnet(diagnosis~., data=cm)
plot(redne, rep = "best")

prueba_cancer <- cm[c(19,20,21,22,23), ]

prediccion1 <- compute(redne, prueba_cancer)
prediccion1$net.result
##        [,1]
## 19 0.372578
## 20 0.372578
## 21 0.372578
## 22 0.372578
## 23 0.372578
probabilidad1 <- prediccion1$net.result
resultado1<- ifelse(probabilidad1>0.5,1,0)
resultado1
##    [,1]
## 19    0
## 20    0
## 21    0
## 22    0
## 23    0
LS0tCnRpdGxlOiAiQWN0aXZpZGFkIDQuNyIKYXV0aG9yOiAiRmVybmFuZG8gTW9yYWxlcyBEaWFydGUgLSBBMDE3NDA1NjciCmRhdGU6ICIyMDIzLTA5LTI4IgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQogICAgY29kZV9kb3dubG9hZDogVFJVRQogICAgdGhlbWU6ICJzYW5kc3RvbmUiCiAgICBoaWdobGlnaHQ6ICJlc3ByZXNzbyIKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCiFbXSgvVXNlcnMvc3BlZWR5bWQyMy9EZXNrdG9wL0FuYWxpc2lzIGRlIGRhdG9zIC0gY29uY2VudHJhY2lvzIFuL01vZCA0L2NhbWFkYXNfYW4tZ2lmLmdpZikKCiMgUmVkZXMgTmV1cm9uYWxlcwpVbmEgUmVkIE5ldXJvbmFsIEFydGlmaWNpYWwgKEFOTikgbW9kZWxhIGxhIHJlbGFjacOzbiBlbnRyZSB1biBjb25qdW50byBkZSBlbnRyYWRhcyB5IHVuYSBzYWxpZGEsIHJlc29sdmllbmRvIHVuIHByb2JsZW1hIGRlIGFwcmVuZGl6YWplLiAgCgpFamVtcGxvcyBkZSBSZWRlcyBOZXVyb25hbGVzOgorIExhIHJlY29tZW5kYWNpw7NuIGRlIGNvbnRlbmlkbyBlbiBOZXRmbGl4CisgRllQIGVuIFRpa1RvaworIEZlZWQgZGUgSW5zdGFncmFtCgojIyAxLiBDYXJnYXIgbGlicmVyaWEKYGBge3J9CmxpYnJhcnkobmV1cmFsbmV0KQpgYGAKCiMjIDIuIEFsaW1lbnRhciBjb24gZWplbXBsb3MKYGBge3J9CmV4YW1lbiA8LSBjKDIwLDEwLDMwLDIwLDgwLDMwKQpwcm95ZWN0byA8LSBjKDkwLDIwLDQwLDUwLDUwLDgwKQplc3RhdHVzIDwtIGMoMSwwLDAsMCwxLDEpCmRmPC0gZGF0YS5mcmFtZShleGFtZW4scHJveWVjdG8sZXN0YXR1cykKYGBgCgojIyAzLiBHZW5lcmFyIFJlZCBuZXVyb25hbApgYGB7cn0KcmVkX25ldXJvbmFsPC0gbmV1cmFsbmV0KGVzdGF0dXMgfi4sIGRhdGE9ZGYpCnBsb3QocmVkX25ldXJvbmFsLCByZXAgPSAiYmVzdCIpCmBgYAoKIyMgNC4gUHJlZGVjaXIgY29uIGxhIHJlZCBuZXVyb25hbApgYGB7cn0KcHJ1ZWJhX2V4YW1lbiA8LSBjKDMwLDQwLDg1KQpwcnVlYmFfcHJveWVjdG8gPC0gYyg4NSw1MCw0MCkKcHJ1ZWJhIDwtIGRhdGEuZnJhbWUocHJ1ZWJhX2V4YW1lbixwcnVlYmFfcHJveWVjdG8pCgpwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLCBwcnVlYmEpCnByZWRpY2Npb24kbmV0LnJlc3VsdApwcm9iYWJpbGlkYWQgPC0gcHJlZGljY2lvbiRuZXQucmVzdWx0CnJlc3VsdGFkbzwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkKcmVzdWx0YWRvCmBgYAoKIyBDYW5jZXIgZGUgTWFtYQoKIVtdKC9Vc2Vycy9zcGVlZHltZDIzL0Rlc2t0b3AvQW5hbGlzaXMgZGUgZGF0b3MgLSBjb25jZW50cmFjaW/MgW4vTW9kIDQvZ2lwaHkuZ2lmKQoKYGBge3J9CmxpYnJhcnkocmVhZHIpCmNtPC0gcmVhZC5jc3YoImNhbmNlcl9kZV9tYW1hLmNzdiIpCmNtJGRpYWdub3NpczwtIGlmZWxzZShjbSRkaWFnbm9zaXMgPT0gIk0iLCAxLDApCmBgYAoKYGBge3J9CnJlZG5lPC0gbmV1cmFsbmV0KGRpYWdub3Npc34uLCBkYXRhPWNtKQpwbG90KHJlZG5lLCByZXAgPSAiYmVzdCIpCmBgYAoKYGBge3J9CnBydWViYV9jYW5jZXIgPC0gY21bYygxOSwyMCwyMSwyMiwyMyksIF0KCnByZWRpY2Npb24xIDwtIGNvbXB1dGUocmVkbmUsIHBydWViYV9jYW5jZXIpCnByZWRpY2Npb24xJG5ldC5yZXN1bHQKcHJvYmFiaWxpZGFkMSA8LSBwcmVkaWNjaW9uMSRuZXQucmVzdWx0CnJlc3VsdGFkbzE8LSBpZmVsc2UocHJvYmFiaWxpZGFkMT4wLjUsMSwwKQpyZXN1bHRhZG8xCmBgYAoKCg==