Udostępnij za pośrednictwem


FastTreeBinaryTrainer Klasa

Definicja

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 truewartość .
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:

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ć null, co oznacza, że etykieta nie jest używana do trenowania.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Kolumna wagi oczekiwana przez trenera. Może to być null, co oznacza, że waga nie jest używana do trenowania.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)

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.

Dotyczy

Zobacz też