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

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

1. Ejercicio con cáncer de mama

2. Alimentar con ejemplos

df1 <- read.csv("C:\\Users\\Asus ZenBook\\Downloads\\cancer_de_mama.csv")
df1$diagnosis <- ifelse(df1$diagnosis == "M", 1, 0)

3.Generar la red neuronal

red_neuronal1 <- neuralnet(diagnosis ~., data=df1)
plot(red_neuronal1, rep = "best")

4. Predecir con la red neuronal

prueba_cancer <- df1[c(19,20,21,22,23),]
prediccion <- compute(red_neuronal1, prueba_cancer)
prediccion$net.result
##           [,1]
## 19 1.000354193
## 20 0.008185906
## 21 0.008184881
## 22 0.008184881
## 23 1.000354193
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    1
## 20    0
## 21    0
## 22    0
## 23    1
LS0tDQp0aXRsZTogIlJlZGVzIG5ldXJvbmFsZXMiDQphdXRob3I6ICJEYW5pZWxhIEdhcnphIg0KZGF0ZTogIjIwMjMtMTAtMDIiDQpvdXRwdXQ6IA0KIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiAic3BhY2VsYWIiDQogICAgaGlnaGxpZ2h0OiAia2F0ZSINCg0KLS0tDQoNCiFbXShDOlxcVXNlcnNcXEFzdXMgWmVuQm9va1xcRG93bmxvYWRzXFxnaWZuZXVyb25hcy5naWYpDQoNCiMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+UmVkZXMgTmV1cm9uYWxlczwvc3Bhbj4NCg0KIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+Q29uY2VwdG88L3NwYW4+DQpVbmEgUmVkIE5ldXJhbCBBcnRpZmljaWFsIChBTk4pIG1vZGVsYSBsYSByZWxhY2nDs24gZW50cmUgdW4gY29uanVudG8gZGUgZW50cmFkYXMgeSB1bmEgc2FsaWRhLCByZXNvbHZpZW5kbyB1biBwcm9ibGVtYSBkZSBhcHJlbmRpemFqZS4NCkVqZW1wbG9zIGRlIGFwbGljYWNpw7NuIGRlIFJlZGVzIE5ldXJvbmFsZXMgc29uOg0KMS4gTGEgcmVjb21lbmRhY2nDs24gZGUgY29udGVuaWRvIGRlIG5ldGZsaXguDQoyLiBFbCBmZWVkIGRlIGluc3RhZ3JhbSBvIHRpa3Rvaw0KMy4gRGV0ZXJtaW5hciBlbCBuw7ptZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8uDQoNCiMjIDxzcGFuIHN0eWxlID0iY29sb3I6Ymx1ZTsiPjEuIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+DQpgYGB7cn0NCmxpYnJhcnkobmV1cmFsbmV0KQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+Mi4gQWxpbWVudGFyIGNvbiBlamVtcGxvczwvc3Bhbj4NCmBgYHtyfQ0KZXhhbWVuIDwtIGMoMjAsMTAsMzAsMjAsODAsMzApDQpwcm95ZWN0byA8LSBjKDkwLDIwLDQwLDUwLDUwLDgwKQ0KZXN0YXR1cyA8LSBjKDEsMCwwLDAsMCwxKQ0KZGYgPC0gZGF0YS5mcmFtZShleGFtZW4sIHByb3llY3RvLCBlc3RhdHVzKQ0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlID0iY29sb3I6Ymx1ZTsiPjMuIEdlbmVyYXIgbGEgcmVkIG5ldXJvbmFsPC9zcGFuPg0KYGBge3J9DQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGVzdGF0dXMgfi4sIGRhdGE9ZGYpDQpwbG90KHJlZF9uZXVyb25hbCwgcmVwID0gImJlc3QiKQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+NC4gUHJlZGVjaXIgY29uIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4NCmBgYHtyfQ0KcHJ1ZWJhX2V4YW1lbiA8LSBjKDMwLDQwLDg1KQ0KcHJ1ZWJhX3Byb3llY3RvIDwtIGMoODUsNTAsNDApDQpwcnVlYmEgPC0gZGF0YS5mcmFtZShwcnVlYmFfZXhhbWVuLCBwcnVlYmFfcHJveWVjdG8pDQpwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLCBwcnVlYmEpDQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQNCnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQNCnJlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkPjAuNSwxLDApDQpyZXN1bHRhZG8NCmBgYA0KDQojIyA8c3BhbiBzdHlsZSA9ImNvbG9yOmJsdWU7Ij4xLiBFamVyY2ljaW8gY29uIGPDoW5jZXIgZGUgbWFtYTwvc3Bhbj4NCg0KIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+Mi4gQWxpbWVudGFyIGNvbiBlamVtcGxvczwvc3Bhbj4NCmBgYHtyfQ0KZGYxIDwtIHJlYWQuY3N2KCJDOlxcVXNlcnNcXEFzdXMgWmVuQm9va1xcRG93bmxvYWRzXFxjYW5jZXJfZGVfbWFtYS5jc3YiKQ0KZGYxJGRpYWdub3NpcyA8LSBpZmVsc2UoZGYxJGRpYWdub3NpcyA9PSAiTSIsIDEsIDApDQpgYGANCg0KIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+My5HZW5lcmFyIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4NCmBgYHtyfQ0KcmVkX25ldXJvbmFsMSA8LSBuZXVyYWxuZXQoZGlhZ25vc2lzIH4uLCBkYXRhPWRmMSkNCnBsb3QocmVkX25ldXJvbmFsMSwgcmVwID0gImJlc3QiKQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGUgPSJjb2xvcjpibHVlOyI+NC4gUHJlZGVjaXIgY29uIGxhIHJlZCBuZXVyb25hbDwvc3Bhbj4NCmBgYHtyfQ0KcHJ1ZWJhX2NhbmNlciA8LSBkZjFbYygxOSwyMCwyMSwyMiwyMyksXQ0KcHJlZGljY2lvbiA8LSBjb21wdXRlKHJlZF9uZXVyb25hbDEsIHBydWViYV9jYW5jZXIpDQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQNCnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQNCnJlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkPjAuNSwxLDApDQpyZXN1bHRhZG8NCmBgYA0KDQo=