FastTreeBinaryTrainer Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Element IEstimator<TTransformer> do trenowania modelu klasyfikacji binarnej drzewa decyzyjnego przy użyciu rozwiązania FastTree.
public sealed class FastTreeBinaryTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>,Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>
type FastTreeBinaryTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeBinaryTrainer.Options, BinaryPredictionTransformer<CalibratedModelParametersBase<FastTreeBinaryModelParameters, PlattCalibrator>>, CalibratedModelParametersBase<FastTreeBinaryModelParameters, PlattCalibrator>>
Public NotInheritable Class FastTreeBinaryTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeBinaryTrainer.Options, BinaryPredictionTransformer(Of CalibratedModelParametersBase(Of FastTreeBinaryModelParameters, PlattCalibrator)), CalibratedModelParametersBase(Of FastTreeBinaryModelParameters, PlattCalibrator))
- Dziedziczenie
Uwagi
Aby utworzyć tego trenera, użyj polecenia FastTree lub FastTree(Options).
Kolumny wejściowe i wyjściowe
Dane kolumny etykiety wejściowej muszą mieć wartość Boolean. Dane kolumn danych wejściowych muszą być znanym wektorem o rozmiarze Single.
Ten trener wyprowadza następujące kolumny:
Nazwa kolumny wyjściowej | Typ kolumny | Opis | |
---|---|---|---|
Score |
Single | Niezwiązany wynik obliczony przez model. | |
PredictedLabel |
Boolean | Przewidywana etykieta na podstawie znaku wyniku. Wynik ujemny mapuje na false wartości i wynik dodatni jest mapowy na true wartość . |
|
Probability |
Single | Prawdopodobieństwo obliczone przez kalibrowanie wyniku wartości true jako etykiety. Wartość prawdopodobieństwa jest w zakresie [0, 1]. |
Cechy trenera
Zadanie uczenia maszynowego | Klasyfikacja binarna |
Czy normalizacja jest wymagana? | Nie |
Czy buforowanie jest wymagane? | Nie |
Wymagane narzędzie NuGet oprócz Microsoft.ML | Microsoft.ML.FastTree |
Możliwość eksportowania do ONNX | Tak |
Szczegóły algorytmu trenowania
FastTree to wydajna implementacja algorytmu zwiększania gradientu MART . Wzmacnianie gradientu to technika uczenia maszynowego w przypadku problemów z regresją. Tworzy każde drzewo regresji w sposób krokowy, używając wstępnie zdefiniowanej funkcji utraty do mierzenia błędu dla każdego kroku i poprawia go w następnym kroku. Dlatego ten model przewidywania jest w rzeczywistości zespołem słabszych modeli przewidywania. W przypadku problemów z regresją zwiększenie tworzy serię takich drzew w sposób krokowy, a następnie wybiera optymalne drzewo przy użyciu dowolnej funkcji utraty, która może się różnić.
MART uczy się zespołu drzew regresji, czyli drzewa decyzyjnego z wartościami skalarnymi w liściach. Drzewo decyzyjne (lub regresja) jest binarnym wykresem blokowym przypominającym drzewo, gdzie w każdym węźle wewnętrznym decyduje, które z dwóch węzłów podrzędnych mają być nadal oparte na jednej z wartości funkcji z danych wejściowych. W każdym węźle liścia zwracana jest wartość. W węzłach wewnętrznych decyzja jest oparta na teście x <= v, gdzie x jest wartością funkcji w przykładzie wejściowym, a v jest jedną z możliwych wartości tej funkcji. Funkcje, które mogą być tworzone przez drzewo regresji, to wszystkie funkcje stałe mądre.
Zespół drzew jest generowany przez obliczenia, w każdym kroku, drzewo regresji, które przybliża gradient funkcji straty i dodaje je do poprzedniego drzewa ze współczynnikami, które minimalizują utratę nowego drzewa. Dane wyjściowe zespołu utworzonego przez mart w danym wystąpieniu są sumą danych wyjściowych drzewa.
- W przypadku problemu z klasyfikacją binarną dane wyjściowe są konwertowane na prawdopodobieństwo przy użyciu jakiejś formy kalibracji.
- W przypadku problemu z regresją dane wyjściowe są przewidywaną wartością funkcji.
- W przypadku problemu z klasyfikacją wystąpienia są uporządkowane według wartości wyjściowej zespołu.
Aby uzyskać więcej informacji, zobacz:
- Wikipedia: Zwiększanie gradientu (zwiększanie drzewa gradientowego).
- Przybliżenie funkcji chciwości: maszyna zwiększająca gradient.
Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.
Pola
FeatureColumn |
Kolumna funkcji, której oczekuje trener. (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
Opcjonalna kolumna groupID oczekiwana przez trenerów klasyfikacji. (Odziedziczone po TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
Kolumna etykiety oczekiwana przez trenera. Może to być |
WeightColumn |
Kolumna wagi oczekiwana przez trenera. Może to być |
Właściwości
Info |
Element IEstimator<TTransformer> do trenowania modelu klasyfikacji binarnej drzewa decyzyjnego przy użyciu rozwiązania FastTree. (Odziedziczone po FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Metody
Fit(IDataView, IDataView) |
Trenuje FastTreeBinaryTrainer przy użyciu zarówno danych trenowania, jak i walidacji, zwraca wartość BinaryPredictionTransformer<TModel>. |
Fit(IDataView) |
Trenuje i zwraca wartość ITransformer. (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Element IEstimator<TTransformer> do trenowania modelu klasyfikacji binarnej drzewa decyzyjnego przy użyciu rozwiązania FastTree. (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
Metody rozszerzania
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Dołącz "punkt kontrolny buforowania" do łańcucha narzędzia do szacowania. Zapewni to, że narzędzia do szacowania podrzędnego zostaną wytrenowane pod kątem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejdą wiele danych. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który będzie wywoływać delegata po Fit(IDataView) wywołaniu. Często ważne jest, aby narzędzie do szacowania zwracało informacje o tym, co było odpowiednie, dlatego Fit(IDataView) metoda zwraca specjalnie wpisany obiekt, a nie tylko ogólny ITransformerelement . Jednak w tym samym czasie IEstimator<TTransformer> są często tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania, za pośrednictwem EstimatorChain<TLastTransformer> którego narzędzie do szacowania, dla którego chcemy uzyskać transformator jest pochowany gdzieś w tym łańcuchu. W tym scenariuszu możemy za pomocą tej metody dołączyć delegata, który zostanie wywołany po wywołaniu dopasowania. |