Redes Neuronales

0. Concepto

Una red Neural articial (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 librerias

#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 Neutral

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

4. Predecir con la Red Neutral

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

Cancer de Mama

1. Importar base de datos

cancer_de_mama <- read.csv("/Users/fernandarodriguez/Desktop/Tec/Carrera/Semestre 7/Módulo 4/Actividad 4.2/cancer_de_mama.csv")
cancer_de_mama$diagnosis <- ifelse(cancer_de_mama$diagnosis=="M",1,0)

2. Generar la Red Neutral

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

2. Predecir con la Red Neutral

prueba <- cancer_de_mama[c(19,20,21,22,23),]
prediccion <- compute(red_neuronal, prueba)
prediccion$net.result
##          [,1]
## 19 0.99536687
## 20 0.03254092
## 21 0.03254092
## 22 0.03254092
## 23 0.99536687
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    1
## 20    0
## 21    0
## 22    0
## 23    1
LS0tCnRpdGxlOiAiQWN0aXZpZGFkIDQuNyBSZWRlcyBOZXVyb25hbGVzIgphdXRob3I6ICJGZXJuYW5kYSBSZHoiCmRhdGU6ICIyMDIzLTEwLTAyIgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQogICAgY29kZV9kb3dubG9hZDogVFJVRQogICAgdGhlbWU6ICJzcGFjZWxhYiIKICAgIGhpZ2hsaWdodDogImthdGUiCi0tLQohW10oL1VzZXJzL2Zlcm5hbmRhcm9kcmlndWV6L0Rlc2t0b3AvVGVjL0NhcnJlcmEvU2VtZXN0cmUgNy9Nb8yBZHVsbyA0L0FjdGl2aWRhZCA0LjcvM2U0NTZiMzcyMjJjYjg3NmI5YWU3ZjQxMTliY2E2MTEzMDIyMWVlYV9ocS5naWYpCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlJlZGVzIE5ldXJvbmFsZXM8L3NwYW4+CgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4wLiBDb25jZXB0bzwvc3Bhbj4KVW5hIHJlZCBOZXVyYWwgYXJ0aWNpYWwgKEFOTikgbW9kZWxhIGxhIHJlbGFjacOzbiBlbnRyZSB1biBjb25qdW50byBkZSBlbnRyYWRhcyB5IHVuYSBzYWxpZGEsIHJlc29sdmllbmRvIHVuIHByb2JsZW1hIGRlIGFwcmVuZGl6YWplLiAKRWplbXBsb3MgZGUgYXBsaWNhY2nDs24gZGUgUmVkZXMgbmV1cm9uYWxlcyBzb246IAoxLiBMYSByZWNvbWVuZGFjacOzbiBkZSBjb250ZW5pZG8gZGUgTmV0ZmxpeAoyLiBFbCBmZWVkIGRlIEluc3RhZ3JhbSBvIFRpa3RvawozLiBkZXRlcm1pbmFyIGVsIG7Dum1lcm8gbyBsZXRyYSBlc2NyaXRvIGEgbWFubwoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzPC9zcGFuPgpgYGB7cn0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpCmxpYnJhcnkobmV1cmFsbmV0KQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjIuIEFsaW1lbnRhciBjb24gZWplbXBsb3M8L3NwYW4+CmBgYHtyfQpleGFtZW4gPC0gYygyMCwxMCwzMCwyMCw4MCwzMCkKcHJveWVjdG8gPC0gYyg5MCwyMCw0MCw1MCw1MCw4MCkKZXN0YXR1cyA8LSBjKDEsMCwwLDAsMCwxKQpkZiA8LSBkYXRhLmZyYW1lKGV4YW1lbixwcm95ZWN0byxlc3RhdHVzKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjMuIEdlbmVyYXIgbGEgUmVkIE5ldXRyYWw8L3NwYW4+CmBgYHtyfQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGVzdGF0dXN+LixkYXRhPWRmKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwPSJiZXN0IikKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij40LiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXRyYWw8L3NwYW4+CmBgYHtyfQpwcnVlYmFfZXhhbWVuIDwtIGMoMzAsNDAsODUpCnBydWViYV9wcm95ZWN0byA8LSBjKDg1LDUwLDQwKQpwcnVlYmEgPC0gZGF0YS5mcmFtZShwcnVlYmFfZXhhbWVuLHBydWViYV9wcm95ZWN0bykKcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbCwgcHJ1ZWJhKQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQKcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdApyZXN1bHRhZG8gPC0gaWZlbHNlKHByb2JhYmlsaWRhZD4wLjUsMSwwKQpyZXN1bHRhZG8KYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkNhbmNlciBkZSBNYW1hPC9zcGFuPgoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBwaW5rOyI+MS4gSW1wb3J0YXIgYmFzZSBkZSBkYXRvczwvc3Bhbj4KYGBge3J9CmNhbmNlcl9kZV9tYW1hIDwtIHJlYWQuY3N2KCIvVXNlcnMvZmVybmFuZGFyb2RyaWd1ZXovRGVza3RvcC9UZWMvQ2FycmVyYS9TZW1lc3RyZSA3L01vzIFkdWxvIDQvQWN0aXZpZGFkIDQuMi9jYW5jZXJfZGVfbWFtYS5jc3YiKQpjYW5jZXJfZGVfbWFtYSRkaWFnbm9zaXMgPC0gaWZlbHNlKGNhbmNlcl9kZV9tYW1hJGRpYWdub3Npcz09Ik0iLDEsMCkKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IHBpbms7Ij4yLiBHZW5lcmFyIGxhIFJlZCBOZXV0cmFsPC9zcGFuPgpgYGB7cn0KcmVkX25ldXJvbmFsIDwtIG5ldXJhbG5ldChkaWFnbm9zaXN+LixkYXRhPWNhbmNlcl9kZV9tYW1hKQpwbG90KHJlZF9uZXVyb25hbCwgcmVwPSJiZXN0IikKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IHBpbms7Ij4yLiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXRyYWw8L3NwYW4+CmBgYHtyfQpwcnVlYmEgPC0gY2FuY2VyX2RlX21hbWFbYygxOSwyMCwyMSwyMiwyMyksXQpwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLCBwcnVlYmEpCnByZWRpY2Npb24kbmV0LnJlc3VsdApwcm9iYWJpbGlkYWQgPC0gcHJlZGljY2lvbiRuZXQucmVzdWx0CnJlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkPjAuNSwxLDApCnJlc3VsdGFkbwpgYGAK