Drzewa decyzyjne

Modele lasów decyzyjnych składają się z drzew decyzyjnych. Algorytmy uczenia się lasów decyzyjnych (np. lasy losowe) bazują, przynajmniej częściowo, na uczenie się drzew decyzyjnych.

W tej części szkolenia poznasz niewielki przykładowy zbiór danych i dowiesz się, jak trenować pojedyncze drzewo decyzyjne. W kolejnych sekcjach dowiesz się, jak połączyć drzewa decyzyjne,

Kod YDF

W YDF użyj narzędzia uczącego się CART do wytrenowania poszczególnych modeli drzewa decyzyjnego:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

Model

Drzewo decyzyjne to model złożony z „pytań” uporządkowanych w hierarchii w kształcie drzewa. Pytania są zwykle nazywane warunkami, podziałem lub testem. W tej klasie użyjemy terminu „condition”. Każdy węzeł inny niż liść zawiera warunek, a każdy węzeł liścia zawiera prognozę.

Drzewa botaniczne zazwyczaj rosną z korzeniami u dołu. Jednak drzewa decyzyjne mają zwykle korzenie (pierwszy węzeł) u góry.

Drzewo decyzyjne z 2 warunkami i 3 liście. Pierwszy warunek (pierwiastek) to liczba_nog >= 3, a drugi – liczba_oczu >= 3. Liście to pingwin,
pająk i pies.

Rysunek 1. Proste drzewo decyzyjne klasyfikacji. Legenda na zielono nie jest częścią drzewa decyzyjnego.

 

Wnioskowanie modelu drzewa decyzyjnego oblicza się, kierując przykład z elementu głównego (u góry) do jednego z węzłów liści (u dołu) zgodnie z warunkami. Wartość zdobytego liścia to prognoza drzewa decyzyjnego. Zbiór odwiedzonych węzłów jest nazywany ścieżką wnioskowania. Weźmy na przykład te wartości cech:

num_legs num_eyes
4 2

Prognozowana wartość to pies. Ścieżka wnioskowania wyglądałaby tak:

  1. liczba_nogi ≥ 3 → Tak
  2. liczba_oczu ≥ 3 → Nie

Ilustracja taka jak na ilustracji 1, ale ta ilustracja przedstawia ścieżkę wnioskowania obejmującą 2 warunki, kończącą się na liściu w przypadku psa.

Rysunek 2. Ścieżka wnioskowania, która kończy się w postaci liścia *pies* w przykładzie *{num_nos : 4, num_eyes : 2}*.

 

W poprzednim przykładzie liście drzewa decyzyjnego zawierają prognozy dotyczące klasyfikacji, czyli każdy liść spośród zbioru możliwych gatunków zawiera gatunek zwierzęcy.

Podobnie drzewa decyzyjne mogą prognozować wartości liczbowe, oznaczając liśćmi prognozami regresywnymi (wartościami liczbowymi). Na przykład poniższe drzewo decyzyjne przewiduje liczbową ocenę uroku zwierzęcia z przedziału od 0 do 10.

Drzewo decyzyjne, w którym każdy liść zawiera inną liczbę zmiennoprzecinkową.

Rysunek 3. Drzewo decyzyjne generujące prognozy liczbowe.