scieee AI-readable full text Open interactive document viewer

Aplicación de modelos de regresión en la predicción de calificaciones de estudiantes de la ETSEIB

Sánchez Peláez, Antonio

Abstract

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.

Full text

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 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 62010 1 S CONV 752 232295 240014 62010 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 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 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 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/