INTRODUCCION AL APRENDIZAJE AUTOMATIZADO
(MACHINE LEARNING)

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.