Práctico 3: k-vecinos
Trabajos a realizar:
a) Implemente el método de clasificación de k-primeros-vecinos (k-nn). El algoritmo debe buscar en los datos de entrenamiento los k patrones más similares (según la métrica euclidea) al patrón que se quiere clasificar, y asignar una clase a dicho patrón en función de una votación simple entre los k-vecinos (qué decisión tomar en caso de empate queda a cargo del alumno). El número k de vecinos a utilizar es el único parámetro libre del algoritmo, y deberá ser optimizado utilizando un conjunto de validación. Las salidas deben ser los errores de clasificación sobre los conjuntos de entrenamiento, validación y test, y las predicciones sobre el conjunto de test. Por simplicidad, utilizar como base el código del naive-Bayes del trabajo 2.
b) Resuelva el problema de las espirales-anidadas usando k-nn con k fijo e igual a 1 (clasificador de primer vecino). Realice una gráfica de la predicción sobre el conjunto de test.
c) Dimensionalidad: Repita el punto b del Práctico 2, usando k-nn. Utilice dos valores de k: el que se obtiene como mínimo de validación, y 1. Genere una gráfica incluyendo también los resultados de naive-Bayes con Gaussianas.
Entregue los códigos implementados. Discuta los puntos o resultados que
considere conveniente.