Árbol de decisión vs. KNN


15

¿En qué casos es mejor usar un árbol de decisión y otros casos un KNN?

¿Por qué usar uno de ellos en ciertos casos? ¿Y el otro en diferentes casos? (Al observar su funcionalidad, no el algoritmo)

¿Alguien tiene algunas explicaciones o referencias sobre esto?


2
KNN NO está sin supervisión. ¿Quizás la respuesta fue pensar en k-means?

2
El aprendizaje del árbol de decisiones tampoco está sin supervisión. en.wikipedia.org/wiki/Supervised_learning .
Valentas

Respuestas:


9

Sirven para diferentes propósitos.

KNN no está supervisado, el árbol de decisión (DT) supervisado. ( KNN es aprendizaje supervisado, mientras que K-means no está supervisado, creo que esta respuesta causa cierta confusión ) . KNN se usa para la agrupación, DT para la clasificación. ( Ambos se usan para la clasificación ) .

KNN determina vecindarios, por lo que debe haber una métrica de distancia. Esto implica que todas las características deben ser numéricas. Las métricas de distancia pueden verse afectadas por diferentes escalas entre los atributos y también por el espacio de alta dimensión.

DT, por otro lado, predice una clase para un vector de entrada dado. Los atributos pueden ser numéricos o nominales.

Entonces, si desea encontrar ejemplos similares, puede usar KNN. Si desea clasificar ejemplos, puede usar DT.


Aclaración: Agrupación, pero un solo grupo de tamaño k alrededor de un vector de entrada dado. No es necesariamente cierto que todas las características deben ser numéricas. Por ejemplo, podría usar la similitud de Jaccard para definir una distancia donde las características son nominales.

10
En realidad, ambos están supervisados. Supervisado solo significa que el alumno tiene acceso a un conjunto de entrenamiento etiquetado. Los algoritmos no supervisados ​​hacen cosas como la agrupación, no la predicción de etiquetas.
Jordan A

1
También puede clasificar con KNN basándose exactamente en la mayoría de sus vecinos K
Jekaterina Kokatjuhha

3
-1 knny k-meansson algoritmos diferentes y esta respuesta desafortunadamente (y erróneamente) pierde esos dos procedimientos. knn¡no está sin supervisión ni se usa para la agrupación! Ver P: Dif kNN y kMean
SebNag

@SebNag, ¿es justo decir que la sección "Vecinos más cercanos no supervisados" de sci-kit learn en realidad solo habla de k-means disfrazado? scikit-learn.org/stable/modules/neighours.html Parece que esa sección usa knn pero solo con una medida de distancia de algún tipo para determinar grupos sin conocimiento de etiquetas ... es decir, esto suena como k-means.
Frikster

8

Los clasificadores como Árbol de decisión, Bayesiano, Back-propagation, Support Vector Machine entran en la categoría de "Estudiantes ansiosos" , porque primero crean un modelo de clasificación en el conjunto de datos de entrenamiento antes de poder clasificar realmente una observación [invisible] del conjunto de datos de prueba . El modelo aprendido ahora está "ansioso" (leído con hambre) para clasificar las observaciones nunca antes vistas, de ahí el nombre.


Sin embargo, el clasificador basado en KNN no crea ningún modelo de clasificación. Aprende directamente de las instancias de entrenamiento (observaciones). Comienza a procesar datos solo después de recibir una observación de prueba para clasificar. Por lo tanto, KNN entra en la categoría de enfoques de "Aprendiz perezoso" .

Sobre la base de las diferencias fundamentales anteriores, podemos concluir lo siguiente:

  1. Dado que KNN realiza el aprendizaje sobre el terreno, requiere búsquedas frecuentes en la base de datos, por lo tanto, puede ser computacionalmente costoso. Decision Tree Classifier no requiere tales búsquedas, ya que tiene listo el modelo de clasificación en memoria.

  2. Dado que KNN realiza un aprendizaje basado en instancias, una K bien ajustada puede modelar espacios de decisión complejos que tienen límites de decisión complicados arbitrariamente, que no son modelados fácilmente por otros aprendices "ansiosos" como árboles de decisión.

  3. Los alumnos "ansiosos" trabajan en lotes, modelando un grupo de observaciones de entrenamiento a la vez. Por lo tanto, no son aptos para el aprendizaje incremental. Pero KNN, naturalmente, admite el aprendizaje incremental (flujos de datos) ya que es un alumno basado en instancias.

  4. Además, el clasificador KNN proporciona tasas de error de prueba más cercanas a las del clasificador bayesiano (el estándar de oro). Como se cita en ISLR :

La tasa de error de Bayes es análoga al error irreducible


4

De Python Machine Learning de Sebastian Raschka :

La principal ventaja de este enfoque basado en la memoria [KNN] es que el clasificador se adapta inmediatamente a medida que recopilamos nuevos datos de entrenamiento. Sin embargo, la desventaja es que la complejidad computacional para clasificar nuevas muestras crece linealmente con el número de muestras en el conjunto de datos de entrenamiento en el peor de los casos, a menos que el conjunto de datos tenga muy pocas dimensiones (características) y el algoritmo se haya implementado utilizando datos eficientes. estructuras como los árboles KD. JH Friedman, JL Bentley y RA Finkel. Un algoritmo para encontrar las mejores coincidencias en el tiempo logarítmico esperado. ACM Transactions on Mathematical Software (TOMS), 3 (3): 209–226, 1977. Además, no podemos descartar las muestras de entrenamiento ya que no hay ningún paso de entrenamiento involucrado. Por lo tanto, el espacio de almacenamiento puede convertirse en un desafío si estamos trabajando con grandes conjuntos de datos.

El árbol de decisión, sin embargo, puede clasificar rápidamente nuevos ejemplos. Solo estás ejecutando una serie de comparaciones booleanas.


2

Agregaría que los árboles de decisión pueden usarse tanto para tareas de clasificación como de regresión. DT, por otro lado, predice que una clase en la respuesta aceptada sería más específica al describir los árboles de clasificación, que técnicamente es un subtipo del concepto genérico DT. Una referencia (ignorando las capas inferiores que discuten implementaciones específicas):
tipos de árboles de decisión desde aquí: http://www.simafore.com/blog/bid/62482/2-main-differences-between-classification-and-regression-trees

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.