Arbre de décision vs KNN


15

Dans quels cas est-il préférable d'utiliser un arbre de décision et dans d'autres cas un KNN?

Pourquoi en utiliser un dans certains cas? Et l'autre dans des cas différents? (En regardant sa fonctionnalité, pas l'algorithme)

Quelqu'un a-t-il des explications ou des références à ce sujet?


2
KNN n'est PAS sans surveillance. Peut-être que la réponse pensait aux k-means?

2
L'apprentissage de l'arbre de décision n'est pas non plus sans surveillance. en.wikipedia.org/wiki/Supervised_learning .
Valentas

Réponses:


9

Ils servent à des fins différentes.

KNN n'est pas supervisé, l'arbre de décision (DT) est supervisé. ( KNN est un apprentissage supervisé alors que K-means n'est pas supervisé, je pense que cette réponse provoque une certaine confusion. ) KNN est utilisé pour le clustering, DT pour la classification. ( Les deux sont utilisés pour la classification. )

KNN détermine les quartiers, il doit donc y avoir une métrique de distance. Cela implique que toutes les fonctionnalités doivent être numériques. Les mesures de distance peuvent être affectées par des échelles variables entre les attributs et également par un espace de grande dimension.

DT, d'autre part, prédit une classe pour un vecteur d'entrée donné. Les attributs peuvent être numériques ou nominaux.

Donc, si vous voulez trouver des exemples similaires, vous pouvez utiliser KNN. Si vous souhaitez classer des exemples, vous pouvez utiliser DT.


Clarification: clustering, mais un seul cluster de taille k autour d'un vecteur d'entrée donné. Il n'est pas nécessairement vrai que toutes les fonctionnalités doivent être numériques. Par exemple, vous pouvez utiliser la similitude Jaccard pour définir une distance où les entités sont nominales.

10
En fait, ils sont tous les deux supervisés. Supervisé signifie simplement que l'apprenant a accès à un ensemble de formation étiqueté. Les algorithmes non supervisés font des choses comme le clustering, pas la prédiction d'étiquettes.
Jordan A

1
Vous pouvez également classer avec KNN en fonction exactement de la majorité de vos voisins K
Jekaterina Kokatjuhha

3
-1 knnet k-meanssont des algorithmes différents et cette réponse manque malheureusement (et à tort) ces deux procédures. knnn'est ni non supervisé ni utilisé pour le clustering! Voir Q: Diff kNN et kMean
SebNag

@SebNag, est-il juste de dire que la section "Voisins les plus proches non supervisés" de sci-kit learn ne parle vraiment que de k-means déguisés? scikit-learn.org/stable/modules/neighbors.html Il semble que cette section utilise knn mais juste avec une mesure de distance d'une certaine sorte à la place pour déterminer les clusters sans connaissance d'étiquette .. c'est à dire que cela ressemble à k-means.
Frikster

8

Les classificateurs comme Décision Tree, Bayesian, Back-propagation, Support Vector Machine entrent dans la catégorie des "Eager Learners" , car ils construisent d'abord un modèle de classification sur l' ensemble de données de formation avant de pouvoir réellement classer une observation [invisible] à partir de l' ensemble de données de test . Le modèle appris est maintenant "impatient" (lu affamé) de classer les observations jusque-là invisibles, d'où le nom.


Cependant, le classificateur basé sur KNN ne construit aucun modèle de classification. Il apprend directement des instances de formation (observations). Il commence à traiter les données uniquement après avoir reçu une observation de test à classer. Ainsi, KNN entre dans la catégorie des approches "apprenants paresseux" .

Sur la base des différences fondamentales ci-dessus, nous pouvons conclure ce qui suit: -

  1. Étant donné que KNN effectue un apprentissage sur place, il nécessite des recherches fréquentes dans la base de données et peut donc être coûteux en termes de calcul. Decision Tree Classifier ne nécessite pas de telles recherches car il dispose d'un modèle de classification en mémoire.

  2. Étant donné que KNN effectue un apprentissage basé sur des instances, un K bien réglé peut modéliser des espaces de décision complexes ayant des limites de décision arbitrairement compliquées, qui ne sont pas facilement modélisées par d'autres apprenants "désireux" comme les arbres de décision.

  3. Les apprenants «désireux» travaillent par lots, modélisant un groupe d'observations de formation à la fois. Ils ne sont donc pas adaptés à l'apprentissage progressif. Mais KNN prend naturellement en charge l'apprentissage incrémentiel (flux de données) car il s'agit d'un apprenant basé sur une instance.

  4. De plus, le classificateur KNN donne des taux d'erreur de test plus proches de ceux du classificateur bayésien (l'étalon-or). Comme cité dans ISLR :

Le taux d'erreur Bayes est analogue à l'erreur irréductible


4

D'après le Machine Learning Python de Sebastian Raschka :

Le principal avantage d'une telle approche basée sur la mémoire [le KNN] est que le classificateur s'adapte immédiatement lorsque nous collectons de nouvelles données d'apprentissage. Cependant, l'inconvénient est que la complexité de calcul pour classer les nouveaux échantillons croît de façon linéaire avec le nombre d'échantillons dans l'ensemble de données d'apprentissage dans le pire des cas - à moins que l'ensemble de données ait très peu de dimensions (caractéristiques) et que l'algorithme ait été implémenté à l'aide de données efficaces structures telles que les arbres KD. JH Friedman, JL Bentley et RA Finkel. Un algorithme pour trouver les meilleures correspondances dans le temps logarithmique attendu. ACM Transactions on Mathematical Software (TOMS), 3 (3): 209–226, 1977. De plus, nous ne pouvons pas rejeter les échantillons d'apprentissage car aucune étape d'apprentissage n'est impliquée. Ainsi, l'espace de stockage peut devenir un défi si nous travaillons avec de grands ensembles de données.

Cependant, l'arbre de décision peut rapidement classer de nouveaux exemples. Vous exécutez simplement une série de comparaisons booléennes.


2

J'ajouterais que les arbres de décision peuvent être utilisés à la fois pour les tâches de classification et de régression. DT, d'autre part, prédit qu'une classe dans la réponse acceptée serait plus spécifique en décrivant des arbres de classification qui est techniquement un sous-type du concept générique DT. Une référence (en ignorant les couches inférieures qui discutent d'implémentations spécifiques): à
types d'arbres de décision partir d'ici: http://www.simafore.com/blog/bid/62482/2-main-differences-between-classification-and-regression-trees

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.