FastTreeRankingTrainer 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 drzewa decyzyjnego przy użyciu narzędzia FastTree.
public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
- Dziedziczenie
Uwagi
Aby utworzyć tego trenera, użyj opcji FastTree lub FastTree(Options).
Kolumny wejściowe i wyjściowe
Typ danych etykiety wejściowej musi być typem klucza lub Single. Wartość etykiety określa istotność, gdzie wyższe wartości wskazują na większe znaczenie. Jeśli etykieta jest typem klucza , indeks klucza jest wartością istotności, gdzie najmniejszy indeks jest najmniej istotny. Jeśli etykieta Singleto , większe wartości wskazują na większe znaczenie. Kolumna funkcji musi być znanym wektorem kolumny grupy wierszy wejściowych Single i musi być typem klucza .
Ten trener generuje następujące kolumny:
Nazwa kolumny wyjściowej | Typ kolumny | Opis |
---|---|---|
Score |
Single | Niezwiązany wynik, który został obliczony przez model w celu określenia przewidywania. |
Cechy trenera
Zadanie uczenia maszynowego | Ranking |
Czy normalizacja jest wymagana? | Nie |
Czy buforowanie jest wymagane? | Nie |
Wymagane narzędzie NuGet oprócz Microsoft.ML | Microsoft.ML.FastTree |
Eksportowanie do pliku ONNX | Nie |
Szczegóły algorytmu trenowania
FastTree to wydajna implementacja algorytmu zwiększania gradientu MART . Zwiększanie 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, aby zmierzyć błąd dla każdego kroku i poprawić go w następnym kroku. Dlatego ten model przewidywania jest w rzeczywistości zespołem słabszych modeli przewidywania. W przypadku problemów regresji zwiększenie tworzy serię takich drzew w sposób krok-mądry, a następnie wybiera optymalne drzewo przy użyciu dowolnej funkcji różnicowej utraty.
MART uczy się zespołu drzew regresji, który jest drzewem decyzyjnym z wartościami skalarnymi w liściach. Drzewo decyzyjne (lub regresja) jest binarnym wykresem przepływowym przypominającym drzewo, w którym w każdym węźle wewnętrznym decyduje się na to, które z dwóch węzłów podrzędnych będą 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 utraty, i dodając 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ększenie gradientu (zwiększenie 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, którą oczekuje trener. Może to być |
WeightColumn |
Kolumna wagi, którą oczekuje trener. Może to być |
Właściwości
Info |
Element IEstimator<TTransformer> do trenowania modelu klasyfikacji drzewa decyzyjnego przy użyciu narzędzia FastTree. (Odziedziczone po FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Metody
Fit(IDataView, IDataView) |
Trenuje FastTreeRankingTrainer przy użyciu zarówno danych treningowych, jak i weryfikacyjnych, zwraca wartość RankingPredictionTransformer<TModel>. |
Fit(IDataView) |
Trenuje i zwraca wartość ITransformer. (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Element IEstimator<TTransformer> do trenowania modelu klasyfikacji drzewa decyzyjnego przy użyciu narzędzia 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 względem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejmą wiele danych. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który wywoła 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ólną ITransformerwartość . Jednak w tym samym czasie IEstimator<TTransformer> często są tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania za pośrednictwem EstimatorChain<TLastTransformer> miejsca, w którym 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. |