Jeden a jeden wieloklasowy

W tym artykule opisano sposób używania składnika One-vs-One Multiclass w projektancie usługi Azure Machine Learning. Celem jest utworzenie modelu klasyfikacji, który może przewidywać wiele klas przy użyciu podejścia "jeden w porównaniu do jednego ".

Ten składnik jest przydatny do tworzenia modeli, które przewidują co najmniej trzy możliwe wyniki, gdy wynik zależy od zmiennych ciągłych lub kategorycznych predyktorów. Ta metoda umożliwia również używanie metod klasyfikacji binarnej w przypadku problemów, które wymagają wielu klas wyjściowych.

Więcej informacji o modelach "jeden a jeden"

Niektóre algorytmy klasyfikacji zezwalają na użycie więcej niż dwóch klas zgodnie z projektem. Inne ograniczają możliwe wyniki do jednej z dwóch wartości (modelu binarnego lub dwuklasowego). Jednak nawet algorytmy klasyfikacji binarnej można dostosować do zadań klasyfikacji wieloklasowej za pomocą różnych strategii.

Ten składnik implementuje metodę "jeden w porównaniu do jednego", w której jest tworzony model binarny dla pary klas. W czasie przewidywania wybierana jest klasa, która otrzymała najwięcej głosów. Ponieważ wymaga dopasowania n_classes * (n_classes - 1) / 2 klasyfikatorów, ta metoda jest zwykle wolniejsza niż jedna w porównaniu do wszystkich ze względu na złożoność O(n_classes^2). Jednak ta metoda może być korzystna dla algorytmów, takich jak algorytmy jądra, które nie są dobrze skalowane za pomocą polecenia n_samples. Wynika to z tego, że każdy problem z nauką obejmuje tylko niewielki podzbiór danych, natomiast z jednym w porównaniu do wszystkich używany jest n_classes kompletny zestaw danych.

W istocie składnik tworzy grupę poszczególnych modeli, a następnie scala wyniki, aby utworzyć pojedynczy model, który przewiduje wszystkie klasy. Każdy klasyfikator binarny może służyć jako podstawa dla modelu jeden i jeden.

Załóżmy na przykład, że skonfigurujesz model dwuklasowej maszyny wektorów nośnych i podajmy to jako dane wejściowe dla składnika Wieloklasy one-vs-one. Składnik tworzyłby dwuklasowe modele maszyn wektorów nośnych dla wszystkich składowych klasy wyjściowej. Następnie zastosuje metodę one-versus-one, aby połączyć wyniki dla wszystkich klas.

Składnik używa klasy OneVsOneClassifier obiektu sklearn i możesz dowiedzieć się więcej tutaj.

Jak skonfigurować klasyfikator wieloklasowy one-vs-one

Ten składnik tworzy zestaw binarnych modeli klasyfikacji do analizowania wielu klas. Aby użyć tego składnika, należy najpierw skonfigurować i wytrenować binarny model klasyfikacji .

Model binarny łączy się ze składnikiem wieloklasowym one-vs-one. Następnie przeszkolisz zestaw modeli przy użyciu trenowania modelu z oznaczonym zestawem danych trenowania.

Po połączeniu modeli funkcja One-vs-One Multiclass tworzy wiele modeli klasyfikacji binarnej, optymalizuje algorytm dla każdej klasy, a następnie scala modele. Składnik wykonuje te zadania, mimo że zestaw danych trenowania może mieć wiele wartości klas.

  1. Dodaj składnik One-vs-One Multiclass do potoku w projektancie. Ten składnik można znaleźć w obszarze Machine Learning — Inicjowanie w kategorii Klasyfikacja .

    Klasyfikator multiklasy one-vs-one nie ma własnych konfigurowalnych parametrów. Wszelkie dostosowania muszą być wykonywane w modelu klasyfikacji binarnej, który jest dostarczany jako dane wejściowe.

  2. Dodaj binarny model klasyfikacji do potoku i skonfiguruj ten model. Możesz na przykład użyć dwuklasowej maszyny wektorów nośnych lub dwuklasowego wzmocnionego drzewa decyzyjnego.

  3. Dodaj składnik Train Model (Trenowanie modelu ) do potoku. Połącz nieuszkodzony klasyfikator, który jest danymi wyjściowymi klasyfikatora one-vs-One Multiclass.

  4. W innych danych wejściowych train model połącz oznaczony etykietą zestaw danych treningowych, który ma wiele wartości klas.

  5. Prześlij potok.

Wyniki

Po zakończeniu trenowania można użyć modelu do tworzenia przewidywań wieloklasowych.

Alternatywnie można przekazać nieprzetrenowany klasyfikator do elementu Cross-Validate Model na potrzeby krzyżowego sprawdzania poprawności względem oznaczonego zestawu danych weryfikacji.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.