Teoría

Una Red Nueronal Artificial (ANN) modela la relación entre un conjunto de entradas y una salida, resolviendo un problema de aprendizaje.

Ejemplos prácticos de aplicación de Redes Nueronales son:

  • La recomendación de contenido en Netflix.
  • El feed de instagram TikTok.
  • Determinar el número o letra escrito a mano.

Instalar paquetes y llamar librerías

#install.packages("neuralnet")
#install.packages("compute.es")
library(compute.es)
library(neuralnet)
library(tidyverse)
library(ggplot2)
library(lattice)
library(caret)

Instalar paquetes y llamar librerías

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)

Generar la Red Neuronal

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

Predecir con la Red Neuronal

prueba_examen <- c(30,40,85)
prueba_proyecto <- c(85,50,50) 

prueba <- data.frame(prueba_examen, prueba_proyecto)

#prediccion <- compute(red_neuronal, prueba)
#probabilidad <- prediccion$net.result
#resultado <- ifelse(probabilidad > 0.5, 1, 0)
#resultado

Cancer de Mama

df_mama <- read.csv("C:\\Users\\erik-\\OneDrive\\Documentos\\Escuela\\Universidad\\7ºSemestre\\Modulo_2\\cancer_de_mama.csv")
df_mama$diagnosis <- as.factor(df_mama$diagnosis)

Generar la Red Neuronal

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

set.seed(123)
renglones_entrenamiento <- createDataPartition(df_mama$diagnosis, p = 0.8, list = FALSE) 
# el argumento list asegura la aleatoridad en las particiones
entrenamiento <- df_mama[renglones_entrenamiento,]
prueba <- df_mama[-renglones_entrenamiento,]
#prediccion <- compute(red_neuronal,prueba)
#prediccion$net.result
#probabilidad <- prediccion$net.result
#resultado <- ifelse(probabilidad > 0.5,1,0)
#resultado
LS0tDQp0aXRsZTogIlJlZGVzIE5ldXJvbmFsZXMiDQphdXRob3I6ICJFcmlrIEdvbnphbGV6Ig0KZGF0ZTogIjIwMjUtMDgtMjUiDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogVFJVRQ0KICAgIHRvY19mbG9hdDogVHJ1ZSANCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQogICAgdGhlbWU6IHlldGkNCi0tLQ0KDQohW10oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpdDoxNDAwLzEqLWVMalBZN1VHU29RaFN5VzVxQzZndy5naWYpDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6Ymx1ZTsiPiBUZW9yw61hIDwvc3Bhbj4NCg0KVW5hICoqUmVkIE51ZXJvbmFsIEFydGlmaWNpYWwgKEFOTikqKiBtb2RlbGEgbGEgcmVsYWNpw7NuIGVudHJlIHVuIGNvbmp1bnRvIGRlIGVudHJhZGFzIHkgdW5hIHNhbGlkYSwgcmVzb2x2aWVuZG8gdW4gcHJvYmxlbWEgZGUgYXByZW5kaXphamUuIA0KDQpFamVtcGxvcyBwcsOhY3RpY29zIGRlIGFwbGljYWNpw7NuIGRlIFJlZGVzIE51ZXJvbmFsZXMgc29uOg0KDQotIExhIHJlY29tZW5kYWNpw7NuIGRlIGNvbnRlbmlkbyBlbiBOZXRmbGl4Lg0KLSBFbCBmZWVkIGRlIGluc3RhZ3JhbSBUaWtUb2suDQotIERldGVybWluYXIgZWwgbsO6bWVybyBvIGxldHJhIGVzY3JpdG8gYSBtYW5vLiANCg0KDQojIDxzcGFuIHN0eWxlID0gImNvbG9yOmJsdWU7Ij4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hcyA8L3NwYW4+DQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpDQojaW5zdGFsbC5wYWNrYWdlcygiY29tcHV0ZS5lcyIpDQpsaWJyYXJ5KGNvbXB1dGUuZXMpDQpsaWJyYXJ5KG5ldXJhbG5ldCkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShsYXR0aWNlKQ0KbGlicmFyeShjYXJldCkNCmBgYA0KDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6Ymx1ZTsiPiBJbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXLDrWFzIDwvc3Bhbj4NCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpleGFtZW4gPC0gYygyMCwxMCwzMCwyMCw4MCwzMCkNCnByb3llY3RvIDwtIGMoOTAsMjAsNDAsNTAsNTAsODApDQplc3RhdHVzIDwtIGMoMSwwLDAsMCwwLDEpDQoNCmRmIDwtIGRhdGEuZnJhbWUoZXhhbWVuLCBwcm95ZWN0byxlc3RhdHVzKQ0KYGBgDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6Ymx1ZTsiPiBHZW5lcmFyIGxhIFJlZCBOZXVyb25hbCA8L3NwYW4+DQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KcmVkX25ldXJvbmFsIDwtIG5ldXJhbG5ldChlc3RhdHVzfi4sZGF0YSA9IGRmKQ0KcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikNCmBgYA0KDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6Ymx1ZTsiPiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXJvbmFsIDwvc3Bhbj4NCmBgYHtyfQ0KcHJ1ZWJhX2V4YW1lbiA8LSBjKDMwLDQwLDg1KQ0KcHJ1ZWJhX3Byb3llY3RvIDwtIGMoODUsNTAsNTApIA0KDQpwcnVlYmEgPC0gZGF0YS5mcmFtZShwcnVlYmFfZXhhbWVuLCBwcnVlYmFfcHJveWVjdG8pDQoNCiNwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLCBwcnVlYmEpDQojcHJvYmFiaWxpZGFkIDwtIHByZWRpY2Npb24kbmV0LnJlc3VsdA0KI3Jlc3VsdGFkbyA8LSBpZmVsc2UocHJvYmFiaWxpZGFkID4gMC41LCAxLCAwKQ0KI3Jlc3VsdGFkbw0KYGBgDQoNCg0KIyA8c3BhbiBzdHlsZSA9ICJjb2xvcjpibHVlOyI+IENhbmNlciBkZSBNYW1hIDwvc3Bhbj4NCmBgYHtyfQ0KZGZfbWFtYSA8LSByZWFkLmNzdigiQzpcXFVzZXJzXFxlcmlrLVxcT25lRHJpdmVcXERvY3VtZW50b3NcXEVzY3VlbGFcXFVuaXZlcnNpZGFkXFw3wrpTZW1lc3RyZVxcTW9kdWxvXzJcXGNhbmNlcl9kZV9tYW1hLmNzdiIpDQpkZl9tYW1hJGRpYWdub3NpcyA8LSBhcy5mYWN0b3IoZGZfbWFtYSRkaWFnbm9zaXMpDQpgYGANCg0KDQojIDxzcGFuIHN0eWxlID0gImNvbG9yOmJsdWU7Ij4gR2VuZXJhciBsYSBSZWQgTmV1cm9uYWwgPC9zcGFuPg0KYGBge3J9DQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGRpYWdub3Npc34uLGRhdGEgPSBkZl9tYW1hKQ0KcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikNCmBgYA0KDQoNCmBgYHtyfQ0Kc2V0LnNlZWQoMTIzKQ0KcmVuZ2xvbmVzX2VudHJlbmFtaWVudG8gPC0gY3JlYXRlRGF0YVBhcnRpdGlvbihkZl9tYW1hJGRpYWdub3NpcywgcCA9IDAuOCwgbGlzdCA9IEZBTFNFKSANCiMgZWwgYXJndW1lbnRvIGxpc3QgYXNlZ3VyYSBsYSBhbGVhdG9yaWRhZCBlbiBsYXMgcGFydGljaW9uZXMNCmVudHJlbmFtaWVudG8gPC0gZGZfbWFtYVtyZW5nbG9uZXNfZW50cmVuYW1pZW50byxdDQpwcnVlYmEgPC0gZGZfbWFtYVstcmVuZ2xvbmVzX2VudHJlbmFtaWVudG8sXQ0KYGBgDQoNCg0KDQpgYGB7cn0NCiNwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLHBydWViYSkNCiNwcmVkaWNjaW9uJG5ldC5yZXN1bHQNCiNwcm9iYWJpbGlkYWQgPC0gcHJlZGljY2lvbiRuZXQucmVzdWx0DQojcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQgPiAwLjUsMSwwKQ0KI3Jlc3VsdGFkbw0KYGBgDQo=