# <span style="color: blue;">Redes Neuronales</span>

## <span style="color: blue;">0. Concepto</span>
#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.  

## <span style="color: blue;">1. Instalar paquetes y llamar librerías</span>

library(neuralnet)


## <span style="color: blue;">2. Alimentar con ejemplos</span>

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)


## <span style="color: blue;">3. Generar la Red Neuronal</span>

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

## <span style="color: blue;">4. Predecir con la Red Neuronal</span>

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

#Conclusion

El código presentado utiliza una Red Neuronal Artificial (ANN) para predecir el estado de aprobación de un estudiante basado en sus calificaciones de exámenes y proyectos. Se entrena la red con ejemplos de datos y luego se usa para predecir resultados con nuevos datos. Finalmente, se determina si el estudiante aprueba o no, dependiendo de la probabilidad calculada. La conclusión principal es que la ANN puede modelar y predecir con precisión el estatus de aprobación, basado en patrones aprendidos de los datos de entrenamiento.