Abstract
El presente trabajo representa la finalización de los estudios del Grado en
Ingeniería Informática impartida en la Universidad Politécnica de Madrid, del alumno
José Mario López Leiva. Por tanto, este documento el culmen de un proceso de formación
que recoge la adquisición de conocimiento en distintas ramas de las Ciencias de la
Computación, y en concreto, esta obra versa acerca de uno de los temas en boga dentro
de esta rama del saber: el aprendizaje computacional (o automático), que como su nombre
sugiere, se trata del conjunto de técnicas que permiten a una máquina aprender en base a
una serie de ejemplos provistos. Como el proceso de aprendizaje automático realizado se
ha alcanzado con una combinación de técnicas y decisiones humanas y computacionales,
el término que se maneja en el trabajo es el de Minería de datos. Este trabajo, pues,
presenta un análisis de minería de datos realizado sobre un conjunto de datos real y
cercano: la colección de calificaciones de la asignatura de Lógica impartida en la misma
casa. El trabajo ha tratado, a grandes rasgos, de la elaboración de una aplicación web que
se valga de métodos predictivos utilizando el aprendizaje computacional (la aplicación
debe aprender del conjunto de notas) para luego formular un modelo que permita estimar,
con un cierto porcentaje, el riesgo o probabilidad de que un alumno suspenda (o apruebe)
la asignatura en base a las calificaciones que ingrese en la aplicación, notas que
representan la realización de actividades evaluables dentro del proceso de evaluación
continua dentro de la materia.
Por su parte, la memoria recoge los siguientes aspectos: una breve introducción a
la minería de datos, para lograr entender el alcance de esta ciencia y sus beneficios; así
como la teoría matemática que se encuentra de detrás de los algoritmos de minería de
datos elegidos -en concreto, se ha elegido la regresión logística como método de
predicción en el contexto de la minería de datos, aunque se han realizado pruebas con un
algoritmo de árbol de decisión, como lo es el J48-. A continuación, se analiza el conjunto
de datos y sus particularidades para proceder a un preproceso de los datos (parte del
proceso de minería de datos). Después de este preprocesamiento, se efectúa un filtrado de
variables para proceder con el entrenamiento del modelo y los correspondientes análisis
de bondad, que consisten en comprobar lo bueno y fiable que es el predictor obtenido.
Una vez realizada la parte de minería de datos, se ha elaborado una aplicación
web con la tecnología Spring Boot que permite el desarrollo del programa en lenguaje
Java y con un despliegue rápido. De esta manera, el usuario puede ingresar las
calificaciones obtenidas en sus evaluaciones para conocer el riesgo de suspender, pero
también se ha dotado a la aplicación de una calculadora completa de la nota final de la
asignatura, que indica que partes de la asignatura se guardan para la evaluación
extraordinaria, así como un sencillo comparador gráfico que permite comparar las
calificaciones obtenidas con las medias de años anteriores. En definitiva, se ha buscado
que la aplicación sea eficiente computacionalmente, y que la parte de minería de datos
sea fácilmente interpretable y que cada decisión dentro del proceso quede debidamente
justificada.---ABSTRACT---This work represents the culmination of the Degree in Computing Science studies
for José Mario López Leiva. Thus, this document is the conclusion of the academic
formation process that has allowed him to acquire the necessary knowledge in the field
of the Computing Science, and specifically, this work is about the one of the latest trends
in this area: The Machine Learning, that, as its very name indicates, is the set of
techniques that allow a machine, namely a computer, to learn based on some given
examples. As this Machine Learning process, has been achieved by combining human
and computational decisions, the term used in is Data Mining instead. So, in this project,
an analysis has been performed over a real and familiar dataset: the grades obtained in
the Logic subject taught at this school. The main goal of the project is to develop a web
application that estimates the probability of a student failing (or passing) the subject,
trough Data Mining processes; based on the grades that the users input into the program,
each meaning an evaluation in the context of the subject.
As for this document, it is divided in the following sections: a brief introduction
to Data Mining, made with the intent to make it easier to understand and have an idea of
its reach and benefits; as well as the mathematical definitions behind the chosen Data
Mining algorithm - Logistic Regression, although a decision tree algorithm, machine
learning J48, has been used as a support tool-. Next, the document shows an analysis of
the dataset, a must for the step of preprocessing, a vital part of the Data Mining Process.
The next step is a features filtering process, so at the end, the model training process can
be performed over the cleaned data. Lastly, the work concludes with the development of
the Web Application, which has been created with the Spring Boot technology, mainly,
to guarantee a quick deployment of the program. This way, the user can be aware of his
chances of failing the signature, but the application has been enriched with a final grade
calculator, as well as a comparator that allows to contrast the user’s grades with the means
of previous courses.