Estoy programando un algoritmo kNN y me gustaría saber lo siguiente:
Desempate:
- ¿Qué ocurre si no hay un claro ganador en la votación por mayoría? Por ejemplo, ¿todos los k vecinos más cercanos son de diferentes clases, o para k=4 hay 2 vecinos de la clase A y 2 de la clase B?
- ¿Qué ocurre si no es posible determinar exactamente k vecinos más cercanos porque hay más vecinos que tienen la misma distancia? Por ejemplo, para la lista de distancias
(x1;2), (x2;3.5), (x3;4.8), (x4;4.8), (x5;4.8), (x6;9.2)
no sería posible determinar los vecinos más cercanos k=3 o k=4, porque los vecinos 3 a 5 tienen todos la misma distancia.
Pesos:
- He leído que es bueno ponderar los k vecinos más cercanos antes de seleccionar la clase ganadora. ¿Cómo funciona eso? Es decir, ¿cómo se ponderan los vecinos y cómo se determina la clase?
Alternativas de voto mayoritario:
- ¿Existen otras reglas/estrategias para determinar la clase ganadora aparte del voto por mayoría?