Entscheidungsbaum vs. KNN


13

In welchen Fällen ist es besser, einen Entscheidungsbaum und in anderen Fällen einen KNN zu verwenden?

Warum in bestimmten Fällen einen von ihnen verwenden? Und der andere in verschiedenen Fällen? (Betrachtet man die Funktionalität, nicht den Algorithmus)

Hat jemand Erklärungen oder Hinweise dazu?


2
KNN ist NICHT unbeaufsichtigt. Vielleicht dachte die Antwort über k-means nach?

2
Das Lernen von Entscheidungsbäumen ist ebenfalls nicht unbeaufsichtigt. de.wikipedia.org/wiki/Überwachtes_Lernen .
Valentas

Antworten:


8

Sie dienen unterschiedlichen Zwecken.

KNN wird nicht überwacht, Decision Tree (DT) wird überwacht. ( KNN wird beim Lernen überwacht, während K-means nicht überwacht wird. Ich denke, diese Antwort führt zu Verwirrung. ) KNN wird zum Clustering verwendet, DT zur Klassifizierung. ( Beide werden zur Klassifizierung verwendet. )

KNN bestimmt Nachbarschaften, daher muss es eine Entfernungsmetrik geben. Dies bedeutet, dass alle Features numerisch sein müssen. Entfernungsmetriken können durch Variieren der Maßstäbe zwischen Attributen und auch des hochdimensionalen Raums bewirkt werden.

DT sagt andererseits eine Klasse für einen gegebenen Eingabevektor voraus. Die Attribute können numerisch oder nominal sein.

Wenn Sie ähnliche Beispiele finden möchten, können Sie KNN verwenden. Wenn Sie Beispiele klassifizieren möchten, können Sie DT verwenden.


Erläuterung: Clustering, aber ein einzelner Cluster von k-Größe um einen bestimmten Eingabevektor. Es ist nicht unbedingt richtig, dass alle Merkmale numerisch sein müssen. Sie können beispielsweise Jaccard-Ähnlichkeit verwenden, um einen Abstand zu definieren, bei dem die Merkmale nominal sind.

10
Eigentlich werden beide beaufsichtigt. Beaufsichtigt bedeutet nur, dass der Lernende Zugang zu einem gekennzeichneten Trainingsset hat. Unüberwachte Algorithmen erledigen Dinge wie Clustering und nicht die Label-Vorhersage.
Jordanien A

1
Sie können sich bei KNN auch genau nach der Mehrheit Ihrer K-Nachbarn klassifizieren
Jekaterina Kokatjuhha

3
-1 knnund k-meanssind verschiedene Algorithmen und diese Antwort verpasst leider (und irrtümlicherweise) diese beiden Prozeduren. knnwird weder unbeaufsichtigt noch zum Clustering verwendet! Siehe Q: Diff kNN und kMean
SebNag

@SebNag, ist es fair zu sagen, dass Sci-Kit Learns Abschnitt "Unsupervised Nearest Neighbors" wirklich nur über k-means in disguise spricht? scikit-learn.org/stable/modules/neighbors.html Es scheint so , dass Abschnitt verwendet knn aber nur mit einem Abstand Maße für eine Art statt Cluster ohne Etikett Wissen , um zu bestimmen .. also das klingt wie k-Mittel.
Frikster

7

Klassifikatoren wie Decision Tree, Bayesian, Backpropagation und Support Vector Machine fallen unter die Kategorie "Eager Learners" , da sie zunächst ein Klassifizierungsmodell auf der Grundlage des Trainingsdatensatzes erstellen, bevor sie eine [unsichtbare] Beobachtung anhand des Testdatensatzes tatsächlich klassifizieren können . Das erlernte Modell ist nun "eifrig" (lesehungrig), zuvor ungesehene Beobachtungen zu klassifizieren, daher der Name.


Der KNN-basierte Klassifizierer erstellt jedoch kein Klassifizierungsmodell. Es lernt direkt aus den Trainingsinstanzen (Beobachtungen). Die Datenverarbeitung beginnt erst, nachdem eine Testbeobachtung zur Klassifizierung durchgeführt wurde. Somit fällt KNN in die Kategorie der "Lazy Learner" -Ansätze.

Basierend auf den oben genannten fundamentalen Unterschieden können wir Folgendes schließen:

  1. Da KNN das Lernen vor Ort durchführt, sind häufige Datenbanksuchen erforderlich, weshalb dies rechenintensiv sein kann. Decision Tree Classifier benötigt keine solchen Lookups, da das speicherinterne Klassifizierungsmodell bereitsteht.

  2. Da KNN instanzbasiertes Lernen durchführt, kann ein gut abgestimmtes K komplexe Entscheidungsräume mit willkürlich komplizierten Entscheidungsgrenzen modellieren, die von anderen "eifrigen" Lernenden wie Decision Trees nicht einfach modelliert werden können.

  3. "Eifrige" Lernende arbeiten stapelweise und modellieren jeweils eine Gruppe von Trainingsbeobachtungen. Sie sind also nicht für inkrementelles Lernen geeignet. Aber KNN unterstützt natürlich inkrementelles Lernen (Datenströme), da es ein instanzbasierter Lernender ist.

  4. Darüber hinaus gibt der KNN-Klassifikator Testfehlerraten an, die denen des Bayes'schen Klassifikators (dem Goldstandard) ähneln. Wie in ISLR zitiert :

Die Bayes-Fehlerrate ist analog zum irreduziblen Fehler


4

Aus Sebastian Raschkas Python Machine Learning :

Der Hauptvorteil eines solchen speicherbasierten Ansatzes [der KNN] besteht darin, dass sich der Klassifikator sofort anpasst, wenn wir neue Trainingsdaten erfassen. Der Nachteil ist jedoch, dass der Rechenaufwand für die Klassifizierung neuer Stichproben im ungünstigsten Fall linear mit der Anzahl der Stichproben im Trainingsdatensatz zunimmt - es sei denn, der Datensatz hat nur sehr wenige Dimensionen (Merkmale) und der Algorithmus wurde unter Verwendung effizienter Daten implementiert Strukturen wie KD-Bäume. JH Friedman, JL Bentley und RA Finkel. Ein Algorithmus zum Finden der besten Übereinstimmungen in der logarithmisch erwarteten Zeit. ACM Transactions on Mathematical Software (TOMS), 3 (3): 209–226, 1977. Außerdem können Trainingsmuster nicht verworfen werden, da kein Trainingsschritt erforderlich ist. Speicherplatz kann daher zu einer Herausforderung werden, wenn wir mit großen Datenmengen arbeiten.

Der Entscheidungsbaum kann jedoch schnell neue Beispiele klassifizieren. Sie führen nur eine Reihe von booleschen Vergleichen durch.


2

Ich möchte hinzufügen, dass Entscheidungsbäume sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet werden können. DT sagt andererseits voraus, dass eine Klasse in der akzeptierten Antwort spezifischer sein würde, indem Klassifizierungsbäume beschrieben werden, die technisch ein Untertyp des generischen DT-Konzepts sind. Eine Referenz (ohne Berücksichtigung der untersten Ebenen, in denen bestimmte Implementierungen erläutert werden):
Arten von Entscheidungsbäumen Von hier aus: http://www.simafore.com/blog/bid/62482/2-Hauptunterschiede-zwischen-Klassifizierungs-und-Regressionsbäumen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.