Una alternativa a los algoritmos k-NN vistos es la que considera no los k vecinos más próximos, sino los vecinos que se encuentran a una distancia máxima (es decir, dentro de una hiperesfera de un radio dado alrededor de cada punto).
Scikit-Learn implementa dos algoritmos con este enfoque:
- RadiusNeighborsClassifier, para escenarios de clasificación
- RadiusNeighborsRegressor, para escenarios de regresión
RadiusNeighborsClassifier permite especificar una etiqueta a aplicar a aquellos puntos que no tengan vecinos en el radio indicado ("outliers").
Este enfoque puede resultar más apropiado con aquellos conjuntos de datos en los que las muestras no están uniformemente distribuidas (pues considerar 3 vecinos de un punto alejado de los demás, por ejemplo, puede obligar a considerar vecinos excesivamente lejanos que ya no resulten significativos). En todo caso, debido a la "maldición de la dimensionalidad", en escenarios con muchas características puede resultar poco apropiado salvo que el conjunto de datos incluya un alto número de muestras.