Drzewo decyzyjne a KNN

15

W jakich przypadkach lepiej jest użyć drzewa decyzyjnego, a innych - KNN?

Po co używać jednego z nich w niektórych przypadkach? A drugi w różnych przypadkach? (Patrząc na jego funkcjonalność, a nie na algorytm)

Czy ktoś ma jakieś wyjaśnienia lub odniesienia na ten temat?

gchavez1
źródło
2
KNN NIE jest nadzorowany. Być może odpowiedzią było myślenie o k-średnich?
2
Uczenie się na drzewie decyzyjnym również nie jest nadzorowane. en.wikipedia.org/wiki/Supervised_learning .
Valentas,

Odpowiedzi:

9

Służą do różnych celów.

KNN nie jest nadzorowany, drzewo decyzyjne (DT) nadzorowane. ( KNN nadzoruje uczenie się, podczas gdy K-środki nie są nadzorowane, myślę, że ta odpowiedź powoduje pewne zamieszanie. ) KNN jest używany do grupowania, DT do klasyfikacji. ( Oba są używane do klasyfikacji. )

KNN określa sąsiedztwa, dlatego musi istnieć wskaźnik odległości. Oznacza to, że wszystkie funkcje muszą być numeryczne. Na metryki odległości mogą wpływać różne skale między atrybutami, a także przestrzeń wielowymiarowa.

Z kolei DT przewiduje klasę dla danego wektora wejściowego. Atrybuty mogą być liczbowe lub nominalne.

Jeśli więc chcesz znaleźć podobne przykłady, możesz użyć KNN. Jeśli chcesz sklasyfikować przykłady, możesz użyć ID.

Darshan Jain
źródło
Wyjaśnienie: Klastrowanie, ale pojedynczy klaster wielkości k wokół danego wektora wejściowego. Niekoniecznie jest prawdą, że wszystkie funkcje muszą być liczbowe. Na przykład można użyć podobieństwa Jaccard do zdefiniowania odległości, w której cechy są nominalne.
10
W rzeczywistości oboje są nadzorowani. Nadzorowany oznacza po prostu, że uczeń ma dostęp do oznaczonego zestawu szkoleniowego. Algorytmy bez nadzoru wykonują takie czynności, jak grupowanie, a nie przewidywanie etykiet.
Jordan A
1
Możesz także sklasyfikować za pomocą KNN na podstawie dokładnej większości twoich sąsiadów z K
Jekaterina Kokatjuhha
3
-1 knni k-meanssą różnymi algorytmami, a ta odpowiedź niestety (i błędnie) pomija te dwie procedury w górę. knnnie jest ani nadzorowane, ani wykorzystywane do tworzenia klastrów! Patrz P: Zróżnicowane kNN i kMean
SebNag
@SebNag, czy to sprawiedliwe, aby powiedzieć, że sekcja sci-kit learn w sekcji „Bez nadzoru najbliższych sąsiadów” naprawdę mówi po prostu o przebraniu k-średnich? scikit-learn.org/stable/modules/neighbors.html Wygląda na to, że ta sekcja używa knn, ale tylko z pewnym rodzajem odległości, aby określić klastry bez wiedzy na temat etykiet.
Frikster
8

Klasyfikatory takie jak Drzewo decyzyjne, Bayesian, propagacja wsteczna, maszyna wektorów wsparcia należą do kategorii „chętnych uczniów” , ponieważ najpierw budują model klasyfikacji na zbiorze danych szkoleniowych, zanim są w stanie faktycznie sklasyfikować [niewidzialną] obserwację z zestawu danych testowych . Wyuczony model jest teraz „chętny” (głodny czytania) do klasyfikowania wcześniej niewidzianych obserwacji, stąd nazwa.


Klasyfikator oparty na KNN nie buduje jednak żadnego modelu klasyfikacji. Uczy się bezpośrednio z instancji treningowych (obserwacji). Zaczyna przetwarzać dane dopiero po otrzymaniu obserwacji testowej w celu sklasyfikowania. Zatem KNN należy do kategorii podejść „Leniwy uczeń” .

Na podstawie powyższych fundamentalnych różnic możemy wyciągnąć następujące wnioski:

  1. Ponieważ KNN wykonuje uczenie na miejscu, wymaga częstych przeszukiwania baz danych, dlatego może być kosztownie obliczone. Klasyfikator drzewa decyzyjnego nie wymaga takich wyszukiwań, ponieważ ma gotowy model klasyfikacji w pamięci.

  2. Ponieważ KNN wykonuje uczenie oparte na instancjach, dobrze dostrojony K może modelować złożone przestrzenie decyzyjne o arbitralnie skomplikowanych granicach decyzyjnych, które nie są łatwo modelowane przez innych „chętnych” uczniów, takich jak Drzewa decyzyjne.

  3. „Chętni” uczniowie pracują partiami, modelując jednocześnie jedną grupę obserwacji treningowych. Dlatego nie nadają się do nauki przyrostowej. Ale KNN w naturalny sposób wspiera nauczanie przyrostowe (strumienie danych), ponieważ jest uczniem opartym na instancjach.

  4. Ponadto, klasyfikator KNN podaje poziomy błędów testowych bliższe wskaźnikom klas bayesowskich (złoty standard). Jak podano w ISLR :

Współczynnik błędu Bayesa jest analogiczny do błędu nieredukowalnego

spkakkar
źródło
4

Z uczenia maszynowego Pythona Sebastiana Raschki :

Główną zaletą takiego podejścia opartego na pamięci [KNN] jest to, że klasyfikator natychmiast dostosowuje się, gdy zbieramy nowe dane treningowe. Minusem jest jednak to, że złożoność obliczeniowa klasyfikacji nowych próbek rośnie liniowo wraz z liczbą próbek w zbiorze danych szkoleniowych w najgorszym przypadku - chyba że zestaw danych ma bardzo niewiele wymiarów (cech) i algorytm został wdrożony przy użyciu wydajnych danych struktury takie jak drzewa KD. JH Friedman, JL Bentley i RA Finkel. Algorytm znajdowania najlepszych dopasowań w logarytmicznym oczekiwanym czasie. Transakcje ACM na oprogramowaniu matematycznym (TOMS), 3 (3): 209–226, 1977. Ponadto nie możemy odrzucić próbek szkoleniowych, ponieważ nie wymaga to żadnego etapu szkoleniowego. Dlatego przestrzeń dyskowa może stać się wyzwaniem, jeśli pracujemy z dużymi zestawami danych.

Drzewo decyzyjne może jednak szybko sklasyfikować nowe przykłady. Właśnie przeprowadzasz serię porównań boolowskich.

Russell Richie
źródło
2

Dodałbym, że drzewa decyzyjne mogą być używane zarówno do zadań klasyfikacji, jak i regresji. Z drugiej strony DT przewiduje, że klasa w przyjętej odpowiedzi byłaby bardziej szczegółowa, opisując drzewa klasyfikacji, które technicznie są podtypem ogólnej koncepcji DT. Jedno odniesienie (ignorowanie dolnych warstw omawiających konkretne implementacje):
rodzaje drzew decyzyjnych Stąd: http://www.simafore.com/blog/bid/62482/2-main-differences-between-classification-and-regression-trees

farmi
źródło