
La plataforma K Vecinos más cercanos, o KNN, predice un valor de respuesta para una observación determinada utilizando las respuestas de las observaciones en el vecindario local de esa observación. Se puede utilizar para clasificar una respuesta categórica así como para predecir una respuesta continua.
KNN es un algoritmo de aprendizaje automático supervisado y no paramétrico. Funciona sobre el supuesto subyacente de que las similitudes en ciertos parámetros (las observaciones) reflejan similitudes en otros parámetros (la predicción). Para cumplir con este supuesto, KNN clasifica las k distancias más pequeñas entre la observación dada y todas las demás observaciones.
Debido a este hecho, los K-vecinos más cercanos pueden clasificar observaciones con límites de predicción irregulares. Sin embargo, como el algoritmo es sensible a predictores irrelevantes, la elección de los predictores puede afectar los resultados.
Calcular la distancia
JMP pro 17 utiliza distancias euclidianas para calcular las distancias entre los valores predictores y los de otros. En un espacio 2D, la Distancia Euclidiana d entre (x1, y1) y (x2, y2) es simplemente:
d = raíz cuadrada ((x2-x1)^2 + (y2-y1)^2)
el método euclidiano requiere que todos los valores sean reales.
Haciendo predicciones
La KNN da su predicción dependiendo de los tipos de respuestas que tenga.
- Respuestas continuas
JMP predice valores como el promedio de las respuestas de los k vecinos más cercanos. Cada predictor continuo se escala según su desviación estándar. Los valores faltantes para un predictor continuo se reemplazan por la media de ese predictor.
- Respuestas categóricas
En JMP, el valor previsto es el nivel de respuesta más frecuente para los k vecinos más cercanos. Si hay más de una respuesta superior, la respuesta prevista se asigna seleccionando aleatoriamente uno de estos niveles.
El valor k o n_vecinos
Diferentes valores de k pueden dar diferentes predicciones. En JMP, solo necesita especificar el número máximo de k. Para cada k, 1 ≤ k ≤ k_max, JMP construye un modelo utilizando solo las observaciones del conjunto de entrenamiento. Cada uno de estos modelos se utiliza para clasificar las observaciones del conjunto de validación. Los resultados del conjunto de validación se utilizan para seleccionar el modelo con la tasa de clasificación errónea más baja (también conocida como la mejor k).
Validación de KNN en el modelado JMP
Puede agregar una columna numérica como validación para el modelado KNN en JMP Pro. JMP utiliza la validación para dividir los datos en conjuntos antes de modelar para reducir el sobreajuste y seleccionar un buen modelo predictivo. Para KNN, esta característica es opcional. Sin embargo, el sobreajuste puede provocar una falta de coincidencia entre el entrenamiento y la predicción, es decir, el algoritmo es demasiado específico para los datos de entrenamiento, lo que da como resultado predicciones menos precisas.
Para KNN, puede dividir los datos en dos o tres conjuntos mediante los siguientes métodos:
|
Método
|
Colocar
|
Función
|
|
Entrena y sintoniza
|
Capacitación
|
Estimar los parámetros del modelo.
|
|
Validación
|
Ajuste los parámetros del modelo en el algoritmo de ajuste del modelo y, en última instancia, elija un modelo con buena capacidad predictiva.
|
|
Entrenar, sintonizar y evaluar
|
Capacitación
|
Estimar los parámetros del modelo.
|
|
Validación
|
Ajuste los parámetros del modelo en el algoritmo de ajuste del modelo y, en última instancia, elija un modelo con buena capacidad predictiva.
|
|
Prueba
|
Evaluar de forma independiente el rendimiento del modelo ajustado.
|
Obtenga más información sobre la validación en el documental de JMP: Ejemplo de la plataforma Make Validation Column (jmp.com)
Ejemplo
En este ejemplo, queremos utilizar KNN para clasificar a un cliente entre Buen Riesgo y Mal Riesgo según su historial financiero.
- Seleccione Ayuda > Carpeta de datos de muestra y abra Equity.jmp .
- Seleccione Analizar > Modelado predictivo > K vecinos más cercanos .
- Seleccione MALO y haga clic en Y, Respuesta . El es el valor a analizar.
- Seleccione PRÉSTAMO y CLNO y haga clic en X, Factor . Estas son las variables predictoras.
- Seleccione Validación y haga clic en Validación . Este es el valor utilizado para dividir los datos en conjuntos antes del modelado para evitar el sobreajuste y seleccionar un buen modelo predictivo. Usamos el método Train, Tune y Evaluate en el ejemplo.
- Haga clic en Aceptar .
Para guardar la ecuación de predicción
- Haga clic derecho en el triángulo rojo MAL y seleccione Publicar fórmula de predicción .
- Junto a Número de vecinos, K , deje el valor predeterminado de 7.
- Haga clic en Aceptar .
La ecuación de predicción se guarda en Formula Depot . Puede comparar el rendimiento de los modelos alternativos publicados en Formula Depot con el del modelo vecino más cercano K = 7 utilizando la opción Comparación de modelos en Formula Depot. Encuentre más información sobre Formula Depot en Ayuda/Biblioteca de documentación de JMP, página 3763 .
Si está interesado, puede volver al paso 4. Esta vez coloque todos los parámetros entre LOAN y CLNO como X, Factor. ¿Qué cambió y por qué?
Shuran,
Revisado por Jeremy T. @jeteez
Enero de 2024, basado en JMP(R) Pro 17.2.0
Este artículo no refleja las posiciones y opiniones de JMP Statistical Discovery ni de SAS Institute.