Drzewo decyzyjne w Sklearn

Drzewo decyzyjne w Sklearn
Drzewa decyzyjne są hierarchicznymi modelem uczenia maszynowego, które można zastosować do problemów z klasyfikacją i regresją. Rekurencyjnie porównują cechy danych wejściowych i ostatecznie przewidują wyjście w węźle liściowym. Omówimy o drzewach decyzyjnych i ich wdrożeniu w bibliotece Sklearn.

Co to jest algorytm drzewa decyzyjnego?

Modele klasyfikacji i regresji są konstruowane przy użyciu techniki drzewa decyzyjnego. Mapuje wektory wartości do etykiet i reprezentuje klasyfikator jako drzewo decyzyjne. Takie drzewo można porównać do zagnieżdżonych instrukcji IF-Then-Else, w których warunek jest zawsze prostym testem wartości w wektorze. A następnie gałęzie są albo dalsze instrukcje IF-Then-Then-Intee, albo zapewniają etykietę kategoryzacji. Drzewo decyzyjne uczy się na podstawie danych, znajduje najbardziej odpowiednie funkcje do różnicowania wyjścia i rekurencyjnie sprawdza podane dane wejściowe, aby przewidzieć etykietę. Drzewo decyzyjne może wyglądać tak, na przykład, jeśli wektor wejściowy to (A, B, C):

Jeśli A> 10
To jeśli b < 20
Następnie zwróć „1”
W przeciwnym razie, jeśli < 15
Następnie zwróć „0”
W przeciwnym razie powrót „1”
W przeciwnym razie, jeśli c 5
Następnie zwróć „1”
W przeciwnym razie powrót „0”
W przeciwnym razie powrót „1”

Zauważ, że inne drzewa decyzyjne mają tę cechę oprócz tego. W związku z tym problemem jest nie tylko zlokalizowanie takiego drzewa decyzyjnego, ale także zidentyfikowanie najbardziej odpowiedniego. Fakt, że dane wejściowe jest próbką z znacznej kolekcji rzeczywistego i że drzewo decyzyjne jest zbudowane w celu zidentyfikowania wektorów w tym bardziej obszernym zestawie, dokładnie określa, co „odpowiednie” oznacza w tym przypadku. Dlatego definicja „odpowiedniego” zależy od (1) właściwości tego szerszego zestawu (na przykład prawdopodobieństwa dla każdego wektora) i (2) wpływ finansowego błędnego klasyfikacji w każdym konkretnym przypadku.

Terminologie związane z drzewem decyzyjnym

Węzeł główny: Węzeł główny drzewa decyzyjnego to miejsce, w którym wszystko zaczyna się. Cały zestaw danych jest reprezentowany, który jest następnie podzielony na dwa lub więcej jednorodnych zestawów.

Węzeł liścia: Węzły liści są ostatnimi węzłami wyjściowymi drzewa. Po czym drzewo nie można dalej podzielić.

Rozdzielać: Podział węzła decyzyjnego/węzła root na podnody zgodnie z określonymi warunkami jest znany jako podział.

Oddział: Gałąź lub poddrzewa to drzewo utworzone z węzła drzewa nadrzędnego.

Przycinanie: Przycinanie to procedura usuwania niepożądanych gałęzi drzewa.

Węzły rodziców i dzieci: Węzeł główny drzewa jest określany jako węzeł nadrzędny, podczas gdy węzły, które się z niego pochodzą.

Wdrażanie drzew decyzyjnych w Sklearn

Import bibliotek:

ze Sklearn.Zestawy danych importuj Make_classification
ze Sklearn.DECYZJA DECYZJA DECYZJI
ze Sklearn.Model_Selection import cross_val_score

Tworzenie zestawu danych:

X, y = Make_classification (Random_State = 42)
print („Dane pociągu to”, x)
print („Dane testowe to”, y)

Wyjście:

Dane pociągu to [[-2.02514259 0.0291022 -0.47494531… -0.33450124 0.86575519
-1.20029641]
[1.61371127 0.65992405 -0.15005559… 1.37570681 0.70117274
-0.2975635]
[0.16645221 0.95057302 1.42050425… 1.18901653 -0.55547712
-0.63738713]

[-0.03955515 -1.60499282 0.22213377… -0.30917212 -0.46227529
-0.43449623]
[1.08589557 1.2031659 -0.6095122… -0.3052247 -1.31183623
-1.06511366]
[-0.00607091 1.30857636 -0.17495976… 0.99204235 0.32169781
-0.66809045]]
Dane testowe to [0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0
0 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0
1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0]

Tworzenie modelu:

Model = decyzyjna klasę (Random_State = 0)
cross_val_score (model, x, y, cv = 10)

Wyjście:

tablica ([0.9, 1. , 0.8, 1. , 1. , 0.9, 0.9, 1. , 0.9, 1. ])

Wniosek

Omówiliśmy modele drzew decyzyjnych w Sklearn, które tworzą strukturę przypominającą drzewo do klasyfikacji lub przewidywania etykiet wyjściowych. Dzielą węzły, aby zmniejszyć głębokość drzewa. Widzieliśmy także różne terminy związane z drzewami decyzyjnymi, takimi jak węzeł liściowy, węzły nadrzędne, przycinanie itp. Następnie omówiliśmy wdrożenie Sklearn.