Udostępnij za pośrednictwem


PairwiseCouplingTrainer Klasa

Definicja

Element IEstimator<TTransformer> do trenowania sprzężenia parowego klasyfikatora wieloklasowego, który używa określonego klasyfikatora binarnego.

public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
    inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
Dziedziczenie

Uwagi

Aby utworzyć ten trener, użyj metody PairwiseCoupling.

Kolumny wejściowe i wyjściowe

Dane kolumny etykiety wejściowej muszą być typem klucza , a kolumna funkcji musi być znanym wektorem Single.

Ten trener wyprowadza następujące kolumny:

Nazwa kolumny wyjściowej Typ kolumny Opis
Score Wektor Single Wyniki wszystkich klas. Wyższa wartość oznacza większe prawdopodobieństwo, że należy do skojarzonej klasy. Jeśli element i-th ma największą wartość, przewidywany indeks etykiety będzie i. Należy pamiętać, że i jest indeksem opartym na zera.
PredictedLabel typ klucza Indeks przewidywanej etykiety. Jeśli jej wartość to i, rzeczywista etykieta będzie kategorią i-th w typie etykiety wejściowej z wartością klucza.

Cechy trenera

Zadanie uczenia maszynowego Klasyfikacja wieloklasowa
Czy normalizacja jest wymagana? Zależy od bazowego klasyfikatora binarnego
Czy buforowanie jest wymagane? Tak
Wymagane narzędzie NuGet oprócz Microsoft.ML Brak
Możliwość eksportowania do ONNX Nie

Szczegóły algorytmu trenowania

W tej strategii algorytm klasyfikacji binarnej jest trenowany dla każdej pary klas. Pary są nieurządkowane, ale tworzone z zastąpieniem: więc jeśli istnieją trzy klasy, 0, 1, 2, będziemy trenować klasyfikatory dla par (0,0), (0,1), (0,2), (1,1), (1,2) i (2,2). Dla każdego klasyfikatora binarnego punkt danych wejściowych jest traktowany jako pozytywny przykład, jeśli znajduje się w jednej z dwóch klas w parze, a w przeciwnym razie jest to negatywny przykład. W czasie przewidywania prawdopodobieństwa dla każdej pary klas są traktowane jako prawdopodobieństwo, że znajduje się w dowolnej klasie pary, biorąc pod uwagę dane, a końcowe prawdopodobieństwa predykcyjne z danej klasy są obliczane, biorąc pod uwagę prawdopodobieństwo, że przykład znajduje się w dowolnej danej parze.

Może to umożliwić wykorzystanie trenerów, które nie mają naturalnie opcji wieloklasowej, na przykład przy użyciu polecenia FastTreeBinaryTrainer , aby rozwiązać problem wieloklasowy. Alternatywnie, może pozwolić ML.NET rozwiązać "prostszy" problem nawet w przypadkach, gdy trener ma opcję wieloklasową, ale używanie jej bezpośrednio nie jest praktyczne ze względu na ograniczenia pamięci, zwykle. Na przykład, podczas gdy regresja logistyczna wieloklasowa jest bardziej pryncyjnym sposobem rozwiązania problemu wieloklasowego, wymaga, aby trener przechowywał o wiele bardziej pośredni stan w postaci historii L-BFGS dla wszystkich klas jednocześnie, a nie tylko jeden po drugim, co byłoby potrzebne dla modelu klasyfikacji sprzęgania parowego.

Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.

Właściwości

Info

Element IEstimator<TTransformer> do trenowania sprzężenia parowego klasyfikatora wieloklasowego, który używa określonego klasyfikatora binarnego.

(Odziedziczone po MetaMulticlassTrainer<TTransformer,TModel>)

Metody

Fit(IDataView)

Dopasowuje dane do transformatora

GetOutputSchema(SchemaShape)

Pobiera kolumny wyjściowe.

(Odziedziczone po MetaMulticlassTrainer<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ż