
Teoría
Una Red Neuronal Artificial (ANN) modela la relación entre un
conjunto de entradas y una salida, resolviendo un problema de
aprendizaje.
Algunos ejemplos de aplicación de ANN son:
- La recomendación de contenido de Netflix.
- El feed de Instagram.
- Determinar el número escrito a mano.
Ejercicio 1. ¿Pasé la materia?
1. Instalar paquetes y llamar
librerías
#install.packages("neuralnet")
library(neuralnet)
## Warning: package 'neuralnet' was built under R version 4.3.2
2.Obtener datos
examen <- c(20,10,30,20,80,30)
proyecto <- c(90,20,40,50,50,80)
estatus <- c(1,0,0,0,0,1)
df1 <- data.frame(examen, proyecto, estatus)
3. Generar la red neuronal
set.seed(123)
rn1 <- neuralnet(estatus ~., data = df1)
plot(rn1, rep = "best")

4. Predecir los resultados
prueba_examen <- c(30,40,85)
prueba_proyecto <- c(85,50,40)
prueba1 <- data.frame(prueba_examen, prueba_proyecto)
prediccion1 <- compute(rn1,prueba1)
prediccion1$net.result
## [,1]
## [1,] 1.04011743
## [2,] -0.02359178
## [3,] -0.02359178
probabilidad1 <- prediccion1$net.result
resultado1 <- ifelse(probabilidad1>0.5,1,0)
resultado1
## [,1]
## [1,] 1
## [2,] 0
## [3,] 0
Ejercicio 2: Cáncer de Mamá

1. Instalar paquetes y llamar
librerías
## Warning: package 'readr' was built under R version 4.3.2
2. Importar base de datos
df <- read.csv("C:\\Users\\Luis Rodriguez\\Downloads\\cancer_de_mama.csv")
df$diagnosis <- ifelse(df$diagnosis == "M",1,0)
3. General la Red Neuronal
rn2 <- neuralnet(diagnosis ~., data=df)
plot(rn2, rep="best")

4. Predecir los resultados
prueba2 <- df[c(19,20,21,22,23), ]
prediccion2 <- compute(rn2, prueba2)
prediccion2$net.result
## [,1]
## 19 0.3725959
## 20 0.3725959
## 21 0.3725959
## 22 0.3725959
## 23 0.3725959
probabilidad2 <- prediccion2$net.result
resultado2 <- ifelse(probabilidad2>0.5,1,0)
resultado2
## [,1]
## 19 0
## 20 0
## 21 0
## 22 0
## 23 0
LS0tDQp0aXRsZTogIlJlZGVzIE5ldXJvbmFsZXM6IFBhc2UgZGUgbWF0ZXJpYSB5IEPDoW5jZXIgZGUgbWFtYSINCmF1dGhvcjogIkx1aXMgTWVuZG96YSAtIEEwMDgyOTA5OSAiDQpkYXRlOiAiMjAyNC0wMi0yMiINCm91dHB1dDogDQogICAgaHRtbF9kb2N1bWVudDoNCiAgICAgIHRvYzogVFJVRQ0KICAgICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgICBjb2RlX2Rvd25sb2FkIDogVFJVRQ0KICAgICAgdGhlbWU6ICJzcGFjZWxhYiINCiAgICAgIGhpZ2hsaWdodDogImthdGUiDQotLS0NCg0KIVtdKEM6XFxVc2Vyc1xcTHVpcyBSb2RyaWd1ZXpcXERvd25sb2Fkc1xcUmVkZXMuZ2lmKQ0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlOyI+VGVvcsOtYTwvc3Bhbj4NCg0KVW5hIFJlZCBOZXVyb25hbCBBcnRpZmljaWFsIChBTk4pIG1vZGVsYSBsYSByZWxhY2nDs24gZW50cmUgdW4gY29uanVudG8gZGUgZW50cmFkYXMgeSB1bmEgc2FsaWRhLCByZXNvbHZpZW5kbyB1biBwcm9ibGVtYSBkZSBhcHJlbmRpemFqZS4gIA0KDQpBbGd1bm9zIGVqZW1wbG9zIGRlIGFwbGljYWNpw7NuIGRlIEFOTiBzb246DQoNCiogTGEgcmVjb21lbmRhY2nDs24gZGUgY29udGVuaWRvIGRlIE5ldGZsaXguICANCiogRWwgZmVlZCBkZSBJbnN0YWdyYW0uICANCiogRGV0ZXJtaW5hciBlbCBuw7ptZXJvIGVzY3JpdG8gYSBtYW5vLiAgDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWU7Ij5FamVyY2ljaW8gMS4gwr9QYXPDqSBsYSBtYXRlcmlhPzwvc3Bhbj4NCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWU7Ij4xLiBJbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXLDrWFzPC9zcGFuPiAgDQoNCmBgYHtyfQ0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpDQpsaWJyYXJ5KG5ldXJhbG5ldCkNCmBgYA0KDQojIyA8c3BhbiBzdHlsZT0iY29sb3I6Ymx1ZTsiPjIuT2J0ZW5lciBkYXRvczwvc3Bhbj4gIA0KDQpgYGB7cn0NCmV4YW1lbiA8LSBjKDIwLDEwLDMwLDIwLDgwLDMwKQ0KcHJveWVjdG8gPC0gYyg5MCwyMCw0MCw1MCw1MCw4MCkNCmVzdGF0dXMgPC0gYygxLDAsMCwwLDAsMSkNCmRmMSA8LSBkYXRhLmZyYW1lKGV4YW1lbiwgcHJveWVjdG8sIGVzdGF0dXMpDQpgYGANCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWU7Ij4zLiBHZW5lcmFyIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4NCmBgYHtyfQ0Kc2V0LnNlZWQoMTIzKQ0Kcm4xIDwtIG5ldXJhbG5ldChlc3RhdHVzIH4uLCBkYXRhID0gZGYxKQ0KcGxvdChybjEsIHJlcCA9ICJiZXN0IikNCmBgYA0KDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlOyI+NC4gUHJlZGVjaXIgbG9zIHJlc3VsdGFkb3M8L3NwYW4+DQpgYGB7cn0NCnBydWViYV9leGFtZW4gPC0gYygzMCw0MCw4NSkNCnBydWViYV9wcm95ZWN0byA8LSBjKDg1LDUwLDQwKQ0KcHJ1ZWJhMSA8LSBkYXRhLmZyYW1lKHBydWViYV9leGFtZW4sIHBydWViYV9wcm95ZWN0bykNCnByZWRpY2Npb24xIDwtIGNvbXB1dGUocm4xLHBydWViYTEpDQpwcmVkaWNjaW9uMSRuZXQucmVzdWx0DQpwcm9iYWJpbGlkYWQxIDwtIHByZWRpY2Npb24xJG5ldC5yZXN1bHQNCnJlc3VsdGFkbzEgPC0gaWZlbHNlKHByb2JhYmlsaWRhZDE+MC41LDEsMCkNCnJlc3VsdGFkbzENCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IEVqZXJjaWNpbyAyOiBDw6FuY2VyIGRlIE1hbcOhPC9zcGFuPiANCg0KIVtdKEM6XFxVc2Vyc1xcTHVpcyBSb2RyaWd1ZXpcXERvd25sb2Fkc1xcY2FuY2VyZGVtYW1hLmpwZykNCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOnJlZDsiPjEuIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+DQoNCmBgYHtyfQ0KbGlicmFyeShyZWFkcikNCmxpYnJhcnkobmV1cmFsbmV0KQ0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+Mi4gSW1wb3J0YXIgYmFzZSBkZSBkYXRvczwvc3Bhbj4gDQpgYGB7cn0NCmRmIDwtIHJlYWQuY3N2KCJDOlxcVXNlcnNcXEx1aXMgUm9kcmlndWV6XFxEb3dubG9hZHNcXGNhbmNlcl9kZV9tYW1hLmNzdiIpDQpkZiRkaWFnbm9zaXMgPC0gaWZlbHNlKGRmJGRpYWdub3NpcyA9PSAiTSIsMSwwKQ0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyIgPjMuIEdlbmVyYWwgbGEgUmVkIE5ldXJvbmFsPC9zcGFuPiAgDQoNCmBgYHtyfQ0Kcm4yIDwtIG5ldXJhbG5ldChkaWFnbm9zaXMgfi4sIGRhdGE9ZGYpDQpwbG90KHJuMiwgcmVwPSJiZXN0IikNCmBgYCAgDQoNCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOnJlZDsiPjQuIFByZWRlY2lyIGxvcyByZXN1bHRhZG9zPC9zcGFuPiANCg0KYGBge3J9DQpwcnVlYmEyIDwtIGRmW2MoMTksMjAsMjEsMjIsMjMpLCBdDQpwcmVkaWNjaW9uMiA8LSBjb21wdXRlKHJuMiwgcHJ1ZWJhMikNCnByZWRpY2Npb24yJG5ldC5yZXN1bHQNCnByb2JhYmlsaWRhZDIgPC0gcHJlZGljY2lvbjIkbmV0LnJlc3VsdA0KcmVzdWx0YWRvMiA8LSBpZmVsc2UocHJvYmFiaWxpZGFkMj4wLjUsMSwwKQ0KcmVzdWx0YWRvMg0KYGBg