75  
Kleber Ernesto Baldarrago Salas  
Erika Cayllahua Chicaña  
Fanny Lorena Lorenzo Quilla  
Maria Quijia Álvarez  
RECIBIDO 10/08/2021 ACEPTADO 15/09/2021 ● PUBLICADO 30/09/2021  
RESUMEN  
Debido al problema recurrente presentado en los alumnos en lo que se refiere a su desempeño  
académico, se desarrolló una aplicación de redes neuronales con el objetivo de ayudar al docente,  
ya que esta es capaz de dar resultados de las notas finales de los alumnos y ayudará al docente  
a comprender el porqué de los resultados, puesto que esta red neuronal toma en cuenta  
diferentes factores que conlleva al alumno a tener una nota aprobatoria o desaprobatoria. Para  
obtener los resultados se trabajó en el entrenamiento de la red neuronal mediante el modelo de  
clasificación el cual muestra en el resultado la cantidad de alumnos aprobados o desaprobados y  
el otro modelo de regresión el cual predice la nota de un alumno dadas las características de su  
encuesta inicial, ambos modelos fueron de gran ayuda para predecir el comportamiento de los  
datos.  
Palabras claves: Clasificación, Redes neuronales, Regresión, Predicción, Compartimiento del alumno.  
ABSTRACT  
Due to the recurring problem presented in the students regarding their academic performance,  
an application of neural networks was developed with the aim of helping the teacher, since it is  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
76  
capable of giving results of the final grades of the students and will help the teacher to understand  
the reason for the results, since this neural network takes into account different factors that lead  
the student to have a passing or failing grade. To obtain the results, we worked on the training  
of the neural network through the classification model which shows in the result the number of  
approved or disapproved students and the other regression model which predicts a student's  
grade given the characteristics of their initial survey, both models were of great help in predicting  
the behavior of the data.  
Keywords: Classification, Neural networks, Regression, Prediction, Student sharing.  
INTRODUCIÓN  
En este trabajo se presenta el desarrollo de una aplicación con el uso de Redes Neuronales  
multicapa el cual busca clasificar a los alumnos de acuerdo a su nota para ver si serán aprobados  
o desaprobados en un curso, a su vez esta toma en cuenta los diferentes factores que influyen  
en la nota final del alumno los cuales fueron clasificados en variables independientes y  
dependientes que posteriormente serán sometidos a una limpieza de datos donde se tratarán  
datos duplicados y datos anómalos y estarán listos para ser normalizados y almacenados en un  
dataset.  
La herramienta que se utilizó para el desarrollo de la aplicación es Anaconda en su entorno de  
Spyder en el lenguaje de python donde para construir la red neuronal fue necesario instalar  
diferentes librerías las cuales ayudarán a predecir el comportamiento de los datos y las fallas que  
influyen en el desempeño de los alumnos los cuales serán reflejados en las notas finales. Esta  
aplicación tiene como objetivo ayudar a los profesores a proveer la nota final de sus alumnos y  
verificar las causas y los factores que influyen a que un alumno tenga nota aprobatoria o  
desaprobatoria al final del curso. Así también el modelo de regresión permitirá predecir la nota  
final de un alumno dadas las características iniciales de este.  
MATERIALES Y MÉTODOS  
Descripción general de la aplicación  
Un Instituto Politécnico de Informática (IPI) quiere desarrollar una aplicación que apoye a los  
docentes a proveer el resultado final de aprobado o no aprobado para los estudiantes. Este  
resultado deberá ser propuesto por la aplicación en función de los datos que los estudiantes  
brindaron al inicio del curso.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
77  
Así mismo, de estas encuestas se obtuvieron 1 044 encuestas recogidas en 2 IPIs de una ciudad  
durante el curso anterior en las asignaturas de inglés y matemáticas, así como el rendimiento de  
dichos estudiantes.  
Selección y justificación del modelo  
Debido a la capacidad de aprendizaje, las redes neuronales pueden llevar a cabo ciertas tareas  
basadas en un entrenamiento. Por ello, para abordar esta etapa inicial de la investigación, se  
pensó en un proceso de entrenamiento de la red neuronal en el cual se expondrá un conjunto de  
patrones de entrada y se ajustarán los pesos de forma que al final de este proceso se obtengan  
las salidas deseadas, que en este momento están clasificadas en dos categorías diferentes  
aprobado o desaprobado.  
Siendo así que justificamos el uso de un modelo de clasificación para la predicción de si estará  
aprobado o no, y el uso de un modelo de regresión para predecir la nota como tal.  
Herramientas  
Anaconda  
Es una distribución libre y abierta de los lenguajes Python y R, utilizada en ciencia de datos, y  
aprendizaje automático (machine learning). Este incluye procesamiento de grandes volúmenes  
de información, análisis predictivo y cómputos científicos. Está orientado a simplificar el  
despliegue y administración de los paquetes de software [1].  
Spyder  
Es un entorno científico escrito en Python, para Python, y diseñado por y para científicos,  
ingenieros y analistas de datos. El cual ofrece una combinación única de funciones avanzadas de  
edición, análisis, depuración y creación de perfiles de una herramienta de desarrollo integral con  
la exploración de datos, ejecución interactiva, inspección profunda y hermosas capacidades de  
visualización de un paquete científico y para aprovechar todas estas funciones es necesario  
instalar el entorno de anaconda [2].  
Librerías y framework  
Para el desarrollo de la aplicación se instalaron librerías que facilitarán el tratamiento de los datos  
las cuales son:  
Theano  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
78  
Es un compilador para matemáticas en Python. Sabe cómo tomar sus estructuras para  
convertirlas en código eficiente que utiliza NumPy, el cual fue diseñado específicamente para  
manejar los tipos de computación requeridos para grandes empresas como los algoritmos de  
redes neuronales usados en deep learning [3].  
Instalación de Theano Línea de comando  
#
pip install Theano  
Tensor Flow  
Es una librería Python para computación numérica la cual puede utilizarse para crear modelos de  
Deep Learning directamente o utilizando librerías de envolturas que simplifican el proceso, fue  
diseñado para su uso tanto en investigación y desarrollo, como por ejemplo en sistemas de  
producción. Puede funcionar en una sola CPUs, GPUs, así como dispositivos móviles y sistemas  
distribuidos a gran escala de cientos de máquinas [4].  
#
Instalación de Tensor Flow línea de comando  
pip install tensorflow=1.0.0  
#
Keras  
Es un framework de alto nivel para el aprendizaje, escrito en Python y capaz de correr sobre los  
frameworks TensorFlow, CNTK, o Theano. Fue desarrollado con el objeto de facilitar un proceso  
de experimentación rápida [5].  
#
#
Instalación de Keras línea de comando  
pip install keras  
Numpy  
Es una extensión de Python, que le agrega mayor soporte para vectores y matrices, constituyendo  
una biblioteca de funciones matemáticas de alto nivel para operar con esos vectores o matrices  
[6].  
#
Instalación de Numpy línea de comando:  
import numpy as np  
Matplotlib.pyplop  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
79  
Es una interfaz basada en estados para matplotlib. Proporciona una forma de trazado similar a  
MATLAB.Pyplot está diseñado principalmente para gráficos interactivos y casos simples de  
generación de gráficos programáticos [7].  
#
Instalación de Matplotlib.pyplop línea de comando:  
import matplotlib.pyplot as plt  
Pandas  
Es una herramienta de manipulación y análisis de datos de código abierto rápida, potente, flexible  
y fácil de usar, construida sobre el lenguaje de programación Python [8].  
#
Instalación de Pandas línea de comando:  
import pandas as pd  
Sklearn.metrics  
Implementa funciones que evalúan el error de predicción para propósitos específicos. Estas  
métricas se detallan en las secciones en las métricas de clasificación, MULTILABEL métricas de  
clasificación, las métricas de regresión y las métricas de agrupamiento [9].  
#
Instalación de Sklearn.metrics línea de comando:  
from sklearn.metrics import mean_squared_error  
Selección del lenguaje de desarrollo  
La elección del lenguaje para el desarrollo de esta investigación viene dado gracias a las ventajas  
de la misma; en este sentido, el trabajar con el lenguaje Python puede brindar facilidades como  
su sencillez, la usabilidad multiplataforma que permite la obtención de paquetes para la  
preparación del código en distintas plataformas. Otro punto resaltante, es la flexibilidad del  
lenguaje al permitir trabajar con programación Orientada a Objetos o scripting.  
Sin embargo, uno de los aspectos más interesantes de este lenguaje es que permite trabajar el  
desarrollo de RN con librerías gratuitas propias del lenguaje, las cuales permiten acelerar el  
proceso de desarrollo e implementación [10].  
Descripción de los procesos  
Tratamiento y limpieza de datos  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
80  
Lo primero es tratar el dataset proporcionado, en éste, se corregirán registros(encuestas)  
erróneas. Este proceso permitirá identificar registros incompletos, incorrectos, inexactos o no  
pertinentes, posterior a ello y con el dataset limpio, se puede comenzar a trabajar en el objetivo  
de esta investigación.  
Figura 1. Dataset limpio.  
Transformación de Datos  
Lo primero es el reconocimiento de las variables dependientes e independientes sobre las cuales  
se va a trabajar y modelar la red neuronal.  
Variables Independientes  
Y
Nota final de curso  
Dependientes  
X_0  
X_1  
X_2  
X_3  
X_4  
X_5  
X_6  
X_7  
Asignatura  
Escuela  
Sexo del estudiante  
Edad del estudiante  
Tipo de residencia del estudiante (Urbana o Rural)  
Tamaño del núcleo familiar del estudiante  
Si el estudiante tiene padres separados  
Nivel escolar de la madre  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
81  
X_8  
Nivel escolar del padre  
X_9  
Trabajo de la madre  
X_10  
X_11  
X_12  
X_13  
X_14  
X_15  
X_16  
X_17  
X_18  
Trabajo del padre  
Razón por la que el estudiante escogió esa escuela en la secundaria  
Tutor legal  
Tiempo de viaje desde la casa del estudiante a la escuela  
Tiempo de estudio semanal en horas  
Número de asignaturas desaprobadas en la secundaria  
Si la escuela le brinda al estudiante atención diferenciada  
Si la familia del estudiante le presta atención diferenciada  
Si el estudiante ha contratado a terceras personas para que lo ayuden en las  
asignaturas  
X_19  
X_20  
X_21  
X_22  
X_23  
X_24  
X_25  
X_26  
X_27  
X_28  
X_29  
X_30  
X_31  
X_32  
Si el estudiante participa en actividades extracurriculares de la escuela  
Si el estudiante ha sido atendido en la enfermería de la escuela  
Si el estudiante pretende estudiar en la Universidad  
Si el estudiante tiene internet en su hogar  
Si el estudiante está en una relación de pareja  
Calidad de la relación del estudiante con su familia  
Tiempo libre después de la escuela  
Si el estudiante sale con sus amigos  
Cantidad de alcohol consumido entre semana  
Cantidad de alcohol consumido en el fin de semana  
Estado de salud  
Cantidad de ausencias a la escuela durante el curso  
Nota del primer trabajo de control parcial  
Nota del segundo trabajo de control parcial  
De esta manera, se debe identificar aquellas variables categóricas y no categóricas. Sin embargo,  
se ha considerado trabajar con Y_1 para la clasificación (desaprobado/aprobado) y Y_2 para la  
regresión (campo de notas finales).  
Ahora, a las variables mostradas en el cuadro anterior se les aplicó un preprocesamiento, es decir  
la asignación de un equivalente numérico, teniendo en cuenta lo que representaba cada campo,  
para su posterior normalización, como resultado del mismo tenemos las siguientes equivalencias:  
Tabla 1. Normalización de variables parte I.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
82  
Tabla 2. Normalización de variables parte II.  
Tabla 3. Normalización de variables parte III.  
Tabla 4. Normalización de variables parte IV.  
Como resultado final de esta fase, se tuvo el dataset a entrenar.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
83  
Figura 2. Dataset preprocesado - Encuestas de inicio de curso y notas.  
ENTRENAMIENTO Y VALIDACIÓN  
Fase de preprocesamiento de datos  
Figura 3. Implementación del importe de librerías para el preprocesamiento.  
Figura 4. Implementación de la división de variables dependientes e independientes.  
Fase de entrenamiento  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
84  
Figura 5. Implementación de la división de la data de test y entrenamiento.  
Figura 6. Implementación para el escalamiento de datos.  
Fase de Creación de la red neuronal  
Sequential es utilizada para que la red neuronal sea creada en secuencias, capa por capa,  
manualmente  
Figura 7. Importe de librerías para la creación de la red neuronal.  
Figura 8. Implementación para el escalamiento de datos.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
85  
Figura 9. Implementación del modelo (capas).  
Figura 10. Implementación del encajamiento de la RN con el entrenamiento.  
Fase de predicción y comprobación  
Figura 11. Implementación de la predicción.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
86  
Figura 12. Implementación de la medición del entrenamiento y la prueba.  
Figura 13. Implementación para la serialización del modelo para json.  
Figura 14. Implementación de la de pesos en el nuevo modelo.  
Figura 15. Implementación para mostrar los resultados gráficamente.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
87  
Figura 16. Implementación para mostrar la predicción gráficamente.  
Figura 17. Implementación para predecir resultados de estudiantes nuevos.  
RESULTADOS Y DISCUSIÓN  
En esta parte del documento, se presentan los resultados de la construcción de la red neuronal  
para el tema de investigación.  
Modelo de regresión  
Figura 18. Progreso de entrenamiento - Modelo de regresión.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
88  
Figura 19. Resultados de predicción - Modelo de regresión.  
Las métricas del modelo creado fueron las siguientes:  
Figura 20. Métricas- Modelo de regresión.  
Modelo de clasificación  
Figura 21. Progreso de entrenamiento - Modelo de clasificación.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
89  
Figura 22. Resultados de predicción - Modelo de clasificación.  
Figura 23. Lectura de una matriz de confusión.  
La lectura de la matriz de confusión es la siguiente: True Negative [TN], True Positive [TP], False  
Positive [FP], False Negative [FN]. En nuestro caso, tenemos el siguiente resultado:  
Figura 24. Gráfica de matriz de confusión - Modelo de clasificación.  
Tabla 5. Resultados de métricas - Modelo de clasificación.  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
90  
Nro  
1
Métrica  
Resultado  
Error Cuadrático Medio  
Presicion (Precisión)  
Recall (Exhaustividad)  
Accuracy (Exactitud)  
F1  
0.054983007933077  
0.947916666666666  
0.892156862745098  
0.938697318007662  
0.919191919191919  
2
3
4
5
Comparativa  
Para poder evaluar los dos métodos, adecuamos los resultados y_predictB = (y_predict>0.6)  
para tener el número de aprobados versus el número de desaprobados como se muestra en la  
figura 26. La misma la comparamos con la Figura 25, podemos ver que la predicción del modelo  
de clasificación con respecto al regresión es más acertada.  
Figura 26. Gráfica de matriz de confusión - Modelo de regresión  
CONCLUSIONES  
En conclusión, una red neuronal de regresión nos permite predecir valores numéricos es decir la  
nota del alumno, sin embargo, al ser continuos los datos que calcula, hay un mayor ruido en los  
indicadores como la exactitud. Podemos medir la calidad de la predicción con métricas como el  
error absoluto medio, error cuadrático medio, varianza, entre otros. La red neuronal de  
clasificación nos permite predecir si el estudiante estará o no aprobado, la misma se puede medir  
empleando métricas tales como el cuadro de confusión, la precisión, la exactitud, entre otros. Los  
datos que poseemos tenemos que pre procesarlos de acuerdo al modelo que utilicemos y  
normalizarlos de ser necesario. entendiendo la relación de cada componente con el modelo  
predictivo.  
REFERENCIAS  
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935  
91  
[
[
[
2] Spyder vision general. [Online]. Available: https://www.spyder-ide.org/  
3] Theano Project description. [Online]. Available: https://pypi.org/project/Theano/  
4] J. Buhigas“Todo lo que necesitas saber sobre Tensor Flow, la plataforma para Inteligencia  
[
REVISTA INNOVACIÓN Y SOFTWARE  
VOL 2 Nº 2 Septiembre - Febrero 2021 ISSN Nº 2708-0935