Práctica de Regresión Lineal Multivariada
1 Introducción
En esta práctica vas a crear un modelo lineal con múltiples variables independientes para estimar una única variable dependiente.
El modelo deberá dar una estimación la edad de cierta variedad de caracoles de mar, a partir de sus características. Los datos los puedes encontrar en el repositorio UCI, junto con una descripción de cada una de las características de las muestras.
También lo puedes descargar desde el github de la asignatura.
Vas a crear un libro de notas de Python para desarrollar la práctica. Este libro lo debes subir a aulavirtual para su evaluación.
2 Duración de la práctica
A esta práctica le vamos a dedicar dos sesiones de prácticas.
3 Objetivos de aprendizaje
- Examinar un conjunto de datos multivariado y valorar su utilidad.
- Construir un modelo de regresión lineal multivariado.
- Adaptar el modelo para mejorar su rendimiento.
- Plantear posibles mejoras del modelo.
- Emplear el esquema de Proyectos de Aprendizaje Automático como guía de desarrollo.
4 Metodología
Vas a seguir una adaptación de los pasos que has visto en la presentación de teoría Proyectos de Aprendizaje Automático.
- Definir el problema y tener una imagen del conjunto.
- Obtener los datos.
- Explorar los datos para conocerlos mejor.
- Preparar los datos para que muestren los patrones.
- Crear un primera versión del algoritmo.
- Ajustar el modelo para obtener una solución.
- Presentar la solución.
- Crítica del trabajo y posibles mejoras.
5 Objetivo
Crear un modelo de regresión lineal multivariado para estimar el valor de una variable dependiente a partir de un conjunto de otras variables.
6 Tareas a realizar
Vas a seguir una adaptación del esquema que se presentó en el tema de Proyectos de Aprendizaje Automático.
6.1 Definir el problema y tener un imagen del conjunto
El problema en este caso es calcular la edad de un caracol de mar a partir del resto de variables del conjunto de datos.
La edad de uno de estos caracoles se calcula como el número de anillos + 1.5.
6.2 Obtener los datos
Los datos los puedes descargar desde el repositorio UCI
Además, consulta en el repositorio UCI los detalles sobre este conjunto de datos.
6.3 Explorar los datos para conocerlos mejor
En este caso cada una de las muestras tiene más de dos características, por lo que no puedes representar todos los datos en un único gráfico. Sin embargo, sí que puede representar gráficas con pares de características para tener una primera idea de sus dependencias, para ello es muy útil el método pairplot:
import seaborn as sns
sns.pairplot(data)
¿Cuál es la correlación del resto de variables con el número de anillos?
6.4 Preparar lo datos para que muestren los patrones
Este conjunto de datos ya está limpio, afortunadamente no tenemos que preparar los datos.
6.5 Crear una primera versión del modelo
Utiliza scikit-learn para crear un modelo de regresión lineal.
Divide el conjunto inicial de los datos en dos subconjuntos, el conjunto de datos de entrenamiento (80% de los datos), y el conjunto de datos de prueba (20% restante de los datos). Recuerda especificar el origen de generación de los datos aleatorios para que tus experimentos sean reproducibles.
from sklearn.model_selection import train_test_split
= train_test_split(X, y, random_state=random_state) X_train, X_test, y_train, y_test
Elige una medida de error para poder comparar los resultados entre varios modelos.
¿Los residuos siguen una distribución normal? Representa la distribución de los residuos y el diagrama qq-plot.
import statsmodels.api as sm
="s") sm.qqplot(residuos, line
6.6 Ajustar el modelo para obtener una solución
¿Cómo puedes mejorar los resultados del modelo? Una pista, tu modelo puede estar formado por más de un regresor lineal.
6.7 Presentar la solución
Mejora tu libro de notas para que sea descriptivo del trabajo que has realizado. Presta especial atención a la sección de conclusiones.
6.8 Critica del trabajo y posibles mejoras
¿Qué crees que se puede mejorar del trabajo que has hecho? Haz un listado de posibles mejoras, y ordénalas por importancia de mayor a menor.
7 Entrega
El trabajo que debes entregar para su corrección es el libro de notas (fichero con extensión ipynb).
Súbelo a aulavirtual. No es necesario que los suban todos los miembros del equipo, basta con que lo suba uno de vosotros.