Informacje techniczne algorytm drzewa decyzji firmy Microsoft

The Microsoft Decision Trees algorithm is a hybrid algorithm that incorporates different methods for creating a tree, and supports multiple analytic tasks, including regresja, classification, and association. Algorytm algorytmów firmy Microsoft obsługuje modelowania ciągłe i discrete atrybutów.

W tym temacie wyjaśniono Implementacja algorytmu, w tym artykule opisano sposób dostosowania zachowania algorytm do różnych zadań i zawiera łącza do dodatkowych informacji na temat kwerend modeli drzewo decyzyjne.

Implementacja algorytmu drzewa decyzji

Algorytm Microsoft algorytmów uczy się Bayesian sieci z kombinacji wiedza i dane statystyczne.Metodologia dla oceny wartości informacji jest ważną częścią algorytm priors potrzebnych do nauki.To podejście jest oparte na założeniu z równoważność prawdopodobieństwa, który mówi, że dane nie powinny pomóc do dyskryminacji struktury sieci, które w przeciwnym razie reprezentować ten sam potwierdzeń warunkowego niezależności.

Zakłada, że przypadek każdej pojedynczej sieci wcześniejsze Bayesian i jednej miara zaufania dla tej sieci.Korzystanie z tych sieci poprzedniego algorytmu następnie oblicza względne prawdopodobieństw przebiegu sieci struktur danych bieżących danych szkolenia i identyfikuje struktury sieci, które mają najwyższy prawdopodobieństw przebiegu.

Algorytm algorytmów firmy Microsoft korzysta z różnych metod do obliczenia najlepszych drzewa.Metoda używana zależy od zadania, które mogą być liniowy analizy regresja, klasyfikacji lub skojarzenia.Pojedynczy model może zawierać wiele drzew dla różnych przewidywalne atrybutów.Ponadto każdego drzewa może zawierać wiele oddziałów, w zależności od tego, jak wiele atrybutów i wartości występują w danych.Kształt i głębokość drzewa, wbudowane w określonym modelu zależy od metoda tworzenia wyników i inne parametry, które były używane.Zmiany w parametrach może również wpłynąć na Jeżeli węzły podzielone.

Budowanie drzewa

Gdy algorytm algorytmów Microsoft tworzy zestaw możliwych wartości wejściowych, wykonuje feature selection do identyfikowania atrybutów i wartości, które dostarczają informacje najbardziej i usuwa ze sprawą wartości, które są bardzo rzadko. Algorytm również grupy wartości w pojemników, do utworzenia grupy wartości, które mogą być przetwarzane jako jednostka do optymalizowania wydajności.

Drzewo jest tworzona przez określenie korelacji pomiędzy dane wejściowe i docelowego wyniku.Po zostały już skorelować wszystkie atrybuty, algorytm identyfikuje jeden atrybut, który oddziela najbardziej czysto wyniki.Ten punkt separacji najlepiej jest mierzona za pomocą równania, służącą do obliczania zysku informacji.Atrybut, który jest najlepszy wynik dla informacji o zysku jest używany do dzielenia na podzbiory, które są następnie rekursywnie analizowane w tym samym procesie, dopóki nie może być drzewa podzielić żadnych innych przypadkach.

Dokładne równanie używane do analizowania informacji o zysku zależy od parametrów ustawione podczas tworzenia algorytm mieszania, typ danych kolumna przewidywalny i typ danych dane wejściowe.

Wejściowych discrete i ciągłe

Gdy przewidywalne atrybut jest discrete i danych wejściowych są discrete, obliczanie wyników na dane wejściowe polega na tworzenie matrycy i generowanie wyników dla każdej komórka w macierzy.

Jednak gdy przewidywalne atrybut jest discrete i danych wejściowych są stałe, automatycznie są discretized dane wejściowe ciągłego kolumn.Można zaakceptować ustawienie domyślne i mieć Analysis Services znaleźć optymalną wielu pojemników lub można kontrolować sposób, w którym ciągłego dane wejściowe są discretized przez ustawienie DiscretizationMethod() i DiscretizationBucketCount() właściwości. Aby uzyskać więcej informacji zobaczJak Zmienianie Discretization kolumna w model wyszukiwania.

Ciągłe atrybutów dla algorytmu używa regresja liniowej, aby określić, gdzie dzieli drzewo decyzyjne.

Atrybut przewidywalne jest typ danych numerycznych ciągły, wybór funkcji zastosowanie do również wyjść zmniejszyć liczbę wyników i szybsze tworzenie modelu.Można zmienić próg dla funkcji zaznaczania i tym samym zwiększyć lub zmniejszyć liczbę możliwych wartości, ustawiając parametr MAXIMUM_OUTPUT_ATTRIBUTES.

Więcej zatrzymanego wyjaśnienie dotyczące sposobu Microsoft Algorytm drzewa decyzji współpracuje z discrete kolumn przewidywalnych, zobacz Nauka Bayesian sieci:.For more information about how the Microsoft Decision Trees algorithm works with a continuous predictable column, see the appendix of Autoregressive Tree Models for Time-Series Analysis.

Wybieranie funkcji i metody tworzenia wyników

Algorytm algorytmów Microsoft oferuje trzy formuły do tworzenia wyników informacji o zysku: Firmy Shannon entropii Bayesian sieci z wcześniejszego K2 i Bayesian sieci jest Dirichlet rozkład jednostajny z priors. pole wyszukiwanie danych utrwalonego są wszystkie trzy metody.Zaleca się, że można eksperymentować z różnymi parametrami i metody tworzenia wyników do ustalenia, który zapewnia najlepsze wyniki.Aby uzyskać więcej informacji na temat tych metod tworzenia wyników Zobacz Feature Selection.

Wszystkie Analysis Services algorytmów wyszukiwanie danych używają funkcji zaznaczenia automatycznie poprawić analizy oraz zmniejszyć obciążenie związane z przetwarzaniem. Metoda stosowana do zaznaczenia funkcji zależy od algorytmu, który jest używany do tworzenia modelu.Parametry algorytmu kontrolować funkcję zaznaczania dla modelu drzewa decyzji są MAXIMUM_INPUT_ATTRIBUTES i MAXIMUM_OUTPUT.

Algorytm

Metoda analizy

Komentarze

Drzewa decyzji

Wynik interestingness

Entropy Shannon firmy

Bayesian z K2 Prior

Bayesian Dirichlet z jednolitego przed (domyślnie)

Jeśli żadnych kolumn nie zawierają wartości ciągłego innych niż plik binarny, wynik interestingness jest używana dla wszystkich kolumn, aby zapewnić spójność.W przeciwnym wypadku jest używana domyślna lub określona metoda.

Regresja liniowa

Wynik interestingness

Regresja liniowa używa tylko interestingness, ponieważ obsługuje tylko ciągłego kolumn.

Skalowalność i wydajność

Klasyfikacja ważne wyszukiwanie danych strategii.Ogólnie rzecz biorąc ilość informacji, które jest niezbędne do klasyfikowania przypadkach powiększa się bezpośrednie proporcjonalnie do liczby rekordów danych wejściowych.Ogranicza rozmiar danych, które można podzielić.Algorytm algorytmów firmy Microsoft za pomocą używa następujących metod, aby rozwiązać te problemy, zwiększyć wydajność i wyeliminować ograniczenia pamięci:

  • Funkcja wyboru w celu zoptymalizowania wyboru atrybutów.

  • Bayesian Punktacja do kontrolowania wzrostu drzewa.

  • Optymalizacja binning ciągłego atrybutów.

  • Dynamiczne grupowanie wartości wejściowych w celu określenia wartości najważniejszych.

Algorytm algorytmów firmy Microsoft jest szybkie i skalowalne i został zaprojektowany do łatwego parallelized, co oznacza, że wszystkie procesory współpracują ze sobą w celu utworzenia jednego, spójnego modelu.Kombinacja tych właściwości powoduje klasyfikator, do drzewa decyzji idealnym narzędziem do wyszukiwanie danych.

W przypadku poważnego ograniczenia wydajności można skrócić czas przetwarzania podczas szkoleń z modelu drzewo decyzyjne przy użyciu następujących metod.Jednak jeśli to zrobisz, należy pamiętać, że wyeliminowanie atrybuty, aby zwiększyć wydajność przetwarzania będzie zmienić wyniki w modelu oraz ewentualnie był mniej reprezentatywny dla całej zapełnianie.

  • Zwiększ wartość parametru COMPLEXITY_PENALTY ograniczenie wzrostu drzewa.

  • Ogranicz liczbę elementów w modelach skojarzenia w celu ograniczenia liczby drzew, które są wbudowane.

  • Zwiększ wartość parametru MINIMUM_SUPPORT w celu uniknięcia nadmierne dopasowanie.

  • 10 Lub mniej, należy ograniczyć liczbę wartości discrete żadnych atrybut.Spróbuj wartości grupowanie w różny sposób w różnych modelach.

    Uwaga

    You can use the data exploration tools available in SQL Server 2008 Integration Services to visualize the distribution of values in your data and group your values appropriately before beginning data mining.Aby uzyskać więcej informacji zobaczProfilowanie danych z danymi Profilowanie Podgląd i zadań.Można również użyć Dane wyszukiwanie dodatki programu Excel 2007, aby poznać, grupowania i relabel danych w programie Microsoft Excel.

Dostosowywanie algorytm drzewa decyzji

The Microsoft Decision Trees algorithm supports parameters that affect the performance and accuracy of the resulting model wyszukiwania. Można również zestaw modelowania flag w kolumnach modelu wyszukiwania lub górnictwo kolumny struktury, aby kontrolować sposób przetwarzania danych.

Ustawianie parametrów algorytmu

W poniższej tabela opisano parametry, które mogą być używane z Microsoft Algorytm drzewa decyzji.

  • COMPLEXITY_PENALTY
    Określa przyrost drzewo decyzyjne.Mała wartość zwiększa liczbę podziałów i wysokiej wartości zmniejsza liczbę podziałów bilansujących.Wartość domyślna zależy od liczby atrybutów dla określonego modelu, zgodnie z opisem w poniższej liście:

    • 1 Do 9 atrybutów wartością domyślną jest 0,5.

    • 10 Do 99 atrybutów wartością domyślną jest 0,9.

    • Dla atrybutów 100 lub więcej wartością domyślną jest 0.99.

  • FORCE_REGRESSOR
    Wymusza algorytm używany określonych kolumn jako regressors, niezależnie od znaczenie kolumny, obliczona przy użyciu algorytmu.Ten parametr jest używany wyłącznie do drzewa decyzji, które są przewidywaniu ciągłego atrybut.

    Uwaga

    Ustawienie tego parametru, można wymusić algorytm próbuje użyć atrybut jako regressor.Czy atrybut jest faktycznie używany jako regressor ostatecznego modelu zależy jednak wyniki analizy.Można znaleźć kolumny, które były używane jako regressors za pomocą kwerend wysyłanych do modelu zawartości.

    [SQL Server Enterprise]

  • MAXIMUM_INPUT_ATTRIBUTES
    Definiuje liczbę atrybutów wejściowego, jaką może obsłużyć algorytmu przed go wywołuje funkcję zaznaczenia.

    Wartość domyślna to 255.

    Wartość tę zestaw na 0, aby wyłączyć funkcję zaznaczenia.

    [SQL Server Enterprise]

  • MAXIMUM_OUTPUT_ATTRIBUTES
    Określa liczbę atrybutów danych wyjściowych, jaką może obsłużyć algorytmu przed go wywołuje funkcję zaznaczenia.

    Wartość domyślna to 255.

    Wartość tę zestaw na 0, aby wyłączyć funkcję zaznaczenia.

    [SQL Server Enterprise]

  • MINIMUM_SUPPORT
    Określa minimalną liczbę przypadków typu liść, wymaganego do generowania podział drzewo decyzyjne.

    Wartość domyślna to 10.

    Należy zwiększyć tę wartość, jeśli zestaw danych jest bardzo duża, aby uniknąć overtraining.

  • SCORE_METHOD
    Określa metoda używaną do obliczania wyniku podziału.Dostępne są następujące opcje:

    Identyfikator

    Imię i nazwisko

    1

    Entropia

    2

    Bayesian z K2 Prior

    3

    Bayesian Dirichlet Equivalent Prior (BDE)

    (domyślnie)

    Wartość domyślna to 3.

    Aby uzyskać informacje z tych metod tworzenia wyników Zobacz Feature Selection.

  • SPLIT_METHOD
    Określa metoda, która jest używana do dzielenia węzła.Dostępne są następujące opcje:

    Identyfikator

    Imię i nazwisko

    1

    Binary: Wskazuje, że niezależnie od rzeczywistej liczby wartości dla atrybut, w drzewie powinny być podzielone na dwie gałęzie.

    2

    Complete: Wskazuje, że w drzewie można utworzyć tyle podziały, ponieważ istnieją wartości atrybut.

    3

    Both: Określa, czy usług Analysis Services może ustalić, czy binarnym lub zakończenie podziału, należy użyć w celu uzyskania najlepszych wyniki.

    Wartość domyślna to 3.

Modelowanie flagi

The Microsoft Decision Trees algorithm supports the following modeling flags.Podczas tworzenia struktura wyszukiwania lub model wyszukiwania, należy zdefiniować modelowania flagi, aby określić sposób obsługi wartości w każdej kolumnie podczas analizy.Aby uzyskać więcej informacji zobaczFlagi modelowania (wyszukiwanie danych).

Flaga modelowania

Description

MODEL_EXISTENCE_ONLY

Oznacza, że kolumna będą traktowane jako mające dwóch możliwych stanów: Missing i Existing. Wartość null jest brak wartości.

Stosuje się do kolumn w model wyszukiwania.

NIEDOZWOLONE WARTOŚCI NULL

Wskazuje, że kolumna nie może zawierać wartość null.Jeżeli usługi Analysis Services napotyka wartość null podczas szkolenia modelu, spowoduje błąd.

Stosuje się do kolumn struktura wyszukiwania.

Regressors w modelach drzewo decyzyjne

Nawet jeśli nie używasz Microsoft Algorytm regresja liniowej, model z drzewo decyzyjne, zawierającej stałe numeryczne wejść i wyjść potencjalnie może zawierać węzły, które reprezentują regresja na ciągłe atrybut.

Nie trzeba określić, że kolumna danych numerycznych ciągłego reprezentuje regressor.The Microsoft Decision Trees algorithm will automatically use the kolumna as a potential regressor and partition the dataset into regions with meaningful patterns even if you do not zestaw the REGRESSOR flag on the kolumna.

Jednak można użyć parametru FORCED_REGRESSOR, aby zagwarantować, że algorytm będzie korzystać z określonego regressor.Ten parametr może być używany tylko z Microsoft Decyzja drzewa i Microsoft Algorytmy regresja liniowej. Po ustawieniu flagi modelowania, algorytm będzie próbował znaleźć równania regresja formularza a * C1 + b * C2 +... do dopasowanie wzorców w węzłach drzewa.Obliczyć sumy składników resztkowych, a jeśli odchylenie jest zbyt duża, podział będzie zmuszony w drzewie.

Na przykład, jeśli jest przewidywana, odbiorcy zakupów zachowanie używając Przychód jako atrybut, a zestaw modelowania REGRESSOR flagę kolumna, algorytm najpierw próbuje dopasowanie Przychód wartości przy użyciu formuły standardowych regresja.Jeśli odchylenie jest zbyt duża, formuła regresja zostanie zaniechana i drzewa zostaną podzielone na inny atrybut.Następnie algorytm drzewo decyzyjne próbuje dopasować regressor dla przychodów w każdej gałęzi po podziału.

Wymagania

Model drzewo decyzyjne musi zawierać kolumnę klucz, wejściowy kolumny i co najmniej jedną przewidywalna kolumna.

Dane wejściowe i uzyskania przewidywalnej kolumny

The Microsoft Decision Trees algorithm supports the specific input columns and predictable columns that are listed in the following tabela. Aby uzyskać więcej informacji na temat typów zawartości znaczenie w model wyszukiwania zobacz Typy zawartości (wyszukiwanie danych).

Kolumna

Typy zawartości

Atrybut wejściowy

Ciągłe, cykliczna, discrete, Discretized, klucz, Zamówione, tabela

Atrybut przewidywalne

Ciągłe, cykliczna, discrete, Discretized, Zamówione, tabela

Uwaga

Obsługiwane są typy zawartości Cyclical i Zamówione, ale algorytm traktuje je jako discrete wartości i nie wykonuje przetwarzania specjalne.