Práctica de Máquinas de Soporte Vectorial (SVM)
1 Introducción
En esta práctica vas a utilizar el algoritmo SVM para crear un modelo que te permita clasificar tumores como benignos o malignos.
El modelo deberá predecir si un tumor es benigno o maligno a partir de ciertas características.
Los datos los puedes descargar desde el github de la asignatura.
El conjunto de datos es el mismo que has utilizado en la práctica de regresión logística, de modo que puedes comparar los resultados obtenidos por los dos modelos.
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 una sesión.
3 Objetivos de aprendizaje
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 modelo.
- Ajustar el modelo para obtener una solución.
- Presentar la solución.
- Crítica del trabajo y posibles mejoras.
5 Objetivo
Crear un modelo basado en Máquinas de Soporte Vectorial para clasificar un tumor como maligno o benigno a partir de un conjunto de características.
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 una imagen del conjunto
Describe, con tus propias palabras cuál es el problema que se pretende resolver y cuál es su alcance.
6.2 Obtener los datos
Los datos los puedes descargar desde el github de la asignatura.
Esta es la descripción de las cada una de las características de los datos:
- ID: Código de identificación (puede que no sea único).
- V1: Grosor de los lóbulos.
- V2: Uniformidad del tamaño celular.
- V3: Uniformidad de la forma celular.
- V4: Adhesión marginal.
- V5: Tamaño de la célula epitelial única.
- V6: Núcleos desnudos (faltan 16 valores).
- V7: Cromatina lisa.
- V8: Nucleolos normales.
- V9: Mitosis.
- clase: “benigno” o “maligno”.
Revisa y limpia los datos si es necesario.
6.3 Explorar los datos para conocerlos mejor
Realiza un análisis exploratorio de los datos, para ello, visualiza tus datos, haz un análisis estadístico de ellos y extrae conclusiones.
6.4 Preparar lo datos para que muestren los patrones
A parir de los resultados del apartado anterior, prepara los datos para resaltar los posibles patrones en ellos.
6.5 Crear una primera versión del modelo
Con la información que has conseguido del análisis realizado, utiliza un kernel lineal para crea un primera versión de una Máquina de Soporte Vectorial y calcula la matriz de confusión y el gráfico ROC.
6.6 Ajustar el modelo para obtener una solución
Prueba las versiones del kernel polinómico y gaussiano y compara las tres soluciones entre ellas. ¿Existen diferencias entre los tres modelos?
Visualiza en una gráfica los hiperplanos generados por los tres modelos (lineal, polinomial y gaussiano) y sus márgenes, así como los vectores de soporte ¿Qué modelo crees que generalizará mejor a nuevos datos no vistos por el modelo?
6.7 Presentar la solución
Presenta las principales conclusiones y respalda cada conclusión con los análisis que has realizado.
Compara los resultados que has obtenido usando una Máquina de Soporte Vectorial con los que obtuviste al utilizar un regresor logístico.
6.8 Critica del trabajo y posibles mejoras
A la luz de todos los resultados que has obtenido, ¿cómo podrías seguir mejorando tu modelo?
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.