3 votos

En general, ¿cómo se establece K en K-NN?

Como sugiere el título, ¿cómo debe establecerse K en K-Nearest Neighbours?

¿Es sólo un caso de que los valores más bajos de K son más susceptibles de sobreajuste y los valores más grandes de K es probable que den un reflejo más preciso (menos susceptible al ruido).

Además, el valor óptimo de K depende en gran medida del conjunto de entrenamiento, pero me preguntaba si existe una "técnica" general que se utilice.

5voto

michael kevin Puntos 9

Hay algunos resultados interesantes que relacionan el rendimiento de $k-NN$ enfoques del proceso de decisión óptimo (bayesiano), la discusión puede encontrarse, por ejemplo, en Reconocimiento de patrones y redes neuronales B.D. Ripley (1996), pero son más de la forma: si conozco el $k-NN$ tasa de error, puedo acotar la tasa de error óptima.

Al final, sospecho que acabará haciendo una validación cruzada, por varios $K$ en su conjunto de entrenamiento, y elija el $K$ que minimice el error de entrenamiento.

1voto

FractalizeR Puntos 879

Puedes utilizar el método de la silueta para comprobar la calidad de tus racimos. Aquí hay un enlace a otra pregunta donde expuse los fundamentos de cómo funciona la función de silueta en R:

Evaluación de la calidad de las agrupaciones

Después de ejecutar un knn o cualquier algoritmo de clustering (siempre y cuando haya un objeto en R que sea el cluster en el que el algo puso los puntos) puedes entonces ejecutar una silueta y comprobar la calidad de tus clusters para muchos números diferentes de clusters y elegir el que tenga los mejores gráficos de silueta en general.

Aquí hay otra función en R que hace la validación cruzada del algoritmo knn.

http://stat.ethz.ch/R-manual/R-patched/library/class/html/knn.html

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X