Trabajo Final de Grado
Grado en Ingeniería en Tecnologías Industriales
Aplicación de modelos de regresión en la predicción de
calificaciones de estudiantes de la ETSEIB
MEMORIA
Autor: Antonio Sánchez Peláez Director: Luis José Talavera Méndez Convocatoria: Enero 2021
Escola Tècnica Superior d’Enginyeria Industrial de Barcelona
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 2
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 3
Resumen
El presente documento trata sobre el estudio de técnicas de regresión para la predicción de las
calificaciones del tercer cuatrimestre de los alumnos del Grado en Ingeniería en Tecnologías
Industrias de la Escuela Técnica Superior de Ingeniería Industrial de Barcelona.
La minería de datos, conocida en inglés como data mining, es el proceso de búsqueda de
información en grandes bases de datos por tal de identificar información o patrones que resulten
útiles por tal de realizar predicciones futuras.
Durante todo el proceso se ha seguido la metodología CRISP-DM, la cual comprende las etapas
necesarias para la realización de un estudio de data mining. Se han utilizado diferentes herramientas
de software que trabajan con el lenguaje Python, como las librerías Pandas y Scikit Learn, y el IDE
Spyder.
Las técnicas de regresión utilizadas han sido la regresión lineal, la regresión de cresta o ridge y el
algoritmo K-Nearest Neighbors.
Las principales conclusiones que se extraen del estudio son que los resultados de las predicciones
son muy pobres y que no existe una mejora sustancial de los resultados entre los diferentes
algoritmos. Esto puede deberse a que la calidad de los datos no sea suficiente para modelarlos
mediante regresión y poder hacer predicciones numéricas precisas. Finalmente, se proponen
diferentes alternativas de trabajo para el futuro con la finalidad de continuar con el estudio.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 4
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 5
Índice
ÍNDICE ______________________________________________________ 5
1. GLOSARIO _______________________________________________ 7
2. INTRODUCCIÓN __________________________________________ 8
2.1. Objetivos del proyecto .................................................................................. 11
2.2. Alcance del proyecto .................................................................................... 11
2.3. Herramientas de trabajo ............................................................................... 12
3. COMPRENSIÓN Y PREPARACIÓN DE LOS DATOS ____________ 15
3.1. Comprensión de los datos ............................................................................ 15
3.2. Preparación de los datos .............................................................................. 16
3.2.1. Depuración ...................................................................................................... 17
3.2.2. Transformación ................................................................................................ 18
3.2.2.1. Obtención de los DataFrame ............................................................... 19
4. TÉCNICAS DE MODELAJE Y VALIDACIÓN ___________________ 23
4.1. Técnicas del aprendizaje automático ........................................................... 23
4.2. Selección de modelos ................................................................................... 25
4.3. Validación ..................................................................................................... 30
4.4. Métricas de rendimiento ............................................................................... 31
4.5. Selección de hiperparámetros ...................................................................... 33
4.6. Análisis de los resultados ............................................................................. 35
4.6.1. Regresión Lineal .............................................................................................. 35
4.6.2. Regresión Ridge .............................................................................................. 38
4.6.3. K-Nearest Neighbors ....................................................................................... 43
4.7. Análisis de las predicciones .......................................................................... 48
4.7.1. Informática ....................................................................................................... 50
4.7.2. Ecuaciones diferenciales ................................................................................. 51
4.7.3. Electromagnetismo .......................................................................................... 52
4.7.4. Materiales ........................................................................................................ 53
4.7.5. Mecánica ......................................................................................................... 54
4.7.6. Métodos numéricos ......................................................................................... 54
4.7.7. Conclusiones del apartado .............................................................................. 55
4.8. Discusión de los modelos seleccionados ..................................................... 56
5. PROGRAMACIÓN TEMPORAL ______________________________ 58
6. COSTOS ________________________________________________ 59
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 6
7. IMPACTO AMBIENTAL ____________________________________ 61
8. CONCLUSIONES _________________________________________ 62
BIBLIOGRAFÍA_______________________________________________ 65
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 7
1. Glosario
A continuación se definen algunos términos que se utilizarán recurrentemente en el presente
documento.
Data mining: Proceso de búsqueda de identificación de información en los datos con tal de encontrar
patrones en estos para predecir situaciones futuras.
Machine learning: Disciplina del campo de la inteligencia artificial (IA) que, a través de algoritmos,
dota a los ordenadores de la capacidad para realizar predicciones.
DataFrame: Estructura de datos en forma de tabla con la que trabaja la librería Pandas.
‘NaN’: Del inglés ‘not a number’. Formato que toman las celdas que no tienen ningún valor asociado
cuando se programa con Python.
Python: Lenguaje de programación utilizado.
Pandas: Liberia de Python de la cual se utilizan las herramientas para realizar el tratado de datos
durante el proyecto.
Scikit Learn: Librería de Anaconda que contiene los modelos de regresión utilizados para la
realización del estudio.
Overfitting: Fenómeno que se produce cuando el algoritmo de estudio se ajusta demasiado a los
datos de entrenamiento.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 8
2. Introducción
Gracias a los grandes y constantes avances durante las últimas décadas, la tecnología se ha
instaurado como una parte vital e imprescindible de la sociedad actual. La digitalización y
automatización de muchos procesos, ha permitido facilitarnos el día a día en multitud de aspectos.
Sin embargo, en los últimos años, el gran interés que suscitan las tecnologías acostumbra a
involucrar aquello que los usuarios pueden tocar o sentir. Es decir: redes sociales, mobile apps,
realidad virtual, dispositivos wearables, etc.
Lo curioso de todos estos procesos o dispositivos, es que cuentan con una parte común, que aunque
normalmente es desconocida para la mayoría de las personas, es de igual o mayor importancia que
los propios. Se trata del conjunto de tecnologías de recogida masiva de datos, normalmente
relacionadas con la experiencia de los usuarios, las cuales se conocen como ‘Big Data’.
Como consecuencia de esta recogida de datos nace lo que hoy en día se conoce como data mining
(minería de datos en español). Esta consiste en la aplicación de técnicas y tecnologías que permiten
explorar, de manera automática o semiautomática, grandes bases de datos. Una de sus grandes
virtudes es la de detectar patrones de conducta y/o tendencias sobre algunos procesos, lo que
permite predecir situaciones futuras, optimizarlos, aumentar su eficacia y reducir costes. Esta rama
de la ingeniería computacional se combina con diferentes especialidades de la ciencia, como son la
estadística, el aprendizaje automático o la inteligencia artificial.
Hoy en día, podemos encontrar data mining en muchísimos ámbitos distintos, como en banca,
marketing, televisión, radio, etc. Uno de los casos de aplicación de data mining más significativos hoy
en día, es el de la empresa Transport for London (TFL), la cual es el organismo del gobierno de
Londres responsable de la mayoría de los aspectos de transporte. Transport for London opera
millones de autobuses, taxis, metros, tarjetas de transporte, carreteras y sistemas semafóricos que
proporcionan transporte a un gran número de londinenses, recopilando así una gran cantidad de
datos. El análisis en profundidad de estos, permite a la empresa ver qué pasajeros viajan localmente
y cuales realizan rutas largas, que carreteras y puentes están más concurridos y que rutas de
transporte público tienen un tráfico más pesado. La aplicación diaria de estos datos permite
implementar estrategias de transporte con tal de minimizar los tiempos de desplazamiento, mejorar el
flujo de tráfico, ajustar el ciclo de los semáforos en carreteras muy ocupadas y evitar atascos de
tráfico.
También es muy importante en el ámbito de la medicina, ya que facilita la realización de diagnósticos
más precisos para los pacientes. El hecho de contar con la información del historial médico del
paciente, ayuda a recetar tratamientos médicos más efectivos. También ayuda a realizar una gestión
más eficaz, eficiente y económica de los recursos sanitarios, ya que se permiten predecir riesgos,
enfermedades en ciertos grupos de la población o la duración del ingreso hospitalario.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 9
A modo de resumen, podemos decir que la minería de datos ha resultado ser una herramienta
extremadamente efectiva en la detección de patrones, anomalías y relaciones entre factores. La cual
nos permite aprender cosas sobre el entorno en el que nos encontremos y poder actuar sobre él
directamente para optimízalo, aumentar su eficacia, reducir costes u obtener beneficios.
En la actualidad existen diversas metodologías a seguir para poder llevar a cabo un proyecto de data
mining de forma satisfactoria. Una de las más famosas y utilizadas es la CRISP-DM.
Metodología CRISP-DM
Desarrollada en 1999 como consorcio de tres empresas (Dailmer-Benz, ISL y NCR) y financiada por
la Comisión Europea, CRISP-DM (CRoss-Industry Standard Process for Data Mining) facilita una
descripción normalizada del ciclo de vida de un proyecto de análisis de datos.
Como podemos observar en la ilustración 1, se trata de un proceso cíclico comprendido por seis
fases distintas. Mientras que las flechas entre fases indican las conexiones más usuales entre ellas,
el circulo exterior referencia la ciclicidad del proceso de extracción y tratado de datos. Aun así, no se
trata de un proceso rígido, y cualquiera puede definir, en la medida de lo justo, las orientaciones de
sus flechas y el alcance de cada fase según sus necesidades.
Ilustración 1: Fases del ciclo de la metodología CRISP-DM
1. Comprensión del problema
La fase principal del proceso consiste en la comprensión del proyecto a realizar y los
objetivos iniciales, con el objetivo de poder hacer una descripción más técnica de este.
Esta fase constituye la base de cualquier proyecto de minería de datos, y permite realizar
las fases de comprensión y preparación de los datos de forma más sencilla.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 10
2. Comprensión de los datos
El cometido inicial en esta fase, trata de la recolección de los datos que se tratarán
posteriormente. Una vez obtenidos, la idea es realizar diferentes actividades por tal de
familiarizarse con ellos, inspeccionar la calidad de estos, descubrir un conocimiento
preliminar en estos y/o descubrir subconjuntos interesantes a tener en cuenta.
3. Preparación de los datos
La fase de preparación comprende todas las actividades necesarias para transformar los
datos de partida en el conjunto final, sobre el cual se realizará el modelado. Algunas de las
actividades de este periodo son la selección de datos, la depuración de estos, la
generación de nuevas variables, etc. Puede resultar un proceso bastante largo y complejo,
que en algunos casos llega a significar más de la mitad de un proyecto de data mining.
4. Modelaje
Durante la etapa de modelaje se aplican modelos y algoritmos de machine learning sobre
el conjunto de datos obtenido anteriormente. Las diferentes técnicas de modelado
escogidas, se perfeccionan mediante la optimización de sus inputs, con la finalidad de
conseguir un modelo final óptimo. Muchas de las técnicas más comunes dentro del
machine learning necesitan estructuras de datos determinadas, como por ejemplo que
estos estén normalizados. Por este motivo, durante esta etapa, es bastante frecuente
volver a la fase de preparación de los datos.
5. Validación
Una vez obtenidos los modelos finales anteriormente, el siguiente paso es validarlos.
Durante esta etapa se evalúan estos utilizando las métricas de verificación necesarias, con
tal de determinar si son factibles para satisfacer los objetivos del proyecto.
6. Implementación
Esta etapa del proceso, consiste en la implementación del modelo final obtenido, con la
finalidad de explotarlo dentro del entorno para el cual ha sido diseñado. Como se comentó
anteriormente, esta metodología consiste en un proceso cíclico. De esta forma, la
implementación no tiene por qué ser necesariamente la etapa final del proyecto, ya que los
datos o las tendencias pueden cambiar con el tiempo, y puede ser necesario comenzar de
nuevo.
La utilización de esta metodología en proyectos de Big Data, no solo agiliza el proceso de obtención
del resultado final, sino que además nos asegura la calidad de los datos con los que se trabaja y de
los datos obtenidos.
En el presente documento, se describirá el proceso seguido para realizar un proyecto de data mining
siguiendo la metodología anteriormente descrita, por tal de encontrar modelos que predigan las notas
del Q3 de los estudiantes de ingeniería industrial en la ETSEIB.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 11
2.1. Objetivos del proyecto
El objetivo principal de este proyecto es la realización de un estudio de rendimiento de diferentes
técnicas de regresión, para la predicción de calificaciones de resultados académicos del tercer
cuatrimestre de los estudiantes del grado de ingeniería en tecnologías industriales de la ETSEIB.
Este objetivo está bastante generalizado a la realización del proyecto entero, pero para poder llegar
al resultado final de forma satisfactoria surgen diferentes subobjetivos que se intentarán cumplir
también:
• Realización de un proyecto de data mining siguiendo una metodología de trabajo
Anteriormente se ha comentado la importancia de seguir una metodología, con la finalidad
de poder llegar a los mejores resultados finales posibles. De esta forma, se adaptará el
desarrollo del estudio a la estructura de CRSP-DM.
• Estudio de diferentes variables en los modelos
Se prepararán diferentes conjuntos de datos con la información de partida. Gracias a esto
podremos observar la sensibilidad de los modelos, y ver si estos mejoran o empeoran con
la adición de nuevas variables en los conjuntos de estudio.
• Familiarización con el entorno y las herramientas de trabajo
Todo el proceso de obtención del código se realizará con la plataforma de software
Anaconda, la cual comprende todas las herramientas necesarias para realizar el estudio.
Dentro de este paquete encontramos las dos herramientas principales que serán
utilizadas, como son Pandas y Scikit Learn. La primera se trata de una librería de Python,
la cual nos permitirá realizar todo tipo de operaciones y transformaciones sobre nuestros
datos. La segunda contiene los modelos estadísticos y las métricas de validación que
serán necesarias.
El proceso de codificación se realizará mediante el editor Spyder. Será de vital importancia
familiarizarse con todas estas herramientas para poder cumplir, de la mejor forma posible,
con las diferentes etapas del proceso.
2.2. Alcance del proyecto
Como ya se ha comentado con anterioridad, este proyecto seguirá la metodología CRISP-DM, la cual
se introdujo en la introducción. Como ya se comentó en ese mismo apartado, el proceso de
aplicación de esta no es rígido, y puede variar según las necesidades de cada uno. De esta forma,
para definir el alcance de este estudio, se definirán las actividades que se llevarán a cabo en cada
una de las diferentes fases.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 12
La etapa de comprensión del problema corresponderá con la identificación de los objetivos
principales y secundarios que se quieren adquirir. No se profundiza más en esta ya que, al ser
estudiante de la escuela, se da por hecho que se conoce el ámbito sobre el que se está trabajando.
Durante las etapas de comprensión y preparación de los datos, el objetivo final será obtener los
diferentes conjuntos sobre los cuales se realizará el modelaje. Inicialmente se realizará una pequeña
descripción de estos, pero no se profundizará demasiado en ellos, ya que su disposición es
relativamente sencilla, y no son difíciles de interpretar. Una vez hecho esto, se depurarán y
transformarán los datos según lo necesario, y se definirá la estructura final que presentaran. Además
de los conjuntos, al final de esta fase se dispondrá de un código Python que realizará el proceso de
forma automática.
Durante el modelaje se utilizarán lo conjuntos obtenidos anteriormente para mejorar los
‘hiperparámetros’ de los modelos de Scikit Learn, por tal de conseguir el mayor rendimiento posible.
Esta librería de Pandas contiene más de veinte modelos distintos para realizar estudios de regresión.
Realizar el proceso de modelaje para todos y cada uno de estos es una tarea sumamente difícil con
tan poco tiempo disponible, de esta manera se ha decidido utilizar únicamente los modelos de ‘Linear
Regression’, ‘Ridge’ (ambos siguen la hipótesis de modelo lineal) y ‘K-Nearest-Neighbors’ (Modelo no
lineal).
En la validación se tomarán las métricas de interés necesarias para determinar la calidad de los
ajustes obtenidos para cada modelo. Este proceso se realizará para cada asignatura del tercer
cuatrimestre de cada uno de los conjuntos de datos obtenidos. Es necesario comentar también que el
estudio va a dedicarse mayoritariamente a los aspectos de machine learning para construir modelos,
de esta forma no se entrará en gran detalle de conceptos, terminología y estudios estadísticos para la
validación de los modelos.
Finalmente, la etapa de implementación no se realizará ya que se sale de los límites establecidos
para este proyecto. De esta forma, una vez acabada la fase de validación habremos acabado con
este primer proyecto y podremos interpretar los resultados obtenidos a modo de conclusiones.
2.3. Herramientas de trabajo
Al tratarse de un proyecto de minería de datos, las herramientas que involucran su desarrollo son
informáticas. A continuación, se describen los diferentes recursos que se utilizarán para la realización
de este.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 13
Python
Python es un lenguaje de programación ideado por Guido van Rossum a finales de los 80, y que
comenzó a implementarse en las navidades de 1989.
Se trata de un lenguaje interpretado, multiparadigma y multiplataforma, que se utiliza principalmente
para proyectos de ciencia de datos, inteligencia artificial y desarrollo web.
Que sea interpretado hace referencia a que el lenguaje traduce y ejecuta al mismo tiempo el código
del programador. Multiparadigma significa que el lenguaje admite la utilización de diversos
paradigmas de programación, por lo que los programadores no están obligados a utilizar un estilo
único de programación. De esta forma, Python permite la programación enfocada a objetos, la
imperativa y la funcional. El hecho de ser multiplataforma da la posibilidad al usuario de ejecutar su
código con diferentes sistemas operativos, como por ejemplo Windows, Linux, macOS, etc. Además,
a parte de las características descritas anteriormente, el lenguaje está desarrollado bajo la licencia de
código abierto, lo que quiere decir que es de libre uso y distribución.
De esta forma, podríamos decir que se trata de un lenguaje sencillo, intuitivo y de alto nivel. En el
caso particular de este proyecto, se ha decidido escoger este lenguaje debido a la familiarización
previa con este, ya que es el que se enseña en la escuela durante las asignaturas de fundamentos
de informática e informática.
Pandas
Pandas es una librería de Python creada como extensión de NumPy, destinada a la manipulación y
el análisis de datos de gran volumen, proporcionando estructuras flexibles de datos que permiten
trabajar con ellos de forma muy eficiente.
Esta ofrece recursos al usuario que permiten realizar diferentes funciones, como la lectura y escritura
de datos en diferentes formatos (bases SQL, Excel, CSV, etc.), seleccionar y filtrar tablas de manera
sencilla, fusionar y unir datos, aplicar funciones personalizadas para la transformación de los datos,
manipular series temporales y realizar gráficos.
Pandas nos permite trabajar con diferentes estructuras de datos, en función de la dimensionalidad
que queramos trabajar, pero la más común es la conocida como DataFrame. Esta se corresponde a
una tabla con indexación de filas integrada, que sigue una estructura de datos en dos dimensiones.
De esta forma, la utilización de esta herramienta será de vital importancia para las fases de
depuración, manipulación y transformación de los datos de partida, ya que nos permitirá obtener los
conjuntos finales de forma más rápida y eficiente. Además, al poseer muchas funciones integradas,
nos permitirá reducir la longitud del código final.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 14
Anaconda
Anaconda es una suite de código abierto de Python que abarca una serie de aplicaciones, librerías y
conceptos para el desarrollo de proyectos de ciencia de datos. Su función básica es la gestión del
entorno y de paquetes.
Mediante la instalación de esta herramienta, se obtienen una gran cantidad de paquetes, los cuales
se agrupan en cuatro sectores o soluciones tecnológicas: Anaconda Navigator, Anaconda Project,
librerías de ciencia de datos y Conda.
Dentro de estos paquetes, se encuentran dos que nos serán de gran utilidad, como son el editor
Spyder y la librería Scikit Learn.
• Spyder (Scientific Python Development Environment)
Spyder es un IDE (Entorno de Desarrollo Integrado) de Python, multiplataforma y de
código abierto, orientado a la programación científica utilizando el propio lenguaje. Una de
las razones de su éxito, y por la cual se utilizará en este proyecto, es que cuenta con una
interfaz interactiva y muy potente que facilita su uso por parte del programador.
En la ilustración 2, podemos observar las diferentes partes de la interfaz. A la izquierda nos
encontramos con un editor de código multilenguaje, que posee diferentes herramientas
para mejorar la experiencia del programador. Algunas de estas son la revisión de código
en tiempo real (nos notifica de errores en nuestro código sin necesidad de ejecutarlo) y la
exploración de funciones y clases (por tal de poder consultar sus definiciones y
características). En la parte superior derecha nos encontramos un explorador de objetos,
este nos permite realizar diferentes funciones, como la exploración de variables, la
visualización de gráficos y la exploración de archivos. Finalmente, en la parte inferior
derecha nos encontramos con la consola, con la que podemos ver si existe algún error en
el código o visualizar figuras de Matplotlib, por ejemplo.
Ilustración 2: Interfaz del IDE Spyder.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 15
• Scikit Learn
La segunda herramienta de Anaconda más útil para nuestro proyecto, será la librería Scikit
Learn de Python. La gran cantidad de algoritmos con los que cuenta la convierten en la
herramienta principal para el análisis de datos y el modelado estadístico. El hecho de
disponer de tantos algoritmos ayuda mucho al programador, ya que le permite ahorrar
tiempo de codificación, pudiendo poner más énfasis en otros aspectos, como, por ejemplo,
la optimización del modelo. Algunas de las funcionalidades que incluye esta librería son la
regresión, la clasificación, el clustering, la optimización y la selección de modelos.
3. Comprensión y preparación de los datos
3.1. Comprensión de los datos
La comprensión de los datos es una parte primordial a la hora de realizar cualquier tipo de proyecto
de data mining, ya que nos sirve para tener una primera toma de contacto con estos, y poder
visualizar de forma preliminar como deberemos tratarlos en la etapa de preparación.
En nuestro caso en particular, inicialmente partimos de tres documentos Excel distintos:
‘dadespersnomespreins.xlsx’, ‘qfaseini.xlsx’ y ‘qfasenoini.xlsx’. Estos contienen los datos académicos
de los estudiantes de la escuela, desde la implantación del nuevo plan de estudio, es decir 2010,
hasta 2017.
El primero de los ficheros nombrados, contiene la información relacionada con los datos de
preinscripción de los alumnos. Las diferentes variables que podemos encontrar en este son:
• CODI_EXPEDIENT: Código de expediente del alumno.
• SEXE: Indica si el alumno es hombre (H) o mujer (D).
• CP_FAMILIAR: Código postal de la residencia del alumno.
• ANY_ACCES: Año de acceso a la escuela.
• TIPUS_ACCES: Tipo de acceso. (Toma 1 como único valor)
• NOTA_ACCES: Nota obtenida en selectividad.
• CP_CENTRE_SEC: Código postal del centro donde el alumno cursó los estudios.
CODI_EXPEDIENT SEXE CP_FAMILIAR ANY_ACCES TIPUS_ACCES NOTA_ACCES CP_CENTRE_SEC
274511 H 08640 2013 1 12,99 08640
275156 H 43002 2013 1 13,018 43002
259794 D 08006 2012 1 12,65 08021
262031 D 08017 2012 1 10,74 08017
261879 D 08504 2012 1 11,696 08500
258115 H 08907 2012 1 10,346 08907
Tabla 1: Ejemplo de la distribución de los datos en el fichero ‘dadespersnomespreins.xlsx’
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 16
Los otros dos ficheros, contienen los datos de los alumnos relacionados con sus calificaciones en la
escuela. El primero de ellos contiene la información referente a las asignaturas de la fase inicial
mientras que el segundo contiene la del resto de asignaturas del grado. Las variables que contienen
son:
• CODI_PROGRAMA: Código identificador de la titulación cursada.
• CODI_EXPEDIENT: Código de expediente del alumno.
• CODI_UPD_UD: Código de la asignatura.
• CREDITS: Número de créditos de la asignatura cursada.
• CURS: Año en el que se matricula la asignatura.
• QUAD: Cuatrimestre en el que se cursa la asignatura.
• SUPERA: Indica si el alumno aprueba (S) o suspende (N).
• NOTA_PROF: Nota final asignada por el profesor.
• NOTA_NUM_AVAL: Nota asignada tras evaluación curricular.
• NOTA_NUM_DEF: Nota final definitiva.
• GRUP_CLASSE: Grupo donde se matriculó el alumno.
CODI_PROGRAMA CODI_EXPEDIENT CODI_UPC_UD CREDITS CURS QUAD SUPERA NOTA_PROF NOTA_NUM_AVAL NOTA_NUM_DEF GRUP_CLASSE
753 232121 240214 6 2010 1 S CONV
752 232295 240014 6 2010 1 S 6,5 6,5 6,5 CONV
752 239833 240025 7,5 2010 2 N 1,4 1,4 1,4 52
752 239834 240025 7,5 2010 2 S 6,5 6,5 6,5 52
Tabla 2: Ejemplo de la distribución de los datos en los ficheros ‘qfaseini.xlsx’ y ‘qfasenoini.xlsx’.
3.2. Preparación de los datos
Una vez analizados los ficheros y sus variables, estamos listos para prepararlos. La etapa de
preparación, cubre todas aquellas actividades necesarias para construir lo conjuntos finales de datos.
Como ya se comentó anteriormente, Pandas trabaja con una estructura de datos llamada
DataFrame. Por este motivo, los ficheros iniciales se transforman a este elemento, con tal de trabajar
con ellos.
El objetivo final de este apartado, es obtener tres DataFrame distintos, los cuales se utilizarán para la
fase de modelado. Así pues, durante esta etapa se describirá el proceso seguido para transformar los
ficheros iniciales en los conjuntos finales. El apartado se dividirá en dos secciones, una de
depuración y otra de transformación.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 17
3.2.1. Depuración
El propósito de realizar una depuración de los datos, es la de eliminar registros contenidos en los
datos iniciales, por tal que la información necesaria pueda ser accesible más fácilmente a la hora de
manipular y transformar estos.
En el caso que nos ocupa, tras analizar los distintos valores contenidos en las variables iniciales de
cada fichero, vemos que es necesario eliminar algunos, ya que no aportan ningún tipo de información
necesaria según los objetivos planteados.
En primer lugar, como únicamente se consideran aquellos alumnos que cursen el grado de ingeniería
en tecnologías industriales, se eliminarán el resto de alumnos. Esta información se encuentra
contenida en la variable CODI_PROGRAMA, y el identificador para los alumnos del GETI es el ‘752’.
De esta forma, se eliminarán aquellos alumnos que cursen otras titulaciones.
Seguidamente, encontramos que la variable QUAD toma el valor 0 en algunos casos, lo cual es
extraño. El cuatrimestre cero (también conocido como curso introductorio), es un curso que ofrecen
algunas universidades, en el cual se realiza un pequeño repaso de conceptos académicos de
materias básicas, con la finalidad de facilitar a los alumnos la adaptación a sus futuros estudios. Los
datos de este cuatrimestre nos resultan innecesarios, ya que no aportan ningún tipo de información
útil para el proyecto. De esta forma, todos los registros correspondientes a este cuatrimestre serán
eliminados.
Por otra parte, existen alumnos que convalidan algunas asignaturas, ya que han cursado la misma o
alguna similar en contenidos fuera de la escuela. Estos casos los podemos encontrar fácilmente, ya
que en las variables NOTA_NUM_DEF o GRUP_CLASE aparecen como ‘Conv’. Es importante
eliminar estos registros por dos motivos: por una parte, no podemos asumir el grado de conocimiento
real del alumno, y por la otra, no se puede realizar el estudio a los alumnos que tienen ‘Conv’ como
nota final, ya que no es un valor de tipo numérico.
También, sabemos que el fichero ‘qfasenoini’ contiene la información académica correspondiente a
las asignaturas de la fase no inicial, es decir, del cuatrimestre tres en adelante. Como el objetivo de
nuestro proyecto, es realizar un estudio de regresión para predecir las calificaciones de los alumnos
en el tercer cuatrimestre, se eliminarán aquellos registros correspondientes a asignaturas que no
pertenezcan a este. Esto se consigue eliminando las filas del fichero que tengan como
‘CODI_UPC_UD’ alguna asignatura que no nos interese.
En último lugar, tras analizar los datos una vez depurados, se ha observado que, para el segundo
cuatrimestre del año 2017, tenemos únicamente los registros correspondientes a 35 alumnos. Este
número dista mucho de los 2500 alumnos de media que tenemos para cada cuatrimestre. Esto
puede deberse a un error al extraer los datos, o que aún no se hubieran introducido los datos cuando
se generó el fichero. Esto puede resultar un problema más adelante, ya que el número de muestras
para ese cuatrimestre no es consistente, así que se ha decidido eliminar esos registros.
Finalmente, es importante comentar que, una vez acabado el proceso, aún contaremos con variables
que no serán necesarias. Aun así, las herramientas que nos proporcionas Pandas, nos permiten
transformar los datos sin necesidad de tenerlas en cuenta, con lo cual se obviarán de ahora en
adelante.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 18
3.2.2. Transformación
Una vez eliminados los registros incensarios de nuestros datos, estamos listos para transformarlos.
Entramos de esta forma en la etapa final del ‘data preparation’. Esta fase cubre todas las actividades
necesarias para construir los conjuntos de datos finales que se utilizarán en la etapa de modelaje.
En el caso de nuestro proyecto, se ha decidido crear tres conjuntos de datos a partir de los datos de
partida. La idea es crear un DataFrame inicial, y a partir de este, crear otros dos añadiendo
información adicional, contenida en los datos iniciales. Se ha decidido optar por esta estrategia, ya
que los datos iniciales contienen mucha información que puede ser analizada. De esta forma, una
vez realizado todo el estudio, seremos capaces de ver si los modelos son sensibles a la adición de
nuevas variables, y como afectan estas a los resultados finales.
La estructura de los tres será común, y corresponderá a un DataFrame, donde cada fila representa la
información asociada con un único alumno, y en las columnas se encontrarán las diferentes variables
consideradas.
El primer DataFrame, contendrá únicamente la información relacionada con la nota final y la nota
media de cada alumno para cada asignatura de la fase inicial, y la primera nota obtenida en cada
asignatura del Q3.
Codigo Expediente ALG M-ALG FONINFO M-FONINFO … MEC EDOS
Alumno 1 5 4,3 7 7 … 2 6
Alumno 2 9 9 6 5 … 5 5
Alumno 3 6,3 4,8 5,1 5,1 … 0 4,7
Tabla 3: Ejemplo de la estructura del DataFrame 1
El segundo, contendrá también la información asociada al número de convocatorias realizadas de
cada asignatura de la fase inicial antes de superarla.
Codigo Expediente ALG M-ALG C-ALG FONINFO M-FONINFO C-INFO … MEC EDOS
Alumno 1 5 4,3 2 7 7 1 … 2 6
Alumno 2 9 9 1 6 5 2 … 5 5
Alumno 3 6,3 4,8 3 5,1 5,1 1 … 0 4,7
Tabla 4: Ejemplo de la estructura del DataFrame 2
Finalmente el último DataFrame contará, además, con la nota de selectividad obtenida por el alumno.
Codigo Expediente Selectividad ALG M-ALG C-ALG FONINFO M-FONINFO C-INFO … MEC EDOS
Alumno 1 10,73 5 4,3 2 7 7 1 … 2 6
Alumno 2 9,85 9 9 1 6 5 2 … 5 5
Alumno 3 12,45 6,3 4,8 3 5,1 5,1 1 … 0 4,7
Tabla 5: Ejemplo de la estructura del DataFrame 3
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 19
3.2.2.1. Obtención de los DataFrame
Cálculo de nuevas características
Para realizar el estudio de regresión de las asignaturas del Q3, nos interesan únicamente aquellos
alumnos que hayan superado toda la fase inicial, y hayan cursado alguna de las asignaturas del
tercer cuatrimestre.
De esta forma se define la función ‘nota’, la cual devuelve la nota final si esta es superior a cinco, y
‘NaN’ en caso contrario. Una vez definida la función, se aplica esta sobre la variable
NOTA_NUM_DEF, y se almacenan los resultados en una nueva columna llamada ‘NotaFinaFI’.
Esta nueva variable, nos facilitará la identificación de estos alumnos en las próximas fases, siendo
más fácil eliminarlos.
Pivotar datos
Los ficheros de las fases inicial y no inicial, vienen en un formato donde cada fila, corresponde a una
convocatoria de un alumno para una determinada asignatura. Este formato puede resultar muy
complicado de comprender, ya que es muy poco intuitivo a la hora de trabajar con él.
Así pues, se desea transformar esta configuración de nuestro marco de datos a una más simple que
permita facilitar el proceso de manipulación de estos. Se ha decidido utilizar una estructura donde
cada fila corresponda únicamente a los datos de un alumno. El proceso de pasar de la estructura
inicial descrita a la final se conoce como pivotar.
Cuando hablamos de pivotar, nos referimos al hecho de convertir los valores únicos de una columna
en los datos de partida a columnas en el marco final. En la ilustración 3 se ejemplifica cómo será la
acción de pivotar una tabla en el contexto de este proyecto.
Ilustración 3: Ejemplo de pivote de asignaturas a los datos de la fase inicial.
Pandas cuenta con la función pandas.pivot_table, excelente para realizar este tipo de operaciones.
Pivot Table es una de las herramientas más populares dentro de la librería Pandas, ya que esta nos
permite realizar agrupaciones de datos como la de la figura anterior. Además, también nos permite
realizar operaciones matemáticas sobre las columnas que ocuparán las celdas, como sumatorios,
contajes, medias, etc.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 20
Pivot Table dispone de múltiples argumentos, pero los más importantes para este estudio son los siguientes:
• Data: DataFrame de entrada que se utilizará para pivotar.
• Values: Columna de valores que se añadirán a las celdas de la tabla.
• Index: Columna del DataFrame original que se utilizará como índice.
• Columnas: Columna del DataFrame original cuyos valores se utilizarán como columnas.
• Aggfunc: Parámetro opcional. Sirve para aplicar funciones matemáticas a la columna
aplicada en el parámetro Values.
Para la obtención del primer DataFrame, necesitaremos obtener dos tablas distintas, una que
contenga las notas finales en las celdas, y otra que contenga las notas medias. Para obtener ambas,
pivotaremos la columna ‘CODI_UPC_UD’ de los datos de la fase inicial, manteniendo
‘CODI_EXPEDIENT’ como índice. Para obtener la tabla de notas finales, en las celdas
introduciremos la nota máxima de la columna ‘NotaFinalFI’ calculada previamente, esta tabla se
guarda en la variable Taula1. Para obtener la tabla de notas medias, en las celdas introduciremos la
nota media del alumno para cada asignatura, esta tabla se guarda en la variable Taula2.
El segundo DataFrame, contiene además el número de convocatorias de cada alumno para cada
asignatura. Así pues, necesitamos obtener una nueva tabla que contenga esta información. Esto se
consigue pivotando la columna ‘CODI_UPC_UD’ de los datos de la fase inicial, manteniendo
‘CODI_EXPEDIENT’ como índice, y se cuentan cuantas notas tiene el alumno para cada asignatura.
Esta tabla se guarda en la variable Taula3.
Finalmente, nos queda solo obtener la tabla de las asignaturas de Q3, la cual es común para los tres
DataFrame. Para las asignaturas de este cuatrimestre, nos interesa saber la primera nota obtenida
por cada alumno. De esta forma, pivotamos la columna ‘CODI_UPC_UD’ de los datos de la fase no
inicial, manteniendo ‘CODI_EXPEDIENT’ como índice, y en las celdas introduciremos la primera nota
obtenida por el alumno. Esta tabla se guarda en la variable Data_FaseNoIni.
Eliminación de ‘NaN’
El término ‘NaN’ viene del inglés ‘not a number’, en Python nos referimos a este cuando nos
encontramos con ‘missing values’, los cuales son interpretados como vacíos. Cuando se realizan las
uniones entre ficheros, es probable que tengamos registros de alumnos que tienen algún valor ‘NaN’
en alguna celda. En nuestro caso, nos interesa ver estos en la Taula1, ya que como se comentó
anteriormente, cuando un alumno no supera una asignatura, se le asigna el valor ‘NaN’ a su celda
correspondiente en ‘NotaFinalFI’. De esta forma, si algún alumno no supera nunca una asignatura, en
la celda correspondiente de la tabla nos encontraremos un ‘NaN’. Es importante eliminar estos
valores, ya que los modelos de la librería Scikit Learn con los que trabajaremos posteriormente no los
admiten.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 21
Unión de tablas
El siguiente paso, es unir las tablas obtenidas anteriormente en un único conjunto de datos. La
función de Pandas que nos permite realizar esto se conoce como pandas.Dataframe.merge.
En el caso del primer DataFrame, se unen Taula 1 y Taula2 y se guarda esta variable como
Data1_FaseIni. Para el segundo, se une Data1_FaseIni con Taula3 formando Data2_FaseIni.
Finalmente, para el tercer DataFrame se une Data2_FaseIni con la columna ‘NOTA_ACCES’ del
fichero de datos de preinscripción, esto añadirá una nueva columna con la nota de selectividad de
cada alumno.
Para acabar Data1_FaseIni, Data2_FaseIni y Data3_FaseIni se unen por separado con
Data_FaseNoIni. De esta manera ya tenemos los tres conjuntos de datos construidos.
Cambio de escalas
Para realizar el posterior modelaje, nos interesa que todas las variables explicativas de los
DataFrame se encuentren en la misma escala. Esto se debe a que puede suceder que una variable
resulte estadísticamente significativamente debido a estar configurada en una escala distinta (lo que
puede hacer que tenga una varianza muy distinta en comparación con el resto de variables
explicativas), en vez de que esté realmente relacionada con la respuesta.
En nuestro caso, tenemos las variables correspondientes al número de convocatorias las cuales van
entre 1 y 4, las notas de selectividad que van de 0 a 14, y las notas de las asignaturas que se
encuentran en el rango 0-10. Así pues, se ha decidido estandarizar los datos para que todas las
variables se encuentren en la misma escala.
Cambio de nomenclatura
Para acabar con la fase de preparación, lo último que se hace es renombrar el nombre de las
columnas de las asignaturas. Inicialmente, las asignaturas vienen dadas con el código que tienen
asignado por la escuela, lo cual dificulta el estudio ya que se trata de un formato menos visual y es
difícil aprenderse todos los códigos de memoria.
En la tabla 6 se muestra la relación entre los códigos de las asignaturas, sus nombres, y la
nomenclatura que se les ha asignado para trabajar con ellas en los DataFrame.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 22
CODI_UPC_UD Nombre
Asignatura Nombre asignado
240011 Àlgebra Lineal ALG
240015 Fonaments
d'Informàtica FONINFO
240014 Química I QUIM1
240012 Càlcul I CALC1
240013 Mecànica
Fonamental MEC
240025 Expressió Gràfica EXPRE
240023 Termodinàmica
Fonamental TERMO
240024 Química II QUIM2
240022 Càlcul II CALC2
240021 Geometria GEO
240132 Informàtica INFO
240133 Mecànica MEC
240131 Equacions
Diferencials EDOS
240033 Materials MATERIALS
240031 Electromagnetisme ELECTRO
240032 Mètodes Numèrics MÈTODES
Tabla 6: Relación código-nombre asignaturas.
Finalmente hay que comentar que, para los casos de las variables asociadas a la nota media y el
número de repeticiones de una asignatura, lo que se ha hecho es añadir los prefijos ‘M’ y ‘C’,
respectivamente, a sus nombres asignados.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 23
4. Técnicas de modelaje y validación
Una vez hemos obtenidos los conjuntos finales de datos entramos en la etapa de modelaje, también
conocida como análisis predictivo.
El análisis predictivo es un área de la minería de datos que aplica diferentes técnicas analíticas,
estadísticas y de aprendizaje automático (ya existentes y ampliamente conocidas) sobre un conjunto
histórico de datos, con el objetivo de predecir eventos futuros.
4.1. Técnicas del aprendizaje automático
Dentro del análisis predictivo existen una gran cantidad de técnicas de modelaje que pueden
aplicarse. En función del tipo de salida que produce el estudio y la forma en la que se tratan los
datos, los diferentes algoritmos pueden clasificarse principalmente en dos aprendizajes: los
supervisados y los no supervisados. De esta forma, antes de escoger los algoritmos de estudio es
imprescindible conocer estos y saber qué tipo de estudio queremos realizar.
Aprendizajes supervisados
Se conoce como aprendizaje supervisado a aquellas técnicas que permiten predecir valores futuros a
partir de un conjunto de datos. Estos basan su aprendizaje en un conjunto de datos que ha sido
previamente etiquetado. Esto quiere decir que para cada combinación disponible de las variables
explicativas conocemos el valor de la variable respuesta, es decir, conocemos su etiqueta. Este
hecho permite al algoritmo establecer una relación entre las variables de entrada y la salida, la cual
permite realizar predicciones cuando se introducen nuevos datos de entrada.
En estas técnicas, el algoritmo inicial se alimenta con una parte del conjunto de datos (training set),
gracias a los cuales se realiza el aprendizaje y se obtiene el modelo final. Una vez obtenido el
modelo, este se alimenta con el resto de datos (test set) y se comparan los valores respuesta
obtenidos con los valores objetivo. De esta forma podemos obtener las métricas de rendimiento, las
cuales nos indican cuan bueno es el modelo obtenido. La ilustración 4 muestra un ejemplo de
proceso de aprendizaje supervisado.
Cuando hablamos de este tipo de aprendizajes, encontramos dos grandes familias de algoritmos:
Los de regresión y los de clasificación. Los algoritmos de regresión son útiles cuando queremos
predecir valores continuos de la respuesta en función de los valores de unas entradas determinadas.
Los algoritmos de clasificación se utilizan cuando se quiere predecir valores discretos sobre los datos
de partida, es decir, para una combinación de datos de entrada la respuesta se asigna dentro de una
determinada categoría.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 24
Ilustración 4: Ejemplo visual de las técnicas de aprendizaje supervisadas.
Aprendizajes no supervisados
En el caso de los aprendizajes no supervisados, los modelos solo ajustan un modelo predictivo a
través de los datos de partida, sin tener en cuenta la respuesta. Es decir, los datos de entrada no se
encuentran etiquetados, con lo cual no se conocen las respuestas. De esta forma, solo podemos
inferir modelos por tal de extraer información o patrones de comportamiento de las variables iniciales.
En función del tipo de predicciones que se desee realizar, este aprendizaje se divide en dos
categorías principales: El Clustering y la reducción de dimensionalidad. El clustering tiene como
objetivo clasificar los registros iniciales en diferentes grupos, donde el comportamiento de estos sea
similar. La reducción de dimensionalidad se utiliza para reducir el número de variables a tener en
cuenta durante el análisis, de esta manera podemos reducir conjuntos de datos en n dimensiones, a
conjuntos más simples con únicamente dos o tres dimensiones, lo cual facilita su análisis.
Ilustración 5: Ejemplo visual de las técnicas de aprendizaje no supervisadas.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 25
La ilustración 6 muestra un pequeño esquema-resumen de toda la información descrita
anteriormente.
Ilustración 6: Esquema de los diferentes aprendizajes de machine learning.
El objetivo para este proyecto es realizar la predicción de la calificación de los alumnos del tercer
cuatrimestre en función de un conjunto de variables explicativas. De esta forma queda de manifiesto
que se trata de un estudio de aprendizaje supervisado, donde se utilizarán técnicas de regresión para
obtener los resultados finales.
4.2. Selección de modelos
Una vez hemos identificado el tipo de estudio necesario para nuestro proyecto, procedemos a
seleccionar los modelos sobre los que se realizarán las predicciones. Para esta fase trabajaremos
con los modelos de la librería Scikit Learn de Pandas. Esta posee los algoritmos ya preparados,
pudiendo de esta forma centrarnos únicamente en aplicarlos.
Scikit Learn contiene más de veinte modelos distintos para realizar un estudio de regresión. Esto es
un problema ya que no se dispone del tiempo necesario para trabajar con todos ellos. De esta
manera se ha decidido seleccionar únicamente tres de estos.
Inicialmente se ha decidido escoger el modelo de regresión lineal ya que es un modelo muy utilizado,
relativamente simple y rápido de ejecutar, además este se utiliza mucho durante el grado con lo cual
ya estamos familiarizados en él. El segundo modelo escogido ha sido el Ridge. Ridge es una variante
del modelo de regresión lineal, y se ha escogido este para ver si aporta mejoras significativas sobre
los resultados finales. Finalmente, se ha decidido utilizar un modelo que no siga la hipótesis de que
exista una relación lineal entre las variables independientes y la respuesta, para comprobar si los
datos se ajustan mejor sin seguir esta hipótesis. El modelo no lineal seleccionado ha sido K-Nearest
Neighbors.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 26
Regresión lineal
La regresión lineal es una de las técnicas más utilizadas de Machine Learning, debido a su simpleza
y la facilidad para ser interpretada. El objetivo principal de este algoritmo es predecir los valores de
una variable cuantitativa en función de un conjunto de variables explicativas también cuantitativas,
mediante una línea recta. En nuestro caso, sabemos que contamos con múltiples variables de
entrada, así que el modelo seguirá la siguiente ecuación:
Ecuación 1: Ecuación genérica de la regresión lineal
Donde β0 es la ordenada al origen, es decir, el valor de la respuesta cuando todas las variables
explicativas son nulas. El parámetro βi hace referencia al efecto que tiene el incremento de una
unidad de Xi sobre la respuesta, manteniéndose el resto constantes. Finalmente el término ϵ es el
residuo o error, es decir, la diferencia entre el valor observado y el estimado por el modelo, este
debería seguir una distribución normal N(0,σ2).
En la vida real, cuando dispongamos de un dataset y queramos ajustar una nube de puntos a una
línea recta, nunca conseguiremos que todos pasen por ella, es decir, el ajuste nunca será perfecto.
De esta forma, siempre tendremos un error de predicción. Así pues, la ecuación ideal sería aquella
que minimice este error.
En regresión lineal, la forma de minimizar el error es escoger el valor adecuado de cada parámetro βi.
Así pues, el algoritmo trata de buscar esta combinación de valores resolviendo un problema de la
forma:
Para encontrar la función lineal con el error mínimo se deriva el error en función de las β’s,
obteniendo la siguiente expresión:
De donde encontramos la siguiente expresión con la cual podemos calcular el valor final de los
coeficientes:
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 27
Así pues, lo que hace el algoritmo es aplicar la última ecuación vista para obtener los coeficientes.
Una vez los obtiene, construye el modelo predictor que utilizará para realizar predicciones futuras
cuando se introduzcan nuevos datos.
Es necesario comentar que la regresión lineal es una técnica paramétrica, eso quiere decir que hace
ciertas suposiciones sobre los datos de partida. Algunas de estas son:
• Linealidad: La variable dependiente debe relacionarse linealmente con las variables
independientes y los residuos.
• Multicolinealidad: Las variables independientes deben ser linealmente independientes entre
si.
• Independencia de los residuos: Los residuos son independientes entre si, es decir, estos se
comportan como una variable aleatoria.
• Homocedasticidad de los residuos: Los residuos deben tener varianza constante.
• Normalidad de los residuos: Para cada valor o combinaciones de valores de las variables
independientes, los residuos se distribuyen siguiendo una normal de media cero.
Los supuestos de linealidad, independencia de los residuos, homocedasticidad de los residuos y
normalidad de los residuos se podrá ver si se cumplen con los resultados finales de los modelos. En
cuanto a la posible aparición de multicolinealidad, en estudios predictivos, dado que no resulta de
gran importancia el análisis de los coeficientes obtenidos, podemos tolerar mucho más la aparición
de este hecho. De esta forma, este supuesto no se comprobará para la realización de este proyecto,
pero se utilizarán algoritmos alternativos por tal de evitar la posible aparición de este fenómeno, por
tal de ver si mejoran los resultados finales.
Regresión Ridge
Uno de los supuestos básicos del modelo de Regresión Lineal, es que el rango de la matriz de
entrada X sea máximo. En caso contrario esta sería singular ya que las columnas són linealmente
dependientes, de esta forma el sistema de ecuaciones para las β’s tendría infinitas soluciones. Esto
se da en problemas donde existe colinealidad entre las variables o el número de registros es igual o
menor al número de variables.
Una de las soluciones a este problema es la Regresión Ridge, también conocida como regresión de
cresta, la cual penaliza la suma de los coeficientes elevados al cuadrado. A esta penalización se la
conoce como l2,y tiene el efecto de reducir de forma proporcional todos los coeficientes de modelo,
sin dejar que estos lleguena cero.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 28
Lo que hace el algoritmo es resolver un problema de la forma:
Donde α es elparámetro de regularización, el cual debe ser mayor o igual a cero. Cuando hacemos α
igual a 0, el modelo se comporta como una regresión lineal, y a medida que aumentamos el valor de
este, añadimos una mayor penalización a las β’s. Lo que hace el algoritmo, es resolver el siguiente
problema matricial:
Sin embargo, hay que tener cuidado a la hora de penalizar el modelo, ya que como se puede ver en
a continuación cuanto mayor es el valor de α, la suma de cuadrados aumenta de forma progresiva,
así pues este es un aspecto a tener en cuenta. Queda patente de esta forna, que la elección del
parámetro α es de vital importancia a la hora de trabajar con este modelo.
Se ha decidido trabajar con este algoritmo como alternativa al de regresión lineal por tal de ver si el
hecho de que que pueda existir colinealidad entre las las variables afecta a los resultados. Así pues
será interesante ver si aplicando este modelo podemos obtener mejores resultados finales.
K-Nearest Neighbors
K-Nearest Neighbors (KNN) es un algoritmo de Machine Learning que pertenece al aprendizaje
supervisado y que se puede aplicar tanto para clasificación como para regresión. Es muy sencillo de
utilizar y muy potente.
El principio de funcionamiento se basa en almacenar todos los datos del conjunto de entrenamiento y
asigna un valor al punto que se quiere predecir según la similitud entre características. Así pues, se
puede decir que se trata de un algoritmo de aprendizaje ‘vago’, ya que durante la fase de
entrenamiento almacena todos los registros disponibles, en vez de construir un modelo aplicable.
Esto supone un gran problema cuando se quiere trabajar con conjuntos de datos con muchos
registros y variables, ya que consume mucha memoria y se ralentiza mucho el proceso. De esta
forma, es preferible utilizarlo para datasets de pocas dimensiones. Se trata también de un algoritmo
no paramétrico, lo cual quiere decir que no hace ningún tipo de suposición sobre la distribución de las
variables.
Para comprender mejor el funcionamiento, ilustramos un pequeño ejemplo aplicado a la regresión.
Imaginemos que queremos aplicar KNN para predecir el peso de una persona en función de su edad
y altura. Como podemos ver en la ilustración 7 inicialmente contamos con los datos completos de
diez personas, y queremos predecir el peso de la undécima.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 29
Ilustración 7: Tabla de datos de altura, edad y peso.
Para visualizar mejor los datos, en la ilustración 8 se observa su representación en un espacio de dos
dimensiones, donde el eje de las abscisas corresponde a la edad, y el eje de las ordenadas a la
altura de cada persona.
Ilustración 8: Representación de los puntos de la tabla en un espacio de dos dimensiones.
Inicialmente, el algoritmo calcula las distancias entre el punto sobre que queremos realizar la
predicción y el resto de puntos del conjunto de entrenamiento.
Ilustración 9: Distancias entre el punto 11 y el resto de puntos.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 30
Luego se seleccionan los K puntos más cercanos a este, siendo K un parámetro definido
previamente. En este caso se ha decidido explorar el conjunto de los tres vecinos más cercanos.
Ilustración 10: Área que incluye los k vecinos más próximos.
Finalmente, el algoritmo promedia el valor de la respuesta de los tres puntos y le asigna este valor al
punto de estudio. De esta forma el peso del usuario número once sería (77+72+60) /3 = 69.66kg.
Antes de acabar con este apartado, es importante comentar que el algoritmo de sklearn cuenta con
una gran cantidad de inputs, pero a la hora de realizar el estudio, hay un parámetro que resulta de
gran interés:
• N_neighbors: Número de vecinos que se utilizarán para realizar las predicciones.
4.3. Validación
El objetivo final de un modelo, es predecir valores futuros de la respuesta cuando este sea
alimentado con información que este no haya aprendido anteriormente. Así pues, es necesario pasar
por una etapa final de validación en la cual se utilizará todo el conjunto de datos y podremos obtener
la precisión final de este. De esta manera podremos comprobar cuan buenos son los modelos
construidos, y podremos extraer unas conclusiones de estos.
En machine learning existen multitud de estrategias para realizar el proceso de validación, pero las
más populares son ‘hold-out’ y ‘k-Fold cross validation’:
• Hold-out: Se trata del método más sencillo de validación cruzada. Este consiste en separar el
conjunto de datos en dos subconjuntos, uno para entrenar el modelo y otro para realizar la
validación. De esta forma se crea un único modelo a partir de los datos de entrenamiento.
Una vez obtenido este, se generan las respuestas alimentándolo con el conjunto de variables
independientes del subconjunto de prueba, y estas se comparan con los valores de la
variable respuesta del mismo subconjunto. Los valores estadísticos obtenidos de esta
comparación son los que nos dan una idea verdadera de como predice nuestro modelo.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 31
• K-Fold Cross Validation: En este método el conjunto inicial de datos se divide en k
secciones iguales. Una de las secciones se utiliza para la validación, y el resto para la
construcción del modelo. Una vez el método está construido, este opera de la misma forma
que Hold-out. La diferencia es que este proceso se repite k veces hasta que todas las
secciones han sido utilizadas para la construcción del modelo y su validación. Finalmente, las
métricas que se obtienen son una media de los valores obtenidos en cada etapa del proceso.
Se trata de una estrategia realmente útil cuando tenemos conjuntos de datos pequeños.
Para trabajar con estas estrategias los datos se dividen en dos conjuntos, los cuales son bastante
representativos de las fases de construcción y validación del modelo:
• Training set: Es el subconjunto de datos que se utiliza para la etapa de construcción del
modelo. Gracias a este los algoritmos establecen relaciones entre las variables
independientes y dependiente, obteniendo un modelo predictivo. Es la partición más grande
de los datos, ya que nos interesa tener una gran cantidad de datos de entrenamiento para
que el algoritmo aprenda el máximo posible.
• Test set: Subconjunto de los datos que se utiliza para la etapa de validación. Las variables
independientes de este conjunto se introducen en el modelo previamente obtenido,
obteniendo la predicción de la respuesta. Gracias a este se obtienen estimaciones de cuan
bueno es el modelo obtenido.
Para este proyecto se ha decidido utilizar el método de Hold-out ya que los diferentes DataFrame
tienen bastantes observaciones, siendo de esta forma más robustos, con lo cual el hecho de que una
observación cayera en un conjunto u otro no resultaría un gran cambio en el resultado final. No
existen unas reglas fijas a la hora de realizar la división de los datos, pero se ha decidido hacer una
partición del 67% para el training set y un 33% para el test set.
Finalmente, es necesario comentar que estos cortes pueden realizarse definiendo que datos
incluiremos en cada conjunto o pueden ser mezclados aleatoriamente antes del corte. Para este
estudio se ha optado por mezclar estos de forma aleatoria tres veces, construyendo y evaluando el
modelo para cada una de estas, y finalmente se promedian los resultados.
4.4. Métricas de rendimiento
Las métricas de rendimiento nos permiten evaluar la bondad del ajuste de nuestro modelo,
comparando los valores de las predicciones realizadas por este con los valores objetivo. A
continuación se definen diferentes métricas utilizadas para validar un modelo de regresión, y se
adjunta junto a estas definiciones una imagen donde se muestra cómo se calculan.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 32
• Coeficiente de determinación (R2)
Refleja la proporción de varianza total de la variable respuesta explicada por el modelo de
regresión. Este coeficiente toma valores entre 0 y 1. Cuando este se acerca a 0 quiere decir
que el modelo no explica la variabilidad de los datos entorno a la media. El caso contrario
ocurre cuando este se acerca a 1.
Ilustración 11: Fórmula de cálculo de R2.
• Coeficiente de determinación ajustado (R2-adj.)
Este identifica también la cantidad de variabilidad explicada por el modelo de regresión, pero
teniendo en consideración las variables de entrada. Es decir, tiene en cuenta el número de
variables incluidas en el modelo. R2 tiende a aumentar en porcentaje con la adición de nuevas
variables, mientras que R2-adj no tiene por qué hacerlo. Únicamente aumenta si la adición de
estas hace que el modelo predictivo mejore. Así pues, se trata de una métrica interesante
para determinar el efecto real de las variables.
Ilustración 12: Fórmula de cálculo de R2-ajustado.
• Error cuadrático medio (MSE)
Mide el error cuadrado promedio de las predicciones realizadas por el modelo. Se trata de
una métrica muy sensible a la existencia de outlets o valores atípicos que el modelo no capta
correctamente porque se alejan de la hipótesis de este.
Ilustración 13: Fórmula de cálculo de MSE.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 33
• Raíz cuadrada del error cuadrático medio (RMSE)
Se trata de la raíz cuadrada del MSE. Esta se introduce para hacer que la escala de los
errores calculados sea igual que la escala de la variable objetivo. Igual que el MSE, se trata
de una métrica muy sensible a outliers o valores atípicos que el modelo no capta
correctamente porque se alejan de la hipótesis de este.
Ilustración 14: Fórmula de cálculo de RMSE.
• Error medio absoluto (MAE)
Mide la media de las desviaciones de cada error de predicción. Se entiende que el modelo es
mejor contra más cerca de 0 se encuentre.
Ilustración 15: Fórmula de cálculo de MAE.
4.5. Selección de hiperparámetros
En Machine Learning, cuando hablamos de hiperparámetros nos referimos a aquellos parámetros del
modelo que no es posible aprender a partir de los datos de entrenamiento, sino que deben ser
definidos por el programador. Los resultados finales de un modelo, dependen en gran parte del valor
que tomen estos.
La selección de hiperparámetros, es el proceso de ajustar estos por tal de ver para que configuración
de valores, o características, el modelo se ajusta mejor a los datos, ofreciendo así un mejor
rendimiento.
Es muy difícil saber de antemano que valores deben tomar estos parámetros. De esta forma, el
proceso para encontrar los valores óptimos consiste en ir probando diferentes posibilidades.
La librería Scikit Learn proporciona dos herramientas genéricas por tal de realizar este tipo de
estudios: grid search y random search.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 34
• Grid Search: Consiste en definir un conjunto de valores para cada parámetro y evaluar el
modelo para todas las posibles combinaciones de estos. Se trata de una estrategia muy
simple y potente, pero puede resultar muy costosa cuando tenemos muchos hiperparámetros.
• Random Search: Consiste en evaluar de forma aleatoria una cierta cantidad de valores de
los parámetros, definidos dentro de una distribución dada y unos límites establecidos. Muy útil
cuando tenemos muchos hiperparámetros a considerar.
Como se ha visto en el apartado de modelaje, los modelos Ridge y K-Nearest-Neighbors contienen
cada uno un parámetro que nos interesa optimizar. Así pues, se realizará una selección de
hiperparámetros sobre estos modelos y parámetros, utilizando la estrategia de grid search.
Para realizar este proceso, inicialmente se divide el conjunto de datos en training set y test set, y se
realiza un proceso de K-Fold cross validation sobre los datos de entrenamiento. Así pues, una vez
acaba este proceso, se obtienen los valores óptimos de los hiperparámetros junto a los k valores
obtenidos de la métrica de estudio deseada para cada fase del K-Fold y a el valor medio de todas
estas.
La función de Scikit Learn que nos permite realizar todo este proceso, se conoce como
sklearn.model_selection.GridSearchCV. Para utilizar esta, debemos definir los siguientes inputs:
• Estimator: Algoritmo sobre el cual queremos realizar la optimización.
• Paran_grid: Diccionario con nombres de parámetros como claves y lista de valores de
parámetros a probar como valores.
• Scoring: Métrica que se intentará optimizar. Normalmente para problemas de regresión se
utiliza root mean squared error (RMSE).
• CV: Número de pliegues para la realización de la validación cruzada.
Ilustración 16: Ejemplo de funcionamiento de K-Fold cross validation para la selección de hiperparámetros.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 35
Una vez acabado el proceso, esta función incluye diferentes atributos para observar los resultados
finales, como por ejemplo:
• cv_results: Devuelve un diccionario resumen del proceso para cada combinación de
parámetros. Este puede pasarse a formato DataFrame para visualizarse de forma más
sencilla.
• best_estimator: Devuelve el mejor valor obtenido para la métrica definida.
• best_params: Devuelve la combinación de valores de los hiperparámetros que obtiene el
mejor estimador.
4.6. Análisis de los resultados
Una vez hemos seleccionado los modelos y teniendo en cuenta los diferentes aspectos a considerar
durante la etapa de validación, estamos listos para construir los modelos y analizar los resultados
finales obtenidos.
4.6.1. Regresión Lineal
El modelo de regresión lineal no cuenta con parámetros que el modelo no puede aprender en la fase
de entrenamiento. De esta manera no hace falta pasar por la etapa de selección de hiperparámetros,
así que se ha podido construir el modelo directamente. A continuación, se muestran los resultados de
las predicciones realizadas por este algoritmo para cada asignatura.
Informática
MODELAJE VALIDACIÓN
DataFrame RMSE R2 R2-ADJ RMSE MAE
DataFrame1 1,7275 0,3147 0,298 1,8309 1,4
DataFrame2 1,7186 0,3163 0,291 1,8288 1,3992
DataFrame3 1,7382 0,3147 0,2859 1,7887 1,3833
Tabla 7: Resultados del algoritmo de regresión lineal para informática.
Como podemos observar, los resultados de RMSE durante la fase de entrenamiento son levemente
mejores que los de la validación para todos los DataFrame.
En cuanto a la validación vemos que no existe mucha diferencia entre los tres DataFrame. Si nos
fijamos en el valor de R2 ajustado, vemos que el hecho de añadir variables al modelo no resulta
determinante. En términos de error vemos que obtenemos valores de RMSE y MAE algo elevados,
alrededor de 1.8 y 1.39 puntos, respectivamente. Aun así, vemos que el DataFrame3 se comporta
ligeramente mejor en términos de error.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 36
Ecuaciones diferenciales
MODELAJE VALIDACIÓN
DataFrame RMSE R2 R2-ADJ RMSE MAE
DataFrame1 1,4788 0,3109 0,2942 1,4174 1,037
DataFrame2 1,459 0,315 0,2898 1,4127 1,0336
DataFrame3 1,4174 0,2679 0,2374 1,4533 1,0591
Tabla 8: Resultados del algoritmo de regresión lineal para ecuaciones diferenciales.
Se observa como el error obtenido durante el modelaje es mayor para los DataFrame 1 y 2, mientras
que es inferior para el tercero. Esto nos indica que se comete un poco de overfitting en los dos
primeros casos.
En la validación podemos ver como los dos primeros DataFrame muestran un comportamiento
bastante similar, con valores de R2 ajustado entorno al 29%, un RMSE alrededor de 1.4 puntos y un
MAE de 1 punto de media. El tercer DataFrame muestra los peores valores para todas las métricas,
lo que deja de manifiesto que para esta asignatura, el hecho de añadir la información de la
selectividad empeora el modelo.
Electromagnetismo
MODELAJE VALIDACIÓN
DataFrame RMSE R2 R2-ADJ RMSE MAE
DataFrame1 1,4161 0,3384 0,322 1,4261 1,0913
DataFrame2 1,4091 0,3362 0,3112 1,4285 1,091
DataFrame3 1,394 0,3441 0,3161 1,4131 1,0887
Tabla 9: Resultados del algoritmo de regresión lineal para electromagnetismo.
Para electromagnetismo se puede observar como, para todos los conjuntos, los errores de la fase de
entrenamiento son mejores que los de la validación, con lo cual sufrimos un poco de overfitting.
En la validación vemos un comportamiento similar entre los tres DataFrame. En términos de ajuste
vemos que el hecho de añadir variables al modelo no afecta en el resultado. En términos del error
vemos que el tercer conjunto se comporta levemente mejor que el resto.
Materiales
MODELAJE VALIDACIÓN
DataFrame RMSE R2 R2-ADJ RMSE MAE
DataFrame1 1,3789 0,2744 0,2569 1,4184 1,0936
DataFrame2 1,3706 0,2707 0,2439 1,4221 1,0939
DataFrame3 1,3859 0,2741 0,244 1,3908 1,0756
Tabla 10: Resultados del algoritmo de regresión lineal para materiales.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 37
Vemos como se está cometiendo algo de overfitting en los modelos, ya que los RMSE obtenido
durante el modelaje son sensiblemente mejores que los obtenidos durante la validación.
En cuanto a la validación, los resultados del primer DataFrame son levemente mejores que los del
resto en cuanto al coeficiente de determinación ajustado, lo que implica que el hecho de añadir
nuevas variables al modelo no es un factor determinante. Aun así, en términos de error el tercer
DataFrame se comporta mejor.
Mecánica
MODELAJE VALIDACIÓN
DataFrame RMSE R2 R2-ADJ RMSE MAE
DataFrame1 1,6522 0,3557 0,3398 1,6251 1,2849
DataFrame2 1,6385 0,3563 0,3322 1,6243 1,2781
DataFrame3 1,6081 0,3302 0,3017 1,6332 1,3036
Tabla 11: Resultados del algoritmo de regresión lineal para mecánica.
Para mecánica vemos como para los dos primeros DataFrame el error de la validación es más bajo
que el obtenido durante el entrenamiento. El tercer DataFrame, al contrario, obtiene mejores errores
durante el modelaje, lo cual indica que para este caso se comete overfitting.
En la validación, se ve como las predicciones del parámetro R2 ajustado son mejores que para el
resto de asignaturas vistas, aún y que continúan siendo bastante pobres. Los dos primeros
DataFrame muestran valores muy similares entre ellos, tanto en ajuste como en error. Se observa
fácilmente que el tercero es el peor de los tres.
Métodos numéricos
MODELAJE VALIDACIÓN
DataFrame RMSE R2 R2-ADJ RMSE MAE
DataFrame1 1,4887 0,2205 0,2016 1,5417 1,1349
DataFrame2 1,4804 0,2188 0,19 1,5435 1,1348
DataFrame3 1,4106 0,2076 0,1746 1,4525 1,0742
Tabla 12: Resultados del algoritmo de regresión lineal para métodos numéricos.
Para los modelos construidos para cada DataFrame vemos que se está cometiendo overfitting. En
cuanto a la validación, vemos que los valores de R2 para métodos son los más bajos en comparación
con el resto de asignaturas. Vemos que el primer DataFrame se comporta mejor que el resto en
términos de ajuste, y que cuando vamos añadiendo variables al modelo este empeora
progresivamente. En cuanto al error, vemos un comportamiento muy similar entre los diferentes
conjuntos, pero el tercero mejora sensiblemente los resultados.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 38
Conclusiones del modelo
De los resultados obtenidos para el algoritmo de regresión lineal, se ha podido observar que hay
asignaturas como informática, electromagnetismo, materiales y métodos numéricos donde en los
modelos obtenidos para cada DataFrame se ha producido algo de overfitting, ya que en todos estos,
los resultados de error arrojados durante la fase de entrenamiento han sido levemente mejores a los
obtenidos en la validación final. En ecuaciones diferenciales y mecánica observamos que los
modelos para el tercer DataFrame sufren overfitting, pero para los dos primeros esto no sucede ya
que los resultados de la validación han resultado sensiblemente mejores que los de entrenamiento.
En cuanto a los resultados obtenidos durante la fase de validación, vemos que no son muy
prometedores. Ya que como se ha ido observando, los modelos presentan ajustes muy bajos y
errores demasiado altos para lo que podríamos estar dispuestos a asumir.
Las asignaturas Electromagnetismo y Mecánica, son las que presentan valores más altos para el
coeficiente de determinación ajustado, quedando de manifiesto que para estas asignaturas el modelo
explica la varianza total existente, siendo la segunda de estas la que mejor ajusta esta métrica. El
resto de asignaturas presentan ajustes más bajos, y en el caso de Métodos Numéricos vemos que
obtenemos el peor de todos.
También podemos ver que para todas las asignaturas hemos obtenido valores de RMSE bastante
elevados, los cuales oscilan entre 1.4 y 1.8 puntos de media. Esto nos indica que los modelos están
sufriendo por la existencia de outliers o valores extremos que no se ajustan a la hipótesis lineal del
modelo.
4.6.2. Regresión Ridge
En el caso de Ridge, anteriormente se ha comentado la importancia de determinar el valor correcto
del parámetro α para obtener el mejor rendimiento del modelo construido.
El algoritmo de Scikit Learn que realiza este tipo de regresión se conoce como
sklearn.linear_model.Ridge. Este cuenta con el input ‘alpha’, que hace referencia a este
hiperparámetro y toma valor 1.0 por defecto. Se trata de un parámetro importante, ya que a medida
que aumentamos este se limitan los valores de las β, lo cual reduce la varianza total, diluye los
efectos de correlación entre variables y minimiza el riesgo de sufrir ‘overfitting’. Cuando ‘alpha’ se
establece en 0, el modelo se comporta como el de regresión lineal. Para encontrar el valor óptimo de
este se han considerado todos los valores enteros de ‘alpha’ entre 1 y 800, con el objetivo de
minimizar la raíz cuadrada del error cuadrático medio (RMSE).
A continuación, se muestran los resultados obtenidos durante la selección del hiperparámetro, la fase
de entrenamiento y la de validación para cada asignatura y DataFrame.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 39
Informática
DataFrame1 DataFrame2 DataFrame3
Informática α 194 363 392
RMSE 1,7475 1,7456 1,7746
Tabla 13: Resultados del proceso de selección de α para informática.
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame α RMSE R2 R2-ADJ RMSE MAE
DataFrame1 194 1,7301 0,3182 0,3016 1,8262 1,3933
DataFrame2 363 1,7244 0,321 0,2959 1,8224 1,391
DataFrame3 392 1,7467 0,3255 0,2971 1,7746 1,3699
Tabla 14: Resultados del algoritmo Ridge para informática.
En informática podemos ver como a medida que aumentamos el número de variables el parámetro α
aumenta, dejando de manifiesto que para obtenerlos mejores resultados es necesario penalizar cada
vez más el modelo. Aun así, si comparamos los resultados de error obtenidos durante la selección
del hiperparámetro y los obtenidos durante la validación, podemos ver que estos son bastante
similares, lo que nos indica que estos son correctos.
Observando los errores obtenidos durante la fase de entrenamiento y validación, vemos que se
produce overfitting en los modelos finales obtenidos para cada DataFrame.
El primer DataFrame capta mejor la varianza de los datos, pero también obtiene los peores valores
de error. Mientras que el tercer DataFrame es sensiblemente mejor en términos de error. Aun así,
vemos que los tres están muy parejos entre sí. Los ajustes se encuentran alrededor del 30% y los
valores de error son considerables, teniendo un RMSE de 1.8 puntos de media.
Ecuaciones diferenciales
DataFrame1 DataFrame2 DataFrame3
EDOS α 277 133 248
RMSE 1,4982 1,4915 1,4513
Tabla 15: Resultados del proceso de selección de α para ecuaciones diferenciales.
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame α RMSE R2 R2-ADJ RMSE MAE
DataFrame1 277 1,4828 0,3125 0,2958 1,4157 1,0324
DataFrame2 133 1,4639 0,3151 0,2899 1,4127 1,0338
DataFrame3 248 1,4252 0,2743 0,2441 1,447 1,055
Tabla 16: Resultados del algoritmo Ridge para ecuaciones diferenciales.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 40
Para la selección de α vemos como el DataFrame 2 es el que necesita una penalización más baja
para obtener los mejores resultados, mientras que el primero y el tercero obtienen un valor más alto
de este y bastante similar entre ellos, siendo el del DataFrame 1 el mayor. Se observa también que
los valores obtenidos de RMSE de la validación son muy similares a los obtenidos durante la
selección del hiperparámetro, de esta forma podemos ver que estos son correctos.
Los modelos finales para los DataFrame 1 y 2 muestran valores de error más bajos durante el
modelaje que en la validación, con lo que se ha producido overfitting. En el modelo del tercer
conjunto de datos ocurre lo contrario.
En los resultados de validación de Ecuaciones Diferenciales, podemos ver como a medida que
aumentamos el número de variables el ajuste va bajando. Los dos primeros conjuntos muestran
valores muy similares, con ajustes alrededor del 29% y un RMSE de 1.41 puntos de media. El tercer
DataFrame obtiene los peores resultados con diferencia respecto a los otros dos, en este caso el
ajuste baja hasta un 24% y el RMSE está alrededor de 1.45 puntos.
Así pues, podemos ver que el hecho de añadir la información relacionada con la nota de acceso de
los alumnos, empeora el modelo.
Electromagnetismo
DataFrame1 DataFrame2 DataFrame3
Electro α 248 560 470
RMSE 1,4327 1,4333 1,4192
Tabla 17: Resultados del proceso de selección de α para electromagnetismo.
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame α RMSE R2 R2-ADJ RMSE MAE
DataFrame1 248 1,4192 0,339 0,3227 1,4254 1,0921
DataFrame2 560 1,4155 0,3399 0,3151 1,4244 1,0855
DataFrame3 470 1,4007 0,354 0,3265 1,4023 1,0805
Tabla 18: Resultados del algoritmo Ridge para electromagnetismo
Para Electromagnetismo, vemos que se obtienen también penalizaciones muy altas por tal de
obtener los mejores resultados de los modelos, donde el DataFrame 2 tiene el valor más elevado.
También se observa como los errores obtenidos durante la selección de α y la validación son muy
similares, con lo cual los valores de ‘alpha’ seleccionados son correctos.
En cuanto a la fase de entrenamiento, vemos que en los tres modelos los errores son menores que
en la validación, con lo cual se ha producido overfitting en todo ellos.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 41
Analizando los resultados del proceso de validación, en términos de ajuste vemos como el tercer
conjunto de datos es el mejor, aún y que los tres obtienen valores muy parejos. Respecto al error
podemos observar también que el tercero es el que otorga mejores resultados, con lo cual para esta
asignatura el tercer DataFrame es sensiblemente mejor al resto, obteniendo un ajuste del 32% y un
RMSE de 1.4 puntos de media.
Materiales
DataFrame1 DataFrame2 DataFrame3
Materiales α 169 556 650
RMSE 1,3971 1,3936 1,413
Tabla 19: Resultados del proceso de selección de α para materiales.
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame α RMSE R2 R2-ADJ RMSE MAE
DataFrame1 169 1,3811 0,2789 0,2615 1,4141 1,0894
DataFrame2 556 1,3767 0,2818 0,2554 1,4112 1,0844
DataFrame3 650 1,3926 0,2832 0,2535 1,3821 1,0709
Tabla 20: Resultados del algoritmo Ridge para materiales.
Con la inclusión de nuevas variables en el conjunto de partida, es necesario realizar una penalización
más restrictiva del modelo, pasando de 169 para el DataFrame1 a 556 y 650 para los DataFrame 2 y
3, respectivamente. Para los dos primeros conjuntos, el RMSE del modelo empeora respecto a la
selección del hiperparámetro, y para el tercer conjunto ocurre lo contrario. Aun así, estas diferencias
son muy pequeñas, así que podemos validar los valores obtenidos para ‘alpha’.
En cuanto al modelaje se observa que, al igual que durante la selección de α, los valores de RMSE
de los dos primeros conjuntos son peores que los del modelo, mientras que en el tercer caso ocurre
lo contrario.
Los resultados de la validación para materiales dejan de manifiesto que el algoritmo capta mejor la
varianza total para el DataFrame1 con un 26%, aún y que el valor obtenido no dista mucho de los
obtenidos para los otros dos conjuntos. Los valores de RMSE también son muy similares entre los
conjuntos, aunque son sensiblemente mejores para el tercero, con un valor de 1.38 puntos.
Mecánica
DataFrame1 DataFrame2 DataFrame3
Mecánica α 379 582 344
RMSE 1,6764 1,6735 1,6508
Tabla 21: Resultados del proceso de selección de α para mecánica.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 42
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame α RMSE R2 R2-ADJ RMSE MAE
DataFrame1 379 1,6571 0,3567 0,3409 1,6237 1,2863
DataFrame2 582 1,6506 0,3619 0,3381 1,6171 1,278
DataFrame3 344 1,6192 0,3405 0,3125 1,6206 1,2979
Tabla 22: Resultados del algoritmo Ridge para mecánica.
La regularización aumenta mucho para el DataFrame2, donde el parámetro ‘alpha’ es igual a 582,
mientras que para los DataFrame 1 y 3 es de 379 y 244, respectivamente. Los valores de RMSE
obtenidos durante la selección de ‘alpha’ y los obtenidos en la validación son muy similares, con lo
cual no vemos ningún indicio de que estos valores no sean correctos.
Observando los resultados de RMSE del modelaje y la validación, vemos que para los dos primeros
conjuntos el modelo final sufre overfitting.
En cuanto a la validación, nos encontramos con un caso parecido al de Ecuaciones Diferenciales, ya
que a nivel de ajuste se ve como los dos primeros conjuntos obtienen resultados similares, alrededor
del 34%. Mientras que para el tercero estos empeoran, pasando a un 31% de ajuste. En cuanto al
error del modelo vemos que obtenemos un error medio de 1.3 puntos aproximadamente, y un RMSE
de 1.6 puntos.
Métodos numéricos
DataFrame1 DataFrame2 DataFrame3
Métodos α 233 745 541
RMSE 1,5075 1,5034 1,4352
Tabla 23: Resultados del proceso de selección de α para métodos numéricos.
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame α RMSE R2 R2-ADJ RMSE MAE
DataFrame1 233 1,4919 0,2267 0,208 1,5357 1,1252
DataFrame2 718 1,4877 0,2281 0,1997 1,5346 1,1263
DataFrame3 541 1,419 0,2244 0,1922 1,4374 1,0619
Tabla 24: Resultados del algoritmo Ridge para métodos numéricos.
Los valores de la regularización son bastante altos, siendo el primer conjunto el menos penalizado y
el tercero el más penalizado, con una ‘alpha’ de 718. El valor más alto obtenido durante todo el
estudio del algoritmo Ridge. Los valores del error durante la selección del parámetro y la validación
son muy parecidos, con lo cual no hay ninguna evidencia de que los valores de α seleccionados sean
erróneos.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 43
Los resultados obtenidos durante la construcción del modelo dejan de manifiesto que para los
DataFrame 1 y 2 se ha cometido overfitting en los modelos obtenidos. En la validación se observa
que tanto el R2 ajustado como el RMSE disminuyen a medida que añadimos datos al conjunto inicial.
De esta forma, aunque el tercer DataFrame obtiene el ajuste más bajo, es el mejor en términos de
error.
Conclusiones del modelo
Como se comentó anteriormente, una de las ventajas que tiene el hecho de aplicar la regresión de
cresta, es la posibilidad de evitar la aparición de overfitting. Después de haber analizado los
resultados vemos que, por lo general, esto no ha sido posible. En comparación con la regresión
lineal, vemos que de todos los modelos que sufrían overfitting con esta, Ridge solo ha conseguido
evitar la aparición de este fenómeno en el modelo del DataFrame 3 de la asignatura materiales.
En cuanto a la selección del parámetro α, se ha podido ver que los valores obtenidos para este son
valores muy elevados, con lo cual el algoritmo necesita realizar penalizaciones importantes de los
modelos para obtener los mejores resultados.
Si nos fijamos en los resultados obtenidos de los modelos durante la validación para el coeficiente de
determinación ajustado, vemos que obtenemos unos valores muy pobres de este. Las asignaturas
que muestran un mejor comportamiento de este son Electromagnetismo y Mecánica, mientras que
Métodos obtiene los peores resultados, presentando unos valores mucho peores que el resto de
asignaturas. En términos de error seguimos teniendo valores muy altos y prácticamente idénticos a
los de Regresión Lineal.
Finalmente, otro de los aspectos que se comentó cuando se definió el algoritmo Ridge, es que
cuanto más se penaliza un modelo, más tiende a aumentar el error cometido. En nuestro caso vemos
que tenemos valores de error altos, pero estos son muy similares a los obtenidos en regresión lineal.
4.6.3. K-Nearest Neighbors
Para el caso de K-Nearest Neighbors, se ha comentado que es importante determinar el número de
vecinos cercanos a considerar para construir el mejor modelo.
El algoritmo de Scikit Learn que realiza este tipo de regresión se conoce como
sklearn.neighbors.KNeighborsRegressor. Este cual cuenta con el parámetro ‘n_neighbors’, que toma
5 como valor predeterminado. Se trata de un parámetro que controla el número k de puntos que se
tendrán en cuenta a la hora de realizar las predicciones. Un valor de k bajo, puede conducirnos a un
modelo donde el ruido tendrá un efecto grande sobre el resultado, mientras que un valor de k muy
elevado incluirá un costo computacional muy elevado, lo cual tampoco nos interesa. De esta forma,
en tanto que no interesan valores muy altos del parámetro, hay que definir un límite para este. Existe
una regla que indica que el valor óptimo de k es aproximadamente igual a la raíz cuadrada el número
de observaciones. Así pues, se considerarán todos los valores enteros de k entre 1 y dos veces la
raíz cuadrada del número de observaciones, para dar un pequeño margen.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 44
A continuación, se muestran los resultados obtenidos durante la selección del hiperparámetro y la
fase de validación para cada asignatura y DataFrame.
Informática
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame k RMSE R2 R2-ADJ RMSE MAE
DataFrame1 45 1,7264 0,3078 0,291 1,84 1,4023
DataFrame2 43 1,7356 0,3069 0,2813 1,8413 1,3963
DataFrame3 38 1,7562 0,3077 0,2786 1,7978 1,3649
Tabla 26: Resultados del algoritmo K-Nearest Neighbors para informática.
Vemos que a medida que aumentamos el número de variables, son necesarios menos vecinos para
obtener las mejores predicciones. Los errores obtenidos en la etapa de entrenamiento son muy
similares a los obtenidos durante la validación, con lo cual podemos ver que los valores de k son
buenos.
Los resultados obtenidos para RMSE durante la construcción de los modelos son mejores que los
obtenidos durante la validación en todos los DataFrame, con lo cual vemos que sufrimos overfitting
en todos ellos.
Podemos ver que cuando añadimos variables al modelo, tanto el ajuste como el error medio y el
RMSE bajan. Aun así, los dos primeros DataFrame se comportan de forma muy similar. Sin
embargo, vemos que tenemos predicciones muy bajas, alrededor del 28%, y errores muy altos, con
valores de 1.8 para RMSE y 1.39 para el MAE.
Ecuaciones diferenciales
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame k RMSE R2 R2-ADJ RMSE MAE
DataFrame1 43 1,4792 0,2994 0,2824 1,4291 1,0434
DataFrame2 56 1,4946 0,2992 0,2734 1,4294 1,0207
DataFrame3 58 1,4576 0,2663 0,2357 1,4558 1,047
Tabla 28: Resultados del algoritmo K-Nearest Neighbors para ecuaciones diferenciales.
DataFrame1 DataFrame2 DataFrame3
Informática k 45 43 38
RMSE 1,7655 1,7793 1,8031
Tabla 25: Resultados del proceso de selección de k para informática.
DataFrame1 DataFrame2 DataFrame3
EDOS k 43 56 58
RMSE 1,5131 1,523 1,4829
Tabla 27: Resultados del proceso de selección de k para ecuaciones diferenciales.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 45
Se observa que a medida que aumentamos el número de variables, necesitamos consultar más
vecinos cercanos por tal de obtener los mejores modelos.
Mirando los resultados obtenidos durante la fase de entrenamiento, vemos que estos son siempre
peores que los de la fase de validación, así pues, se puede observar que no se ha cometido
overfitting.
Los DataFrame 1 y 2 tienen un comportamiento muy similar, ya que no observamos diferencias muy
significativas entre sus resultados. Estos realizan un ajuste alrededor de un 28%, con un error medio
de 1 punto y un RMSE de 1.4 puntos. Aun así, el primero obtiene las mejores puntuaciones. En el
tercer DataFrame empeora en un 4% el ajuste del modelo, mientras que el error de predicción es
sensiblemente peor que en los otros dos.
Electromagnetismo
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame k RMSE R2 R2-ADJ RMSE MAE
DataFrame1 32 1,4105 0,3176 0,3007 1,4483 1,1084
DataFrame2 46 1,4268 0,3156 0,2899 1,4503 1,1043
DataFrame3 43 1,4052 0,3259 0,2971 1,4326 1,1023
Tabla 30: Resultados del algoritmo K-Nearest Neighbors para electromagnetismo.
En primer lugar, en cuanto al hiperparámetro k, vemos que el segundo conjunto es el que necesita
consultar más vecinos para obtener la mejor estimación, y aun así obtiene los peores resultados.
Los resultados obtenidos durante el modelaje son sensiblemente mejores que los de la validación,
con lo cual se está produciendo overfitting en los modelos finales para cada DataFrame.
Finalmente, analizando los resultados de la validación, vemos como el conjunto de partida es el que
explica más varianza total del modelo. Cuando añadimos la información de las convocatorias, este
ajuste baja sensiblemente, y finalmente cuando añadimos las notas de selectividad este vuelve a
subir, con un valor muy cercano al del DataFrame1, lo que indica que la nota de selectividad ha
resultado una variable influyente en el modelo. Para los tres conjuntos vemos que obtenemos errores
muy similares, siendo 1.4 puntos para RMSE y 1.1 puntos para MAE. En términos de error el mejor
DataFrame es el tercero.
DataFrame1 DataFrame2 DataFrame3
Electro k 32 46 43
RMSE 1,4514 1,4582 1,4405
Tabla 29: Resultados del proceso de selección de k para electromagnetismo.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 46
Materiales
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame k RMSE R2 R2-ADJ RMSE MAE
DataFrame1 36 1,3731 0,2608 0,2429 1,4317 1,0884
DataFrame2 58 1,3893 0,2568 0,2295 1,4356 1,0845
DataFrame3 52 1,4027 0,2645 0,234 1,4 1,0725
Tabla 32: Resultados del algoritmo K-Nearest Neighbors para materiales.
Al igual que en Electromagnetismo, el segundo conjunto de datos necesita mirar más vecinos que el
resto. Y aun así no consigue mejorar las puntuaciones de los otros. Los errores de la selección del
hiperparámetro y prueba son similares, con lo cual podemos ver que los valores de k son correctos.
Los resultados del training dejan de manifiesto que los modelos obtenidos para los dos primeros
DataFrame sufren overfitting.
En Materiales nos encontramos en un caso similar al de Electromagnetismo, donde el primer
DataFrame es el mejor, y el tercero mejora respecto al segundo, por el hecho de añadir la variable de
la nota de acceso al grado. Para esta asignatura vemos ajustes que oscilan entre 22-24%, valores de
error medio de 1 punto (lo cual tampoco es excesivamente alto si lo comparamos con el resto de
asignaturas), y valores de RMSE de 1.4 puntos.
Mecánica
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame k RMSE R2 R2-ADJ RMSE MAE
DataFrame1 33 1,6452 0,3324 0,316 1,6543 1,3012
DataFrame2 34 1,6456 0,3255 0,3003 1,6628 1,306
DataFrame3 43 1,6297 0,3217 0,2928 1,6436 1,3078
Tabla 34: Resultados del algoritmo K-Nearest Neighbors para mecánica.
DataFrame1 DataFrame2 DataFrame3
Materiales k 36 58 52
RMSE 1,4136 1,4132 1,4273
Tabla 31: Resultados del proceso de selección de k para materiales.
DataFrame1 DataFrame2 DataFrame3
Mecánica k 33 34 43
RMSE 1,6973 1,6973 1,6739
Tabla 33: Resultados del proceso de selección de k para mecánica.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 47
Vemos que a medida que añadimos datos al conjunto inicial, el algoritmo necesita consultar más
vecinos por tal de obtener los mejores resultados.
Para los modelos construidos para cada conjunto de datos, vemos que los errores de la fase de
entrenamiento son peores que los de validación.
En cuanto a los resultados de la validación, vemos que a medida que añadimos variables, el modelo
ajusta ligeramente peor la varianza total al mismo tiempo que el RMSE se reduce también. Las
predicciones se encuentran alrededor del 30%, el error medio se sitúa en 1.3 puntos y el RMSE toma
valores de 1.6 puntos.
Métodos numéricos
HIPERPARÁMETRO MODELAJE VALIDACIÓN
DataFrame k RMSE R2 R2-ADJ RMSE MAE
DataFrame1 50 1,483 0,2157 0,1967 1,5473 1,1244
DataFrame2 47 1,481 0,231 0,2026 1,5322 1,1105
DataFrame3 35 1,4127 0,2248 0,1926 1,4374 1,0493
Tabla 36: Resultados del algoritmo K-Nearest Neighbors para métodos numéricos.
Se puede ver como el número de vecinos a consultar disminuye a medida que añadimos información
al conjunto inicial.
Los modelos finales construidos para cada DataFrame obtienen valores de RMSE peores durante la
validación en comparación con los obtenidos durante la fase de entrenamiento. De esta forma queda
de manifiesto que los tres modelos sufren overfitting.
En Métodos vemos que añadir información de las convocatorias ayuda a captar mejor la varianza del
modelo, pero cuando se añade también las notas de selectividad esta empeora. Vemos predicciones
muy bajas, que no superan el 20%, y el error es similar al de las asignaturas vistas anteriormente,
obteniendo un MAE de 1.1 puntos de media y un RMSE de 1.5 puntos de media.
Conclusiones del modelo
De los resultados del modelo, podemos observar como el modelo de K-Nearest Neighbors no es muy
satisfactorio a nivel explicativo, ya que los resultados obtenidos son muy pobres.
DataFrame1 DataFrame2 DataFrame3
Métodos k 50 47 35
RMSE 1,517 1,5147 1,4485
Tabla 35: Resultados del proceso de selección de k para métodos numéricos.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 48
Se ha observado que para las asignaturas de informática, electromagnetismo, mecánica y métodos
numéricos en los modelos finales construidos para cada DataFrame ha aparecido overfitting. Por otra
parte, en la asignatura materiales se ha cometido overfitting en los modelos de los dos primeros
DataFrame, mientras que en ecuaciones diferenciales no ha aparecido este fenómeno para ninguno
de los tres conjuntos de datos.
En cuanto al ajuste, podemos identificar como hay dos asignaturas que destacan, Mecánica y
Métodos. La primera obtiene los valores de R2 más elevados, mientras que la segunda presenta la
peor puntuación de este estimador. Aun así, vemos que la diferencia es únicamente del 10%.
En cuanto al error, vemos que obtenemos valores bastante elevados, tanto de RMSE como de MSE.
Los valores más elevados los encontramos en Informática y Mecánica, mientras que los menores son
los de Ecuaciones Diferenciales y Materiales. La diferencia entre los valores más altos y los más
bajos es de prácticamente medio punto (hablando del MAE), lo cual es bastante preocupante cuando
estamos intentando predecir la nota de los alumnos.
Para la elección de los parámetros k óptimos, vemos como aproximadamente se cumple la regla que
introdujimos a la hora de describir el hiperparámetro, y es que el valor óptimo de esta acostumbra a
encontrarse alrededor de la raíz cuadrada del número de observaciones.
No encontramos evidencias de que haya errores en estos valores, ya que en todas las asignaturas
podemos ver como el error cometido durante la selección del valor óptimo de este parámetro es muy
similar al de validación, lo cual pone de manifiesto que estos han sido calculados correctamente.
Un motivo por el cual podemos estar obteniendo estos resultados tan pobres con K-Nearest
Neighbors, es el hecho de que este algoritmo es muy sensible cuando se trabaja con conjuntos de
datos con una dimensión elevada. Cuando se aumenta la dimensionalidad del espacio, los datos
tienden a estar más disperso, lo cual provoca que el modelo necesite consultas más datos de
entrenamiento para obtener resultados fiables. Esto puede provocar que los modelos obtenidos se
acaben ajustando a particularidades de los datos de entrenamiento.
4.7. Análisis de las predicciones
En el apartado anterior hemos podido ver que los modelos construidos se ajustan de forma muy
pobre a nuestros datos, obteniendo errores muy altos. Así pues, podemos ver que a nivel explicativo
no están funcionando correctamente.
Aun así, sería interesante ver si aún y que los resultados sean poco prometedores, podríamos llegar
a utilizar el modelo para poder predecir el rendimiento de determinados alumnos de interés, por
ejemplo, aquellos que aprueben justo o se encuentren cerca del aprobado, y aquellos que obtengan
las mejores notas. A los primeros sería interesante ofrecerles más apoyo o ayuda por tal de que
aprueben sin problemas, y a los segundos por tal de ofrecerles herramientas para poder potencias
más aún sus conocimientos.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 49
Para ello, caracterizaremos a los alumnos en diferentes categorías según las notas obtenidas:
• Categoría 0: En esta se encontrarán los alumnos que obtienen muy malos resultados y se
encuentran lejos del aprobado. Contendrá los alumnos con notas entre 0 y4.
• Categoría 1: Estará formada por aquellos alumnos que se encuentren cerca del aprobado.
Contendrá los alumnos que hayan obtenido notas entre 4 y 6.
• Categoría 2: La forman los alumnos que aprueban de forma cómoda. Se encuentran los
alumnos con calificaciones entre 6 y 8.
• Categoría 3: En esta encontraremos a los mejores alumnos, es decir, los que obtienen las
mejores calificaciones. En esta categoría introduciremos los alumnos que hayan obtenido
calificaciones entre 8 y 10.
Esto lo llevaremos a cabo discretizando los valores de la variable respuesta y de las predicciones
conseguidas. Para cada una de estas, asignaremos los valores obtenidos a una categoría según la
nota obtenida, y finalmente se mostrarán los resultados en forma de matriz de confusión.
La matriz de confusión es una herramienta que se utiliza para visualizar el desempeño de algoritmos
de clasificación, describiendo como se distribuyen los valores reales y sus predicciones. La ilustración
17 muestra como interpretar esta en el caso de un problema donde solo tenemos dos posibles
valores de la salida, positivo y negativo.
Ilustración 17: Ejemplo de interpretación de una matriz de confusión.
Para nuestro estudio, realizaremos la matriz de confusión de los resultados después de haber sido
codificados, y además se añadirá información de las métricas de regresión para cada categoría. De
esta forma profundizaremos más sobre los modelos obtenidos y podremos ver que está ocurriendo
en ellos.
Se ha realizado este estudio para cada asignatura y DataFrame (los resultados se pueden ver en el
Anexo 2), pero solo se mostrarán los resultados del mejor DataFrame para cada asignatura en cada
uno de los algoritmos.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 50
4.7.1. Informática
Regresión Lineal
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 23 86 21 0 2,9383 2,6162 2,3387 4,9234
4-6 21 165 79 3 1,0913 0,8611 5,2911 5,5
6-8 5 100 132 15 1,3698 1,0821 6,9671 6,2174
8-10 1 14 73 31 2,1473 1,8567 9,0542 7,2391
Tabla 37: Matriz de confusión y métricas por tramos para informática con regresión lineal.
Regresión Ridge
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 20 90 19 0 2,9532 2,6482 2,3387 4,9671
4-6 15 174 78 2 1,0175 0,8091 5,2911 5,5142
6-8 4 103 135 11 1,3255 1,0543 6,9671 6,2088
8-10 1 15 74 29 2,1915 1,9136 9,0542 7,1727
Tabla 38: Matriz de confusión y métricas por tramos para informática con Ridge.
K-Nearest Neighbors
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 9 103 17 0 3,1382 2,8608 2,3387 5,1977
4-6 3 187 77 0 0,9013 0,6931 5,2911 5,6412
6-8 1 110 131 10 1,2135 0,9859 6,9671 6,2183
8-10 1 17 78 23 2,2835 2,0549 9,0542 7,005
Tabla 39: Matriz de confusión y métricas por tramos para informática con K-Nearest Neighbors.
Vemos un comportamiento prácticamente idéntico para los tres algoritmos estudiados.
Se observa que se comete un error muy considerable para aquellos alumnos que se encuentran en
el rango de 0 a 4, ya que el algoritmo tiende a predecirlos en su gran mayoría como aprobados. Esto
queda de manifiesto al observar que se comete un error medio de tres puntos prácticamente, y que la
media de las predicciones es mucho mayor que la media de los valores originales.
El rango 4-6 es el que mejor caracteriza el modelo. En este se comete el menor error de todos, y
vemos como las medias de test y predicciones son muy similares. Vemos que el 60-70% de los
alumnos que han obtenido notas dentro de este rango obtienen notas similares en las predicciones.
Para los mejores alumnos, vemos que los modelos tienden a realizar predicciones a la baja,
cometiendo un error medio de prácticamente dos puntos, lo cual hace que la mayoría de estos
acaben perteneciendo al tercer grupo.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 51
4.7.2. Ecuaciones diferenciales
Regresión Lineal
DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 10 95 2 0 2,8829 2,513 2,2441 4,7565
4-6 8 353 48 0 0,7342 0,6012 5,265 5,1963
6-8 2 175 108 5 1,2939 1,0764 6,7996 5,8732
8-10 0 4 19 16 1,5826 1,2449 8,7881 7,5938
Tabla 40: Matriz de confusión y métricas por tramos para ecuaciones diferenciales con regresión lineal.
Regresión Ridge
DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 5 100 2 0 2,9105 2,5479 2,2441 4,792
4-6 6 357 47 0 0,7041 0,5784 5,265 5,195
6-8 0 179 106 5 1,2854 1,0779 6,7996 5,8602
8-10 0 4 20 16 1,6115 1,2791 8,7881 7,5482
Tabla 41: Matriz de confusión y métricas por tramos para ecuaciones diferenciales con Ridge.
K-Nearest Neighbors
DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 10 96 1 0 2,9037 2,529 2,2441 4,7731
4-6 14 360 35 0 0,7023 0,5643 5,265 5,1505
6-8 1 184 103 3 1,3052 1,0997 6,7996 5,7785
8-10 0 4 25 10 1,7796 1,5473 8,7881 7,2409
Tabla 42: Matriz de confusión y métricas por tramos para ecuaciones diferenciales con K-Nearest Neighbors.
Se observa un comportamiento muy similar entre los diferentes algoritmos.
Los modelos se ajustan muy bien para aquellos alumnos que obtienen notas dentro del rango 4-6, ya
que obtenemos aproximadamente un 85% de acierto. Podemos apreciar esto viendo que el error
medio obtenido es de unas seis décimas y las medias de test y predicciones son prácticamente
idénticas.
Sin embargo, podemos ver que el hecho de que los modelos se ajusten tan bien para estos alumnos,
está haciendo que los alumnos entre 0-4 y 6-8 acaben siendo mayoritariamente predichos dentro de
esta clase. Para los alumnos de la última clase, vemos que el modelo tiende a predecir notas
inferiores, con un error medio de 1.5 puntos, lo cual acaba haciendo que la gran mayoría de alumnos
acaben obteniendo notas entre 6 y 8.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 52
4.7.3. Electromagnetismo
Regresión Lineal
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 56 141 4 0 2,0496 1,7058 2,7345 4,4019
4-6 32 263 34 0 0,8472 0,6751 5,1806 4,9968
6-8 6 118 81 4 1,3786 1,1367 6,7534 5,7745
8-10 0 0 17 2 1,3712 1,2043 8,6114 7,4155
Tabla 43: Matriz de confusión y métricas por tramos para electromagnetismo con regresión lineal.
Regresión Ridge
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 51 146 4 0 2,0541 1,7181 2,7345 4,4265
4-6 23 273 33 0 0,8081 0,6464 5,1806 5,0017
6-8 5 119 81 3 1,3627 1,1324 6,7534 5,7523
8-10 0 0 16 2 1,441 1,295 8,6114 7,3179
Tabla 44: Matriz de confusión y métricas por tramos para electromagnetismo con Ridge.
K-Nearest Neighbors
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 22 176 2 0 2,1688 1,8682 2,7345 4,5987
4-6 13 291 25 0 0,7244 0,5823 5,1806 5,0636
6-8 3 138 68 0 1,3555 1,1424 6,7534 5,6966
8-10 0 1 17 0 1,6754 1,5729 8,6114 7,0385
Tabla 45: Matriz de confusión y métricas por tramos para electromagnetismo con K-Nearest Neighbors.
En términos generales, vemos como los modelos se ajustan bastante bien para los alumnos que se
encuentran entre el 4 y el 6, caracterizando correctamente más o menos el 80% de para los modelos
de regresión lineal y ridge, y llegando hasta el 88% en el caso de KNN. Podemos ver que para este
intervalo el error medio es muy pequeño y prácticamente coinciden las medias de test y predicciones.
Como en el caso de Ecuaciones Diferenciales, se está viendo que los modelos se ajustan muy bien
para los alumnos entorno al cinco, lo cual provoca que las predicciones de los alumnos de la primera
y tercera clase tiendan a colocar la gran mayoría en la segunda. Esto también provoca un error para
los mejores alumnos, ya que se tienden a predecir valores más bajos, y prácticamente todos los
alumnos acaban obteniendo calificaciones entre el 6 y el 8.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 53
4.7.4. Materiales
Regresión Lineal
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 58 132 2 0 2,0513 1,6898 2,6734 4,3357
4-6 53 318 30 0 0,8697 0,7075 5,1941 4,8602
6-8 4 115 59 0 1,4283 1,2106 6,7186 5,5906
8-10 0 1 7 1 1,9112 1,7269 8,6671 6,9403
Tabla 46: Matriz de confusión y métricas por tramos para materiales con regresión lineal.
Regresión Ridge
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 54 137 1 0 2,059 1,712 2,6734 4,3628
4-6 43 332 26 0 0,8225 0,6717 5,1941 4,8686
6-8 4 122 53 0 1,4376 1,2412 6,7186 5,5413
8-10 0 1 8 0 1,9804 1,8302 8,6671 6,8369
Tabla 47: Matriz de confusión y métricas por tramos para materiales con Ridge.
K-Nearest Neighbors
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 37 153 1 0 2,1561 1,8286 2,6734 4,4984
4-6 23 353 25 0 0,7497 0,6082 5,1941 4,9306
6-8 2 132 45 0 1,4345 1,256 6,7186 5,5015
8-10 0 1 8 0 2,1757 2,0272 8,6671 6,6399
Tabla 48: Matriz de confusión y métricas por tramos para materiales con K-Nearest Neighbors.
Los tres modelos ajustan los datos de manera muy similar. Los modelos tienden a predecir las notas
alrededor del 5, de esta manera obtenemos buenos resultados cuando intentamos caracterizar los
alumnos de la segunda categoría, con una precisión alrededor del 88%. Tal y como hemos visto en
las asignaturas de Electromagnetismo y Ecuaciones diferenciales esto provoca un error muy grande
en el resto de clases. Para los alumnos entre 0-4 y 6-8 los modelos tienden a ajustarlos como si
formarán parte de esta segunda clase.
Finalmente podemos observar que para Materiales los algoritmos obtenidos tienen muy pocos
registros de alumnos que hayan obtenido notas entre 8 y 10, y en ningún caso son capaces de
ajustar ninguno de estos correctamente.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 54
4.7.5. Mecánica
Regresión Lineal
DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 276 92 1 0 1,8037 1,3962 2,3208 3,5503
4-6 144 178 23 0 1,2691 1,0696 5,114 4,3486
6-8 12 57 31 4 1,7045 1,3895 6,7781 5,5105
8-10 0 7 8 1 2,9753 2,6739 9,0916 6,4243
Tabla 49: Matriz de confusión y métricas por tramos para mecánica con regresión lineal.
Regresión Ridge
DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 281 87 1 0 1,8112 1,401 2,3208 3,5821
4-6 145 180 19 0 1,2452 1,0583 5,114 4,334
6-8 12 57 32 2 1,7129 1,4119 6,7781 5,4696
8-10 1 6 8 1 3,0179 2,7309 9,0916 6,3657
Tabla 50: Matriz de confusión y métricas por tramos para mecánica con Ridge.
K-Nearest Neighbors
DataFrame 1 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 277 91 1 0 1,8498 1,4217 2,3208 3,5959
4-6 141 188 14 0 1,2178 1,0255 5,114 4,3223
6-8 14 59 31 0 1,7838 1,5011 6,7781 5,3268
8-10 0 7 10 0 3,2946 3,1322 9,0916 5,9594
Tabla 51: Matriz de confusión y métricas por tramos para mecánica con K-Nearest Neighbors.
En mecánica nos encontramos en el caso donde los modelos están siendo penalizados por la gran
cantidad de notas bajas. Obteniendo ajustes muy altos para los alumnos entre 0-4 pero muy pobre
para las diferentes clases. Puede que nos encontremos ante este hecho ya que encontramos a la
gran mayoría de alumnos entre las dos primeras clases, y las medias de las predicciones son muy
bajas. Los errores para las tres primeras clases son muy similares, pero el error de la cuarta obtiene
unos valores que prácticamente doblan los anteriores.
4.7.6. Métodos numéricos
Regresión Lineal
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 3 56 15 0 3,2155 2,8522 2,4919 5,3355
4-6 4 184 115 1 0,9427 0,7606 5,3155 5,7776
6-8 0 133 204 6 1,0884 0,8728 6,9157 6,2653
8-10 0 6 43 7 1,8437 1,6355 8,6934 7,0621
Tabla 52: Matriz de confusión y métricas por tramos para métodos numéricos con regresión lineal.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 55
Regresión Ridge
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 1 57 16 0 3,2178 2,882 2,4919 5,3673
4-6 1 186 115 1 0,9044 0,7273 5,3155 5,7902
6-8 0 140 201 3 1,0579 0,8588 6,9157 6,2505
8-10 0 7 44 5 1,8859 1,6924 8,6934 7,005
Tabla 53: Matriz de confusión y métricas por tramos para métodos numéricos con Ridge.
K-Nearest Neighbors
DataFrame 3 0-4 4-6 6-8 8-10 RMSE MAE Media Test Media Predicciones
0-4 0 57 17 0 3,3601 3,0617 2,4919 5,5536
4-6 1 189 112 1 0,8532 0,6911 5,3155 5,8589
6-8 0 134 204 6 0,9934 0,8179 6,9157 6,2528
8-10 0 5 43 8 1,8972 1,7175 8,6934 6,9765
Tabla 54: Matriz de confusión y métricas por tramos para métodos numéricos con K-Nearest Neighbors.
Podemos observar como el número de suspensos entre 0 y 4 son muy bajos, y los modelos no son
capaces de adaptarse a estos, llegando al punto de K-Nearest Neighbors no es capaz de predecir
correctamente ningún alumno que se encuentra dentro de este rango.
La segunda y tercera categoría tienen prácticamente el mismo número de alumnos, y vemos como
las predicciones se reparten, aproximadamente, 50-50% entre ellas. Esto acaba haciendo que los
datos se ajusten alrededor del 6, con lo cual se cometen errores más bajos en estas.
4.7.7. Conclusiones del apartado
De este estudio hemos podido observar que el hecho de que los errores de los modelos hayan sido
tan elevados se deben a que existen distribuciones desequilibradas de las asignaturas. Así pues, los
algoritmos tienden a realizar mejores predicciones alrededor de las clases donde encontramos el
mayor número de alumnos, haciendo que los alumnos que se encuentran lejos de estos tiendan a ser
ajustados hacia estas notas. Hemos podido ver como para Mecánica e Informática los errores tan
grandes se están cometiendo debido a que hay una distribución mucho más desequilibrada de los
datos.
En mecánica, vemos como la mayoría de los alumnos se encuentran con notas entre 0 y 6, pero las
notas cercanas al 2 están teniendo mucha influencia sobre los modelos, de esta forma se tienden a
hacer predicciones muy bajas de las notas de los alumnos, lo cual acaba resultando en un error de
predicción muy elevado debido a los alumnos que tienen notas entre 6 y 10. En informática se
cometen errores tan grandes debido a que los modelos predicen medianamente bien las notas
alrededor del cinco, pero podemos observar que tenemos muchos alumnos para todas las clases, lo
cual acaba haciendo que se cometa un error muy grande ya que intenta ajustar los alumnos que
obtienen notas cercanas a 0 o al 10 hacia el cinco.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 56
En el resto de asignaturas vemos que ocurre como en informática, ya que los modelos construidos
ajustan muy bien a aquellos alumnos que se encuentran entorno al 5. La diferencia de error que
obtienen estas es debido a que la gran mayoría de alumnos se encuentran cerca de este valor, así
pues, el modelo se ve poco afectado por valores extremos, ya que no hay muchos.
Así pues, tampoco sería viable utilizar los modelos para tratar de predecir aquellos alumnos que
aprueban justo o los que obtienen las mejores calificaciones, ya que podemos ver que los algoritmos
simplemente se están ajustando bien para las clases donde se encuentra la mayor concentración de
registros. Queda patente de esta manera que el hecho de que haya asignaturas como EDOS,
Electromagnetismo, Métodos o Materiales, las cuales parecen ajustar mejor entorno al 5, no serían
del todo fiables ya que los resultados no se deben a un hecho real, sino que se deben a que la gran
mayoría de alumnos se encuentran entorno a esta nota.
4.8. Discusión de los modelos seleccionados
Una vez comparados y contrastados los resultados, los modelos finales seleccionados se resumen
en la Tabla 55.
Algoritmo DataFrame RMSE Test R2 Ajustado RMSE MAE
Informática Ridge 3 1,7467 0,2971 1,7746 1,3699
EDOS Ridge 1 1,4828 0,2958 1,4157 1,0324
Electro Regresión Lineal 1 1,4161 0,3161 1,4131 1,0887
Materiales Ridge 3 1,3926 0,2535 1,3821 1,0709
Mecánica Ridge 1 1,6571 0,3409 1,6237 1,2863
Métodos K-Nearest Neighbors 3 1,4127 0,1926 1,4374 1,0493
Tabla 55: Resumen de modelos finales seleccionados para cada asignatura.
En primer lugar, al tratarse de un estudio de técnicas de regresión, se ha decidido escoger para cada
asignatura el conjunto de datos que arrojaba valores de error menores. Así pues, para las
asignaturas EDOS, Materiales y Métodos se ha decidido escoger los modelos que trabajan con el
DataFrame 3, mientras que para el resto de asignaturas se ha escogido trabajar con el primero. Aun
así, hemos visto que para todas las asignaturas el comportamiento entre los DataFrame era bastante
similar, de esta forma vemos que el hecho de añadir datos al modelo no se está traduciendo, por lo
general, en una mejora de este.
En cuanto a los algoritmos, se puede ver como para informática, ecuaciones diferenciales, materiales
y mecánica el algoritmo que ha obtenido los mejores valores de RMSE ha sido Ridge. Para
electromagnetismo el algoritmo escogido ha sido Regresión Lineal y para Métodos numéricos se ha
escogido K-Nearest Neighbors. Vemos de esta manera que por lo general Ridge es el algoritmo que
obtiene los mejores resultados.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 57
Comparando los valores obtenidos para cada asignatura, vemos como a nivel de coeficiente de
determinación ajustado, Electromagnetismo y Mecánica son las que se ajustan mejor a la varianza
total de los datos, mientras que métodos numéricos es la asignatura para la cual el modelo explica
menos variancia. En términos de error vemos que informática y mecánica son las que obtienen
errores más altos, mientras que el resto de asignaturas se comportan de forma muy similar. Sin
embargo, generalmente los valores de error obtenidos son bastante elevados, lo cual es algo
preocupante cuando se quiere predecir el valor de la nota de un alumno.
Aún y los resultados tan pobres obtenidos, se ha intentado ver si podríamos utilizar los modelos para
identificar alumnos de interés, como aquellos que tuviesen más problemas a la hora de aprobar. Este
estudio no solo ha dejado de manifiesto que los modelos no pueden utilizarse tampoco con esta
finalidad, sino que además da la sensación que los algoritmos están tratando de ajustar los alumnos
alrededor de aquellas notas donde encontramos más registros. De esta forma vemos que solo se
ajustan para algunos datos.
El hecho de que los resultados obtenidos sean tan pobres, y tan similares entre los diferentes
modelos, puede sugerirnos que el problema no sea la falta de ajuste de los modelos, sino que la
calidad de los datos no es suficiente como para realizar predicciones numéricas precisas. En las
conclusiones se hablará más sobre este hecho.
Finalmente, se puede observar que, en los modelos obtenidos para informática, electromagnetismo y
métodos numéricos, se ha cometido algo de overfitting.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 58
5. Programación temporal
A continuación se expone de forma detallada en orden cronológico las diferentes etapas para la
realización y ejecución del proyecto:
• Inicio del proyecto
La primera fase del proyecto se basa principalmente en la familiarización general con el
mismo y con el entorno de trabajo. Inicialmente, se realiza una comprensión del problema que
queremos tratar y se definen los objetivos necesarios y el alcance del estudio. Una vez hecho
esto, necesitamos instalar las herramientas de software necesarias, debemos familiarizarnos
con la librería Pandas y al mismo tiempo refrescar conceptos básicos de programación.
• Análisis y preparación de los datos
Antes de comenzar con el trabajo es necesario conocer los datos de partida y su disposición
en los distintos ficheros, después se definen las características de interés y la estructura de
datos con la que realizaremos el estudio. Una vez hecho esto, pasamos por una etapa de
depuración donde eliminamos registros innecesarios de los datos iniciales, y con los datos
restantes los organizamos según la estructura definida.
• Modelaje y validación
Antes de comenzar con esta etapa, primeramente debemos familiarizarnos con el entorno de
Scikit Learn, y los conceptos estadísticos necesarios. Hecho esto, se seleccionan y
construyen los modelos, y finalmente se realiza una validación e interpretación de los
resultados obtenidos.
• Redacción de la memoria
Finalmente se redacta una memoria que contenga toda la toda la información del
procedimiento seguido y los resultados obtenidos.
Inicio del proyecto
Comprensión del problema
Instalación librerias
Repaso de conceptos básicos y aprendizaje de Pandas
Análisis y preparación de datos
Analisi previo de los datos
Depuración
Transformación
Modelaje y validación
Aprendizaje de Scikit Learn
Selección y construcción de modelos
Validación y discusión de los resultados
Redacción de la memoria
sep-20 oct-20 nov-20 dic-20 ene-21
Tabla 56: Diagrama de Gantt del proyecto.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 59
6. Costos
Los costos asociados a la realización de este proyecto pueden dividirse en costos de personal y de
infraestructura. A continuación, se desglosan los cálculos necesarios para poder determinar el costo
total del proyecto.
Personal
Los costos de personal hacen referencia al estudiante en cuestión que realiza el proyecto, y al
profesor que realiza la supervisión de este.
Para el estudiante, se ha considerado el sueldo estándar de mercado de un ingeniero junior, el cual
ronda los 20€/hora. Para calcular el número de horas de trabajo, se ha considerado la equivalencia
de los 12 créditos ECTS del peso que tiene este en la escuela. Así pues, sabiendo que un crédito
ECTS equivale a 25 horas de trabajo, se calcula que la duración total de este será de 300h. De esta
forma, el costo asociado al sueldo del ingeniero se calcula como 20€/hora*300h, resultando en un
total de 6000€.
Para la supervisión del trabajo, se considera el hecho de la tutoría realizada por el profesor, el cual se
considera como ingeniero senior. El precio medio de un ingiero senior se aproxima a 40€/h, y se
estima un tiempo total de supervisión de 40 horas. Así pues, el costo asociado al profesor se calcula
como 40€/hora*40h, resultando en un total de 1600€.
El costo total de personal se calcula como la suma del costo del alumno y el costo del profesor,
resultando en un total de 7600€.
Infraestructura
Los costos de infraestructura se componen del consumo de las herramientas de software necesarias,
el uso de un ordenador portátil, el consumo de luz e internet y el material de oficina necesario.
Las herramientas de software utilizadas como Python y Pandas son totalmente gratuitas, así que en
el costo de las herramientas se tiene únicamente en cuenta la necesidad de disponer Microsoft
Office, ya que las herramientas Word y Excel, son de vital importancia. Este tiene un precio de
69€/año. Teniendo en cuenta que la duración del proyecto se extiende a cuatro meses y medio, el
costo asociado a la adquisición de licencias se calcula de la siguiente manera:
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 60
En cuanto al uso de ordenador, se ha utilizado un ASUS Zenbook 14, cuyo precio de mercado es de
709€. Se considera un costo de mantenimiento del 10% de su precio, para un uso medio de 1000
horas anuales. Sabiendo que el uso del ordenador es necesario en un 95% del tiempo total del
proyecto, el costo total asociado al mantenimiento del ordenador se calcula como:
Además del mantenimiento, también debemos considerar el precio de la amortización de este. Para
calcular este consideramos una esperanza de vida de 4 años, con un uso medio de 45 semanas al
año. Así pues, teniendo en cuenta que se utilizará este durante las 20 semanas de duración del
proyecto, el costo asociado con el mantenimiento se calcula como:
De esta manera, el costo total asociado al uso del ordenador es la suma de los costos de
mantenimiento y amortización, sumando un total de 99,2€.
El costo asociado al consumo de electricidad e internet, se estima que se encuentra alrededor de
unos 125€. Aun así, este costo no se ha considerado en el cálculo final.
Finalmente, el costo asociado con el material de oficina, se entiende como el costo derivado del uso
de papel, bolígrafos, etc. Durante todo el proyecto. Se calcula que el costo total de este es de 20€.
Una vez calculados todos los costos involucrados para la realización del proyecto, sumamos todos
estos para calcular el costo final. De esta forma el precio final asciende a 7745,20€.
En la tabla 57, se muestra de forma más visual el desglose de estos costos y el valor final del
proyecto.
COSTO DE PERSONAL
Concepto €/hora Horas Costo
Ingeniero junior 20 300 6.000 €
Ingeniero senior 40 40 1.600 €
COSTO DE INFRAESTRUCTURA
Concepto Costo
Microsoft Office 365 26 €
Ordenador Mantenimiento 20,20 €
Amortización 79 €
Material de oficina 20 €
COSTO TOTAL 7.745,20 €
Tabla 57: Desglose de costos para la realización del proyecto
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 61
7. Impacto ambiental
El hecho de que se haya realizado un proyecto de data mining implica que la mayoría del proceso se
ha realizado utilizando un ordenador. De esta manera el impacto ambiental está asociado al consumo
de recursos energéticos, el consumo de recursos naturales y el impacto social generado por este.
El hecho de hacer gran uso del ordenador no causa impacto ambiental de forma directa, pero si lo
causa indirectamente debido al consumo de energía eléctrica. Para calcular las emisiones de CO2
generadas durante todo el proceso, debemos conocer el mix eléctrico de la red. El mix eléctrico es el
valor que expresa las emisiones de CO2 asociadas a la generación de electricidad que se consume.
Según la Oficina Catalana del Cambio Climático el mix eléctrico de la península en el año 2019 se
estima en 241 g CO2/kWh.
Como se ha dicho anteriormente, se considera que el durante el 95% de las 300 horas del proyecto
se utilizará el ordenador. Así pues, considerando un consumo medio de 190W, el consumo total de
energía eléctrica durante el proyecto es de 0,95·300h·190W = 54,150kWh. De esta manera se
generan un total de 54,150kWh·241 g CO2/kWh = 13.05 kg de emisiones de CO2.
En cuanto al consumo de recursos naturales, nos referimos al obligado uso de papel durante todo el
proceso. La fabricación de papel requiere un consumo importante de madera, energía y agua. Aparte
de necesitar un uso intensivo de medios de transporte que causan contaminación atmosférica a
causa del dióxido de carbono. Aun así, la cantidad total requerida de folios ha sido tan poca que no
se considera este como un impacto considerable.
El impacto social relacionado con nuestro proyecto, es el causado por los cambios que puede aportar
a la escuela la realización de este. La realización de este, podría servir como herramienta para el
profesorado para poder realizar un seguimiento más exhaustivo de aquellos alumnos que sean
necesarios, pudiendo potenciar el rendimiento escolar de estos. Además, esta herramienta podría
implementarse en un futuro por tal de ser utilizada también por los propios alumnos, de tal manera
que puedan ver una predicción de cómo puede ser su rendimiento académico y poder dedicar más
esfuerzos en aquellas asignaturas que pudiesen ir más justos.
Así pues, una vez vistos los diferentes tipos de impacto que puede causar la realización del proyecto,
podemos concluir que el impacto ambiental que genera este es positivo, ya que la cantidad de
residuos que se generan es menospreciable en comparación con la gran cantidad de beneficios y de
gente que podría verse beneficiada por este.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 62
8. Conclusiones
De acuerdo con los objetivos planteados, en este proyecto se ha realizado un estudio de data mining
con la finalidad de estudiar diferentes técnicas de regresión para predecir las calificaciones de los
alumnos de la ETSEIB. Durante todo el proceso, se ha seguido la metodología CRISP-DM,
adaptando sus diferentes fases según las características de nuestro estudio, garantizando de esta
forma que este estudio pueda ser replicado a partir del presente documento. Finalmente, se han
construido diferentes conjuntos de datos sobre los que aplicar los diferentes algoritmos.
Los algoritmos de regresión escogidos han sido la Regresión Lineal, la Regresión Ridge y K-Nearest
Neighbors. Para estos dos últimos, antes de poder construir los modelos finales se ha tenido que
pasar por una etapa de selección de hiperparámetros, por tal de determinar los valores óptimos de α
y k, respectivamente. Al tratarse de un estudio de regresión, se han seleccionado como valores
óptimos aquellos que hacían que minimizaban el error del modelo. Una vez obtenidos los resultados
finales, se ha observado como para Ridge es necesario realizar penalizaciones elevadas sobre los
datos, por tal de obtener los mejores resultados. Para K-Nearest Neighbors se observa que es
necesario consultar un número elevado de vecinos con tal de obtener los valores óptimos.
Para la evaluación de los resultados finales, se han utilizado diferentes técnicas de rendimiento muy
comunes en problemas de regresión, como R2 ajustado, RMSE y MAE. Estas se han estudiado tanto
para los conjuntos de datos de entrenamiento, como para los de validación. Gracias a estas métricas
se ha podido ver como generalmente los resultados obtenidos para los diferentes algoritmos han sido
muy pobres, obteniendo ajustes muy bajos y errores demasiado altos. Además, comparando los
resultados obtenidos durante el entrenamiento y la validación, se ha visto que en muchos casos se
ha producido overfitting.
En cuanto a los diferentes DataFrame construidos, se ha podido ver como generalmente no ha
habido diferencias significativas en los resultados obtenidos de unos u otros, con lo cual parece que
el hecho de añadir variables a el primer conjunto de datos definido no se traduce en una mejoría del
modelo.
La principal conclusión en cuanto a los algoritmos estudiados es Ridge ha resultado ser el mejor para
la mayoría de asignaturas, Aun así, los resultados obtenidos han sido siempre muy parejos, con lo
cual hemos visto que no existe una mejora sustancial de los resultados entre algoritmos.
De forma más específica para cada algoritmo, se ha visto que la Regresión Lineal no ha sido capaz
de modelar un hiperplano que se ajustase de forma fiel a los datos. Ridge ha sido incapaz de evitar la
aparición de overfitting todo y realizar penalizaciones bastante importantes. Así pues, la hipótesis de
modelo lineal no ha funcionado para ningún caso. K-Nearest Neighbors se implementó con la
finalidad de ver si utilizando un algoritmo que utilizase una hipótesis no lineal mejoraba los resultados,
pero se ha visto que no ha sido así. Una de las posibles causas de esto ha sido la elevada
dimensionalidad de los conjuntos de estudio.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 63
En vista de que los resultados obtenidos han sido muy pobres y similares entre los diferentes
algoritmos, da la impresión que el causante de este problema puede ser que la calidad de los datos
no sea suficiente para realizar predicciones numéricas precisas. Esto puede deberse a que se
dispone de datos puramente académicos.
Sin embargo, aunque los resultados del estudio no hayan sido del todo satisfactorio, podemos
concluir que se han cubierto tanto el objetivo principal como los diferentes subobjetivos planteados.
Conclusiones personales
En primer lugar, gracias a este proyecto se ha podido ver la importancia y el potencial la minería de
datos. Hoy en día esta se utiliza para muchas aplicaciones distintas, y la gran cantidad de
herramientas de las que se disponen en la actualidad la convierten en una herramienta
extremadamente útil, debido a la gran cantidad de información que puede extraer de un conjunto de
datos.
Por otro lado, se destaca el hecho de haber podido aplicar los diferentes conocimientos de
informática adquiridos durante todo el grado para poder aplicarlos en un caso práctico. Además, nos
hemos podido familiarizar con la librería Pandas, la cual contiene un gran nombre de herramientas
para hacer más sencillo el proceso de tratado de los datos, y con la librería Scikit Learn, la cual
muestra un increíble potencial para realizar estudios de machine learning.
Trabajo futuro
Debido a la extensión del trabajo final de grado, hay aspectos que no se han podido cubrir durante el
presente estudio, pero que sería importante tener en cuenta por tal de continuar con este en un
futuro. A continuación, se plantean alternativas de análisis para realizar en un futuro siguiendo la
misma metodología utilizada.
Como se comentó anteriormente, Scikit Learn cuenta con más de veinte algoritmos distintos para
realizar estudios de regresión, con lo cual sería interesante trabajar con estos y ver si existe alguno
que construya un mejor modelo para nuestros datos. Algunos ejemplos son la regresión polinómica,
la support vector machine o las redes neuronales.
Durante este proyecto se han considerado como válidos todos aquellos alumnos que cumplían con
las especificaciones de partida. Aun así, hemos visto que los modelos construidos están sufriendo
mucho por la existencia de valores extremos, los que podrían considerarse como outliers o
simplemente alumnos para los cuales los modelos no se ajustan correctamente. Así pues, sería
interesante estudiar estos caso y trabajar con ellos por tal de ver si podemos obtener mejoras
sustanciales en los resultados finales.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 64
Finalmente, como se ha comentado, puede que el problema de los resultados obtenidos venga ligado
con que la calidad de los datos no es suficiente para poder modelarlos con algoritmos de regresión.
De esta manera, sería interesante de cara al futuro que se pudiera almacenar más información
relacionada con los estudiantes, como por ejemplo las horas de estudio, notas de trabajos, notas de
exámenes parciales, etc.
Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB 65
Bibliografía
[1] Witten, I. H., Frank, E., & Hall, M. A. (2012). Data Mining: Practical Machine Learning Tools and Techniques. (3.ª ed., p. 584). ISBN 978-0-12-381479-1
[2] Olson, D. L., & Delen, D. (2008). Advanced Data Mining Techniques (p. 39). Berlin. ISBN: 978-3-540-76916-3.
[3] Paul Allison. Prediction vs. Causation in Regression Analysis.
https://statisticalhorizons.com/prediction-vs-causation-in-regression-analysis
[4] Juan Ignacio Bagnato. Aprende Machine Learning: https://www.aprendemachinelearning.com/
[5] Varios autores. Stackoverflow: https://stackoverflow.com/
[6] Scikit-learn: Machine learning in Python (documentación Scikit-Learn):
https://scikit-learn.org/stable/
[7] Python Data Analysis Library (documentación de Pandas): https://pandas.pydata.org/
[8] Cambio climático. Factor de emisión de la energía eléctrica:
https://canviclimatic.gencat.cat/es/actua/factors_demissio_associats_a_lenergia/
Top Related