Redes Neuronales

Uan 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 Nueronales:
1. La recomendación de contenido de Netflix.
2. Feed de TikTok.

Ejercicio de Ejemplo: Aprueba o no aprueba

1. Instalar y cargar paqueterías

#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,1,1)

df <- data.frame(examen,proyecto,estatus)

3. Generar Red Neuronal

# variable a predecir ~ resto de base de datos (.)
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.4011227
## [2,] 0.4011224
## [3,] 0.4011224
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    0
## [2,]    0
## [3,]    0

Práctica: Tumor benigno o maligno

1. Cargar base de datos

cancer <- read.csv("/Users/sarahyzayas/Library/Mobile Documents/com~apple~CloudDocs/1. TEC /7 sem/M4_Raul /cancer_de_mama.csv")

2. Asignar la variable independiente como 1(maligno) y 0(benigno)

cancer$diagnosis <- ifelse(cancer$diagnosis == "M",1,0)
unique(cancer$diagnosis)
## [1] 1 0

2. Generar Red Neuronal

# variable a predecir ~ resto de base de datos (.)
red_neuronal_cancer <- neuralnet(diagnosis ~ ., data=cancer)

plot(red_neuronal_cancer, rep="best")

4. Predecir con la Red Neuronal

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

prediccion_cancer <- compute(red_neuronal_cancer,prueba_cancer)

probabilidad_cancer <- prediccion_cancer$net.result
probabilidad_cancer
##         [,1]
## 19 0.3725838
## 20 0.3725838
## 21 0.3725838
## 22 0.3725838
## 23 0.3725838
resultado <- ifelse(probabilidad_cancer>0.5,1,0)
resultado
##    [,1]
## 19    0
## 20    0
## 21    0
## 22    0
## 23    0
LS0tCnRpdGxlOiAiQWN0IDQuIDcgUmVkZXMgTmV1cm9uYWxlcyIKYXV0aG9yOiAiWnVsZXljYSBTYXJhaHkgWmF5YXMgQmVsdHJhbiIKZGF0ZTogIjIwMjMtMDktMjgiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFCiAgICB0aGVtZTogInNpbXBsZXgiCiAgICBoaWdobGlnaHQ6ICJtb25vY2hyb21lIgotLS0KIVtdKC9Vc2Vycy9zYXJhaHl6YXlhcy9MaWJyYXJ5L01vYmlsZSBEb2N1bWVudHMvY29tfmFwcGxlfkNsb3VkRG9jcy8xLiBURUMgLzcgc2VtL000X1JhdWwgL3JlZGVzX25ldXJvbmFsZXMuZ2lmKXt3aWR0aD03NTBweCBoZWlnaHQ9MzUwcHh9CgojIFJlZGVzIE5ldXJvbmFsZXMgPGJyPgpVYW4gUmVkIE5ldXJhbCBBcnRpZmljaWFsIChBTk4pIG1vZGVsYSBsYSByZWxhY2nDs24gZW50cmUgdW4gY29uanVudG8gZGUgZW50cmFkYXMgeSB1bmEgc2FsaWRhLCByZXNvbHZpZW5kbyB1biBwcm9ibGVtYSBkZSBhcHJlbmRpemFqZS4gPGJyPgoKRWplbXBsb3MgZGUgYXBsaWNhY2nDs24gZGUgUmVkZXMgTnVlcm9uYWxlczogPGJyPgoxLiBMYSByZWNvbWVuZGFjacOzbiBkZSBjb250ZW5pZG8gZGUgTmV0ZmxpeC4gPGJyPgoyLiBGZWVkIGRlIFRpa1Rvay4gPGJyPgoKCiMjIEVqZXJjaWNpbyBkZSBFamVtcGxvOiBBcHJ1ZWJhIG8gbm8gYXBydWViYSAKCiMjIyAxLiBJbnN0YWxhciB5IGNhcmdhciBwYXF1ZXRlcsOtYXMgCmBgYHtyLCB3YXJuaW5nPVRSVUUsIG1lc3NhZ2U9VFJVRX0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpCmxpYnJhcnkobmV1cmFsbmV0KQpgYGAKCiMjIyAyLiBBbGltZW50YXIgY29uIGVqZW1wbG9zIApgYGB7cn0KZXhhbWVuIDwtIGMoMjAsMTAsMzAsMjAsODAsMzApCnByb3llY3RvIDwtIGMoOTAsMjAsNDAsNTAsNTAsODApCmVzdGF0dXMgPC0gYygxLDAsMCwwLDEsMSkKCmRmIDwtIGRhdGEuZnJhbWUoZXhhbWVuLHByb3llY3RvLGVzdGF0dXMpCmBgYAoKIyMjIDMuIEdlbmVyYXIgUmVkIE5ldXJvbmFsIApgYGB7cn0KIyB2YXJpYWJsZSBhIHByZWRlY2lyIH4gcmVzdG8gZGUgYmFzZSBkZSBkYXRvcyAoLikKcmVkX25ldXJvbmFsIDwtIG5ldXJhbG5ldChlc3RhdHVzIH4gLiwgZGF0YT1kZikKcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikKCmBgYAoKIyMjIDQuIFByZWRlY2lyIGNvbiBsYSBSZWQgTmV1cm9uYWwgCmBgYHtyfQpwcnVlYmFfZXhhbWVuICA8LSBjKDMwLDQwLDg1KQpwcnVlYmFfcHJveWVjdG8gPC0gYyg4NSw1MCw0MCkKcHJ1ZWJhIDwtIGRhdGEuZnJhbWUocHJ1ZWJhX2V4YW1lbixwcnVlYmFfcHJveWVjdG8pCgpwcmVkaWNjaW9uIDwtIGNvbXB1dGUocmVkX25ldXJvbmFsLHBydWViYSkKcHJlZGljY2lvbiRuZXQucmVzdWx0CnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQKcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkKcmVzdWx0YWRvCgpgYGAKCgoKCiMjIFByw6FjdGljYTogVHVtb3IgYmVuaWdubyBvIG1hbGlnbm8gCgojIyMgMS4gQ2FyZ2FyIGJhc2UgZGUgZGF0b3MgCmBgYHtyLCB3YXJuaW5nPVRSVUUsIG1lc3NhZ2U9VFJVRX0KY2FuY2VyIDwtIHJlYWQuY3N2KCIvVXNlcnMvc2FyYWh5emF5YXMvTGlicmFyeS9Nb2JpbGUgRG9jdW1lbnRzL2NvbX5hcHBsZX5DbG91ZERvY3MvMS4gVEVDIC83IHNlbS9NNF9SYXVsIC9jYW5jZXJfZGVfbWFtYS5jc3YiKQpgYGAKCgojIyMgMi4gQXNpZ25hciBsYSB2YXJpYWJsZSBpbmRlcGVuZGllbnRlIGNvbW8gMShtYWxpZ25vKSB5IDAoYmVuaWdubykgCmBgYHtyfQpjYW5jZXIkZGlhZ25vc2lzIDwtIGlmZWxzZShjYW5jZXIkZGlhZ25vc2lzID09ICJNIiwxLDApCnVuaXF1ZShjYW5jZXIkZGlhZ25vc2lzKQpgYGAKCgojIyMgMi4gR2VuZXJhciBSZWQgTmV1cm9uYWwgCmBgYHtyfQojIHZhcmlhYmxlIGEgcHJlZGVjaXIgfiByZXN0byBkZSBiYXNlIGRlIGRhdG9zICguKQpyZWRfbmV1cm9uYWxfY2FuY2VyIDwtIG5ldXJhbG5ldChkaWFnbm9zaXMgfiAuLCBkYXRhPWNhbmNlcikKCnBsb3QocmVkX25ldXJvbmFsX2NhbmNlciwgcmVwPSJiZXN0IikKCmBgYAoKIyMjIDQuIFByZWRlY2lyIGNvbiBsYSBSZWQgTmV1cm9uYWwgCmBgYHtyfQpwcnVlYmFfY2FuY2VyIDwtIGNhbmNlcltjKDE5LDIwLDIxLDIyLDIzKSxdCgpwcmVkaWNjaW9uX2NhbmNlciA8LSBjb21wdXRlKHJlZF9uZXVyb25hbF9jYW5jZXIscHJ1ZWJhX2NhbmNlcikKCnByb2JhYmlsaWRhZF9jYW5jZXIgPC0gcHJlZGljY2lvbl9jYW5jZXIkbmV0LnJlc3VsdApwcm9iYWJpbGlkYWRfY2FuY2VyCgpyZXN1bHRhZG8gPC0gaWZlbHNlKHByb2JhYmlsaWRhZF9jYW5jZXI+MC41LDEsMCkKcmVzdWx0YWRvCgpgYGAKCg==