Algorytm drzew decyzyjnych firmy Microsoft

Dotyczy: SQL Server 2019 i starsze usługi Analysis Services Azure Analysis Services Fabric/Power BI Premium

Ważne

Funkcja wyszukiwania danych została uznana za przestarzałą w usługach SQL Server 2017 Analysis Services i została zakończona w usługach SQL Server 2022 Analysis Services. Dokumentacja nie jest aktualizowana dla przestarzałych i wycofanych funkcji. Aby dowiedzieć się więcej, zobacz zgodność z poprzednimi wersjami usług Analysis Services.

Algorytm drzew decyzyjnych Microsoft jest algorytmem klasyfikacji i regresji do użycia w modelowaniu predykcyjnym zarówno dyskretnych, jak i ciągłych atrybutów.

W przypadku atrybutów dyskretnych algorytm tworzy przewidywania na podstawie relacji między kolumnami wejściowymi w zestawie danych. Algorytm używa wartości lub stanów tych kolumn do przewidywania stanów kolumny, które są wyznaczane jako przewidywalne. W szczególności algorytm identyfikuje kolumny wejściowe skorelowane z przewidywalną kolumną.

Na przykład w scenariuszu służącym do przewidywania, którzy klienci prawdopodobnie kupią rower, jeśli dziewięciu na dziesięciu młodszych klientów, ale tylko dwóch na dziesięciu starszych klientów kupuje rower, algorytm wnioskuje, że wiek jest dobrym wskaźnikiem zakupu roweru. Drzewo decyzyjne tworzy przewidywania na podstawie tej tendencji do określonego wyniku.

W przypadku atrybutów ciągłych algorytm używa regresji liniowej w celu określenia, gdzie dzieli się drzewo decyzyjne.

Jeśli więcej niż jedna kolumna jest ustawiona na przewidywalną lub jeśli dane wejściowe zawierają tabelę zagnieżdżoną ustawioną na przewidywalną, algorytm tworzy oddzielne drzewo decyzyjne dla każdej przewidywalnej kolumny.

Example

Dział marketingu firmy Adventure Works Cycles chce zidentyfikować cechy poprzednich klientów, które mogą wskazywać, czy ci klienci prawdopodobnie kupią produkt w przyszłości. Baza danych AdventureWorks2012 przechowuje informacje demograficzne opisujące poprzednich klientów. Korzystając z algorytmu drzew decyzyjnych Microsoft do analizowania tych informacji, dział marketingu może utworzyć model, który przewiduje, czy dany klient kupi produkty, na podstawie stanów znanych kolumn dotyczących tego klienta, takich jak dane demograficzne lub wcześniejsze wzorce zakupu.

Jak działa algorytm

Algorytm drzew decyzyjnych Microsoft tworzy model wyszukiwania danych przez utworzenie serii podziałów w drzewie. Te podziały są reprezentowane jako węzły. Algorytm dodaje węzeł do modelu za każdym razem, gdy znajdzie kolumnę wejściową, która jest znacznie skorelowana z przewidywalną kolumną. Sposób określania podziału przez algorytm różni się w zależności od tego, czy przewiduje kolumnę ciągłą, czy kolumnę dyskretną.

Algorytm drzew decyzyjnych Microsoft używa wyboru funkcji, aby kierować wyborem najbardziej przydatnych atrybutów. Wszystkie SQL Server algorytmy wyszukiwania danych używają wyboru funkcji, aby poprawić jakość wydajności i analizy oraz zapobiec nieistotnym atrybutom korzystania z czasu procesora. Jeśli podczas projektowania modelu eksploracji danych użyjesz zbyt wielu atrybutów wejściowych lub przewidywanych, przetwarzanie modelu może zająć dużo czasu lub może zabraknąć pamięci. Metody używane do określania, czy drzewo ma być podzielone, obejmują standardowe metryki branżowe dla entropii i sieci Bayesowskich. Aby uzyskać więcej informacji na temat metod używanych do wybierania znaczących atrybutów, a następnie oceniania i klasyfikacji atrybutów, zobacz Wybór funkcji (wyszukiwanie danych).

Częstym problemem w modelach eksploracji danych jest nadmierna wrażliwość modelu na niewielkie różnice w danych treningowych, co nazywa się przeuczeniem lub nadmiernym wytrenowaniem. Nadmiernie dopasowany model nie może być uogólniony do innych zestawów danych. Aby uniknąć nadmiernego dopasowania do określonego zestawu danych, algorytm drzew decyzyjnych Microsoft używa technik kontrolowania wzrostu drzewa. Aby uzyskać szczegółowe wyjaśnienie działania algorytmu drzew decyzyjnych Microsoft, zobacz Microsoft Informacje techniczne dotyczące algorytmów drzew decyzyjnych.

Przewidywanie kolumn dyskretnych

Algorytm drzew decyzyjnych Microsoft tworzy drzewo dla dyskretnej przewidywalnej kolumny przy użyciu histogramu. Poniższy diagram przedstawia histogram ukazujący kolumnę przewidywaną Bike Buyers względem kolumny wejściowej Age. Histogram pokazuje, że wiek osoby pomaga określić, czy dana osoba kupuje rower.

Zrzut ekranu przedstawiający histogram z algorytmu drzew decyzyjnych Microsoft.

Korelacja pokazana na diagramie powoduje, że algorytm drzew decyzyjnych Microsoft utworzy nowy węzeł w modelu.

Zrzut ekranu przedstawiający węzeł drzewa decyzyjnego.

Gdy algorytm dodaje nowe węzły do modelu, tworzy strukturę drzewa. Górny węzeł drzewa opisuje podział przewidywalnej kolumny dla ogólnej populacji klientów. W miarę rozwoju modelu algorytm uwzględnia wszystkie kolumny.

Przewidywanie kolumn ciągłych

Gdy algorytm drzew decyzyjnych Microsoft tworzy drzewo na podstawie kolumny ciągłej przewidywalnej, każdy węzeł zawiera formułę regresji. Podział występuje w punkcie nieliniowości w formule regresji. Rozważmy na przykład poniższy diagram.

Zrzut ekranu wielu linii regresji ukazujący nieliniowość.

Standardowy model regresji próbuje utworzyć pojedynczą formułę reprezentującą trend i relacje dla danych jako całości. Jednak pojedyncza formuła może wykonywać słabe zadanie przechwytywania przerwania w złożonych danych. Zamiast tego algorytm drzew decyzyjnych Microsoft szuka segmentów drzewa, które są w dużej mierze liniowe, i tworzy oddzielne formuły dla tych segmentów. Dzieląc dane na różne segmenty, model może wykonać lepszą pracę w celu zbliżenia danych.

Na poniższym diagramie przedstawiono diagram drzewa dla modelu w poprzednim wykresie punktowym. Aby przewidzieć wynik, model zawiera dwie różne formuły: jedną dla lewej gałęzi z formułą y = .5x x 5, a jedną dla prawej gałęzi z formułą y = .25x + 8.75. Punkt, w którym dwie linie zbiegają się na wykresie rozrzutu, jest punktem nieliniowości, w którym następuje podział węzła w modelu drzewa decyzyjnego.

Zrzut ekranu przedstawiający równanie reprezentujące punkt nieliniowości.

Ten model jest prosty i ma tylko dwa równania liniowe, więc podział w drzewie następuje bezpośrednio po węźle Wszystkie. Jednak podział może wystąpić na dowolnym poziomie drzewa. W drzewie zawierającym wiele poziomów i węzłów, w których każdy węzeł charakteryzuje się inną kolekcją atrybutów, formuła może być współużytkowana w wielu węzłach lub stosowana tylko do jednego węzła.

Możesz na przykład uzyskać jedną formułę dla węzła zdefiniowaną jako "klienci w określonym wieku i dochodach", a druga w węźle reprezentującym "klientów, którzy dojeżdżają na długie odległości". Aby wyświetlić formułę dla pojedynczego węzła lub segmentu, wybierz węzeł.

Dane wymagane dla modeli drzewa decyzyjnego

Podczas przygotowywania danych do użycia w modelu drzewa decyzyjnego należy zrozumieć wymagania określonego algorytmu, w tym ilość potrzebnych danych i sposób ich używania.

Wymagania dotyczące modelu drzewa decyzyjnego są następujące:

  • Pojedyncza kolumna kluczowa. Każdy model musi zawierać jedną kolumnę liczbową lub tekstową, która jednoznacznie identyfikuje każdy rekord. Klucze złożone nie są dozwolone.

  • Przewidywalna kolumna. Model wymaga co najmniej jednej przewidywalnej kolumny. W modelu można uwzględnić wiele przewidywalnych atrybutów, a przewidywalne atrybuty mogą być różnego typu, numeryczne lub dyskretne. Zwiększenie liczby przewidywalnych atrybutów może zwiększyć czas przetwarzania.

  • Kolumny wejściowe. Model wymaga kolumn wejściowych, które mogą być dyskretne lub ciągłe. Zwiększenie liczby atrybutów wejściowych wpływa na czas przetwarzania.

Aby uzyskać szczegółowe informacje na temat obsługiwanych typów zawartości i typów danych dla modeli drzewa decyzyjnego, zobacz sekcję Wymagania w dokumentacji technicznej dotyczącej algorytmów drzew decyzyjnych Microsoft.

Wyświetlanie modelu drzewa decyzyjnego

Aby eksplorować model, użyj podglądu drzewa Microsoft. Jeśli model generuje wiele drzew, możesz wybrać drzewo i zobaczyć podział przypadków sklasyfikowanych dla każdego przewidywalnego atrybutu. Interakcję drzew można również wyświetlić przy użyciu przeglądarki sieci zależności. Aby uzyskać więcej informacji, zobacz Przeglądanie modelu przy użyciu przeglądarki drzewa firmy Microsoft.

Aby uzyskać więcej informacji o dowolnej gałęzi lub węźle drzewa, możesz również przeglądać model za pomocą narzędzia Microsoft Generic Content Tree Viewer. Zawartość przechowywana dla modelu zawiera rozkład wszystkich wartości w każdym węźle, prawdopodobieństwo na każdym poziomie drzewa i formuły regresji dla atrybutów ciągłych. Aby uzyskać więcej informacji, zobacz Wyszukiwanie zawartości modelu dla modeli drzewa decyzyjnego (Analysis Services — Wyszukiwanie danych).

Tworzenie przewidywań

Po przetworzeniu modelu wyniki są przechowywane jako zestaw wzorców i statystyk. Użyj tych wyników, aby eksplorować relacje lub tworzyć przewidywania.

Przykłady zapytań do użycia z modelem drzewa decyzyjnego można znaleźć w temacie Decision Trees Model Query Examples (Przykłady zapytań dotyczących modeli drzew decyzyjnych).

Aby uzyskać ogólne informacje na temat tworzenia zapytań dotyczących modeli wyszukiwania, zobacz Zapytania wyszukiwania danych.

Uwagi

  • Obsługuje używanie języka znaczników modelu predykcyjnego (PMML) do tworzenia modeli eksploatacji danych.

  • Obsługuje przechodzenie do szczegółów.

  • Obsługuje korzystanie z modeli eksploracji OLAP i tworzenie wymiarów eksploracji danych.

Zobacz także

Algorytmy wyszukiwania danych (Analysis Services — eksploracja danych)
Dokumentacja techniczna dotycząca algorytmów drzew decyzyjnych firmy Microsoft
Przykłady zapytań dotyczących modelu drzew decyzyjnych
Eksplorowanie zawartości modelu w modelach drzewa decyzyjnego (Analysis Services — eksploracja danych)