Szybka regresja kwantylowa lasu decyzyjnego

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Tworzy model regresji kwantylu

Kategoria: Machine Learning / Inicjowanie modelu / Regresja

Uwaga

Dotyczy: Machine Learning Studio (wersja klasyczna)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano, jak za pomocą modułu Fast Forest Quantile Regression (Regresja kwantylu) w programie Machine Learning Studio (model klasyczny) utworzyć model regresji, który może przewidywać wartości dla określonej liczby kwantyli.

Regresja kwantylu jest przydatna, jeśli chcesz lepiej zrozumieć rozkład przewidywanej wartości, zamiast uzyskać pojedynczą średnią wartość przewidywania. Ta metoda ma wiele aplikacji, w tym:

  • Przewidywanie cen

  • Szacowanie wydajności studentów lub stosowanie wykresów wzrostu w celu oceny rozwoju dzieci

  • Odkrywanie relacji predykcyjnych w przypadkach, gdy istnieje tylko słaba relacja między zmiennymi

Ten algorytm regresji jest metodą uczenia nadzorowanego , co oznacza, że wymaga otagowanego zestawu danych, który zawiera kolumnę etykiety. Ponieważ jest to algorytm regresji, kolumna etykiety musi zawierać tylko wartości liczbowe.

Więcej informacji na temat regresji kwantylu

Istnieje wiele różnych typów regresji. W najbardziej podstawowym sensie regresja oznacza dopasowanie modelu do celu wyrażonego jako wektor liczbowy. Jednak statystyka opracowuje coraz bardziej zaawansowane metody regresji.

Najprostsza definicja kwantylu jest wartością dzielącą zestaw danych na grupy o równym rozmiarze. w związku z tym wartości kwantylu oznaczają granice między grupami. Statystycznie kwantyile to wartości podejmowane w regularnych odstępach czasu od odwrotności funkcji rozkładu skumulowanego (CDF) zmiennej losowej.

Podczas gdy modele regresji liniowej próbują przewidzieć wartość zmiennej liczbowej przy użyciu pojedynczego oszacowania średniej, czasami trzeba przewidzieć zakres lub cały rozkład zmiennej docelowej. W tym celu opracowano techniki, takie jak regresja bayesyjska i regresja kwantylu.

Regresja kwantylu pomaga zrozumieć rozkład przewidywanej wartości. Modele regresji kwantylu oparte na drzewie, takie jak te, które zostały użyte w tym module, mają dodatkową zaletę, że mogą być używane do przewidywania rozkładów nieparzyscznych.

Aby uzyskać dodatkowe szczegóły implementacji i zasoby, zobacz sekcję Uwagi techniczne.

Jak skonfigurować regresję kwantylu Fast_Forest

Za pomocą tego modułu skonfigurujesz właściwości modelu regresji, a następnie przeszkolisz go przy użyciu jednego z modułów szkoleniowych.

Kroki konfiguracji różnią się znacząco w zależności od tego, czy udostępniasz stały zestaw parametrów, czy też ustawiasz czyszczenie parametrów.

Tworzenie modelu regresji kwantylu przy użyciu stałych parametrów

Zakładając, że wiesz, jak chcesz skonfigurować model, możesz podać określony zestaw wartości jako argumenty. Podczas trenowania modelu użyj funkcji Train Model (Trenowanie modelu).

  1. Dodaj moduł Fast Forest Quantile Regression (Regresja kwantylu w lesie Fast Forest ) do eksperymentu w programie Studio (wersja klasyczna).

  2. Ustaw opcję Utwórz tryb szkoleniowy na wartość Pojedynczy parametr.

  3. W przypadku wartości Liczba drzew wpisz maksymalną liczbę drzew, które można utworzyć w zespole. Jeśli utworzysz więcej drzew, zwykle prowadzi to do większej dokładności, ale kosztem dłuższego czasu trenowania.

  4. W przypadku wartości Liczba liści wpisz maksymalną liczbę liści lub węzłów końcowych, które można utworzyć w dowolnym drzewie.

  5. Dla ustawienia Minimalna liczba wystąpień szkoleniowych wymaganych do utworzenia liścia określ minimalną liczbę przykładów, które są wymagane do utworzenia dowolnego węzła terminalu (liścia) w drzewie.

    Zwiększając tę wartość, zwiększasz próg tworzenia nowych reguł. Na przykład jeśli wartość domyślna to 1, nawet pojedynczy przypadek może spowodować, że zostanie utworzona nowa reguła. W przypadku zwiększenia wartości do 5 dane szkoleniowe muszą zawierać co najmniej 5 przypadków, które spełniają te same warunki

  6. W przypadku ułamka bagging określ liczbę z wartości od 0 do 1, która reprezentuje ułamek próbek do użycia podczas tworzenia każdej grupy kwantyli. Próbki są wybierane losowo i zastępują je.

  7. W przypadku elementu Feature fraction (Ułamek funkcji) wpisz liczbę z wartości od 0 do 1, która wskazuje ułamek całkowitej liczby cech do użycia podczas tworzenia konkretnego drzewa. Funkcje są zawsze wybierane losowo.

  8. W przypadku funkcji Split fraction (Ułamek podziału) wpisz liczbę z wartości od 0 do 1, która reprezentuje ułamek cech do użycia w każdym podziale drzewa. Używane funkcje są zawsze wybierane losowo.

  9. W przypadku liczby próbek kwantylu wpisz liczbę przypadków, które mają zostać ocenione podczas szacowania kwantyli.

  10. Aby oszacować kwantyle, wpisz rozdzielaną przecinkami listę kwantyli, dla których model ma trenować i tworzyć przewidywania.

    Jeśli na przykład chcesz utworzyć model, który szacuje kwartyl, wpisz .0.25, 0.5, 0.75

  11. Opcjonalnie wpisz wartość iniekcjatora liczb losowych , aby zainicjować generator liczb losowych używany przez model. Wartość domyślna to 0, co oznacza, że wybierany jest losowy iniekt.

    Należy podać wartość, jeśli musisz odtworzyć wyniki w kolejnych przebiegach na tych samych danych.

  12. Wybierz opcję Zezwalaj na nieznane poziomy kategorii , aby utworzyć grupę dla nieznanych wartości.

    Jeśli ją odznaczysz, model może akceptować tylko wartości, które znajdują się w danych szkoleniowych.

    Jeśli wybierzesz tę opcję, model może być mniej dokładny dla znanych wartości, ale może zapewnić lepsze przewidywania dla nowych (nieznanych) wartości.

  13. Połączenie zestaw danych treningowych, wybierz kolumnę o pojedynczej etykiecie i połącz model szkoleniowy.

  14. Uruchom eksperyment.

Używanie czyszczenie parametrów w celu utworzenia modelu regresji kwantylu

Jeśli nie masz pewności co do optymalnych parametrów modelu, możesz skonfigurować czyszczenie parametrów i podać zakres wartości jako argumenty. Podczas trenowania modelu użyj modułu Hiperparametry modelu dostrajania .

  1. Dodaj moduł Fast Forest Quantile Regression (Regresja kwantylu w lesie Fast Forest ) do eksperymentu w programie Studio (wersja klasyczna).

  2. Ustaw opcję Utwórz tryb szkoleniowy na wartość Zakres parametrów.

    Czyszczenie parametrów jest zalecane, jeśli nie masz pewności co do najlepszych parametrów. Określając wiele wartości i używając modułu Dostrajanie hiperparametrów modelu do trenowania modelu, można znaleźć optymalny zestaw parametrów dla danych.

    Po wybraniu czyszczenie parametrów dla każdej właściwości, która można dostroić, można ustawić pojedynczą wartość lub wiele wartości. Na przykład możesz zdecydować się na naprawienie liczby drzew, ale losowo zmienić inne wartości, które kontrolują sposób budowania poszczególnych drzew.

    • Jeśli wpiszemy pojedynczą wartość, ta wartość będzie używana we wszystkich iteracjach czyszczenie, nawet jeśli zmienią się inne wartości.

    • Wpisz rozdzielaną przecinkami listę wartości dyskretnych do użycia. Te wartości są używane w połączeniu z innymi właściwościami.

    • Za pomocą konstruktora zakresu zdefiniuj zakres wartości ciągłych.

    Podczas procesu trenowania moduł Hiperparametry modelu dostrajania iteruje po różnych kombinacjach wartości, aby utworzyć najlepszy model.

  3. W przypadku maksymalnej liczby liści na drzewo wpisz łączną liczbę liści lub węzłów terminalu, aby zezwolić na to w każdym drzewie.

  4. W przypadku liczby skonstruowanych drzew wpisz liczbę iteracji do wykonania podczas konstruowania zespołu. Tworząc więcej drzew, możesz potencjalnie uzyskać lepsze pokrycie, kosztem zwiększonego czasu trenowania.

  5. W przypadku minimalnej liczby próbek na węzeł liścia wskaż, ile przypadków jest wymaganych do utworzenia węzła liścia.

    Zwiększając tę wartość, zwiększasz próg tworzenia nowych reguł. Na przykład jeśli wartość domyślna to 1, nawet pojedynczy przypadek może spowodować, że zostanie utworzona nowa reguła. W przypadku zwiększenia wartości do 5 dane szkoleniowe muszą zawierać co najmniej 5 przypadków, które spełniają te same warunki.

  6. W zakresie dla ułamka bagging, wpisz ułamek próbek do użycia podczas tworzenia każdej grupy kwantyli. Próbki są wybierane losowo i zastępują je.

    Każdy ułamek powinien być liczbą z wartości od 0 do 1. Oddziel wiele ułamków, używając przecinków.

  7. W opcji Zakres dla ułamka cech wpisz ułamek całkowitej liczby cech do użycia podczas tworzenia każdej grupy kwantyli. Cechy są wybierane losowo.

    Każdy ułamek powinien być liczbą z wartości od 0 do 1; oddziel wiele ułamków przy użyciu przecinków.

  8. W poszczególnych grupach kwantyli określ część cech do użycia w poszczególnych grupach kwantyli. Rzeczywiste używane cechy są wybierane losowo.

    Każdy ułamek powinien być liczbą z od 0 do 1; rozdzielić wiele ułamków przecinkami.

  9. W liczniku próbki używanym do szacowania kwantyli wskaż liczbę próbek, które powinny zostać ocenione podczas szacowania kwantyli. Jeśli wpiszemy liczbę większą niż liczba dostępnych próbek, zostaną użyte wszystkie próbki.

  10. W wymaganych wartościach kwantylu wpisz rozdzielaną przecinkami listę kwantyli, na których ma być trenowany model. Jeśli na przykład chcesz utworzyć model, który szacuje kwartyl, wpisz wartości '0,25, 0,5, 0,75

  11. W iniekcie liczb losowych wpisz wartość, aby zainicjować generator liczb losowych używany przez model. Użycie iniekcyjną jest przydatne do odtworzenia zduplikowanych przebiegów.

    Wartość domyślna to 0, co oznacza, że wybierany jest losowy iniekt.

  12. Wybierz opcję Zezwalaj na nieznane wartości dla funkcji kategorii, aby utworzyć grupę dla nieznanych wartości w zestawach trenowania lub walidacji.

    Jeśli ta opcja zostanie odznaczona, model może akceptować tylko wartości zawarte w danych szkoleniowych.

    Jeśli wybierzesz tę opcję, model może być mniej dokładny dla znanych wartości, ale może zapewnić lepsze przewidywania dla nowych (nieznanych) wartości.

  13. Połączenie zestawu danych szkoleniowych, wybierz kolumnę etykiety i połącz moduł Hiperparametry modelu dostrajania.

    Uwaga

    Nie używaj funkcji Train Model (Trenowanie modelu). W przypadku skonfigurowania zakresu parametrów, ale trenowania przy użyciu funkcji Train Model, używana jest tylko pierwsza wartość z listy zakresów parametrów.

  14. Uruchom eksperyment.

Wyniki

Po zakończeniu szkolenia:

  • Aby wyświetlić końcowe hiperparametry zoptymalizowanego modelu, kliknij prawym przyciskiem myszy dane wyjściowe funkcji Dostrajanie hiperparametrów modelu i wybierz polecenie Visualize (Wizualizacja).

Przykłady

Przykłady użycia tego modułu można znaleźć w Azure AI Gallery:

  • Regresja kwantylu: Pokazuje, jak utworzyć i zinterpretować model regresji kwantylu przy użyciu zestawu danych z cenami automatycznymi.

Uwagi techniczne

Ta sekcja zawiera szczegóły implementacji, porady i odpowiedzi na często zadawane pytania.

Szczegóły implementacji

Moduł Fast Forest Quantile Regression in Machine Learning to implementacja regresji kwantylu lasu losowego przy użyciu drzew decyzyjnych. Lasy losowe mogą być pomocne, aby uniknąć naddopasowania, które może wystąpić w przypadku drzew decyzyjnych. Drzewo decyzyjne to binarny wykres blokowy przypominacy drzewo, w którym w każdym węźle wewnętrznym decyduje się, który z dwóch węzłów podrzędnych ma być kontynuowany, na podstawie wartości jednej z cech danych wejściowych.

W każdym węźle liścia jest zwracana wartość. W węzłach wewnętrznych decyzja jest oparta na teście "x≤v", gdzie x jest wartością funkcji w próbce wejściowej, a v jest jedną z możliwych wartości tej funkcji. Wszystkie funkcje, które mogą być produkowane przez drzewo regresji, są stałymi funkcjami fragmentacyjnie.

W lesie losowym grupy drzew są tworzone przy użyciu chłoniaka, aby wybrać podzbiór losowych próbek i cech danych treningowych, a następnie dopasować drzewo decyzyjne do każdego podzestawu danych. W przeciwieństwie do algorytmu lasu losowego, który uśrednia dane wyjściowe wszystkich drzew, szybka regresja kwantylu lasu zachowuje wszystkie przewidywane etykiety w drzewach określonych przez parametr Quantile sample count i wyprowadza rozkład, dzięki czemu użytkownik może wyświetlić wartości kwantylu dla danego wystąpienia.

Aby uzyskać więcej informacji na temat regresji kwantylu, zobacz następujące książki i artykuły:

Parametry modułu

Nazwa Typ Zakres Opcjonalne Opis Domyślny
Tworzenie trybu instruktora CreateLearnerMode List:Single Parameter| Zakres parametrów Wymagane Pojedynczy parametr Tworzenie zaawansowanych opcji dla uczących się
Liczba drzew Liczba całkowita mode:Single Parameter (tryb:pojedynczy parametr) 100 Określanie liczby drzew do skonstruowania
Liczba liści Liczba całkowita mode:Single Parameter (tryb:pojedynczy parametr) 20 Określ maksymalną liczbę liści na drzewo. Liczba domyślna to 20
Minimalna liczba wystąpień trenowania wymaganych do formularza liścia Liczba całkowita mode:Single Parameter (tryb:pojedynczy parametr) 10 Wskazuje minimalną liczbę wystąpień trenowania wymaganych do formularza liścia
Ułamek bagging Float mode:Single Parameter (tryb:pojedynczy parametr) 0.7 Określa ułamek danych treningowych do użycia dla każdego drzewa
Ułamek funkcji Float mode:Single Parameter (tryb:pojedynczy parametr) 0.7 Określa ułamek cech (wybranych losowo) do użycia dla każdego drzewa
Podziel ułamek Float mode:Single Parameter (tryb:pojedynczy parametr) 0.7 Określa ułamek cech (wybranych losowo) do użycia dla każdego podziału
Liczba próbek kwantylu Liczba całkowita Wartość maksymalna: 2147483647 mode:Single Parameter (tryb:pojedynczy parametr) 100 Określa liczbę wystąpień używanych w każdym węźle do oszacowania kwantyli
Kwantyile do oszacowania Ciąg mode:Single Parameter (tryb:pojedynczy parametr) "0.25;0.5;0.75" Określa kwantyl do oszacowania
Iniekt liczb losowych Liczba całkowita Opcjonalne Podaj iniekt dla generatora liczb losowych używanego przez model. Pozostaw wartość domyślną jako pustą.
Zezwalaj na nieznane poziomy kategorii Wartość logiczna Wymagane true W przypadku wartości true należy utworzyć dodatkowy poziom dla każdej kolumny kategorii. Poziomy w testowym zestawie danych niedostępne w zestawie danych treningowych są mapowane na ten dodatkowy poziom.
Maksymalna liczba liści na drzewo ParameterRangeSettings [16;128] mode:Parameter Range 16; 32; 64 Określ zakres dla maksymalnej dozwolonej liczby liści na drzewo
Liczba skonstruowanych drzew ParameterRangeSettings [1;256] mode:Parameter Range 16; 32; 64 Określ zakres maksymalnej liczby drzew, które można utworzyć podczas trenowania
Minimalna liczba próbek na węzeł liścia ParameterRangeSettings [1;10] mode:Parameter Range 1; 5; 10 Określ zakres minimalnej liczby przypadków wymaganych do formularza liścia
Zakres dla ułamka bagging ParameterRangeSettings [0.25;1.0] mode:Parameter Range 0.25; 0.5; 0.75 Określa zakres dla ułamka danych treningowych do użycia dla każdego drzewa
Zakres dla ułamka cech ParameterRangeSettings [0.25;1.0] mode:Parameter Range 0.25; 0.5; 0.75 Określa zakres części cech (wybranych losowo) do użycia dla każdego drzewa
Zakres dla ułamka podzielonego ParameterRangeSettings [0.25;1.0] mode:Parameter Range 0.25; 0.5; 0.75 Określa zakres dla ułamka cech (wybranych losowo) do użycia dla każdego podziału
Liczba prób używana do szacowania kwantyli Liczba całkowita mode:Parameter Range 100 Liczba prób używana do szacowania kwantyli
Wymagane wartości kwantylu Ciąg mode:Parameter Range "0.25;0.5;0.75" Wymagana wartość kwantylu używana podczas czyszczenie parametrów

Dane wyjściowe

Nazwa Typ Opis
Nieprzetrenowany model ILearner, interfejs Nieprzetrenowany model regresji kwantylu, który można połączyć z modułami Train Generic Model (Trenowanie modelu ogólnego) lub Cross Validate Model (Krzyżowa weryfikacja modelu).

Zobacz też

Regresja