PairwiseCouplingTrainer 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 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
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
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. |