Udostępnij za pośrednictwem


Multiklasa jeden vs-all

W tym artykule opisano sposób używania składnika Jeden-vs-All 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 wszystkich ".

Ten składnik jest przydatny do tworzenia modeli, które przewidują co najmniej trzy możliwe wyniki, gdy wynik zależy od zmiennych prognostycznych ciągłych lub kategorycznych. 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 na temat jednego i wszystkich modeli

Niektóre algorytmy klasyfikacji umożliwiają 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 wszystkich", w której jest tworzony model binarny dla każdej z wielu klas wyjściowych. Składnik ocenia każdy z tych modeli binarnych dla poszczególnych klas pod względem uzupełnienia (wszystkie inne klasy w modelu), tak jakby był to problem klasyfikacji binarnej. Oprócz wydajności obliczeniowej (potrzebne są tylko n_classes klasyfikatory), jedną z zalet tego podejścia jest możliwość interpretacji. Ponieważ każda klasa jest reprezentowana tylko przez jeden i jeden klasyfikator, można uzyskać wiedzę na temat klasy, sprawdzając odpowiedni klasyfikator. Jest to najczęściej używana strategia klasyfikacji wieloklasowej i jest dobrym wyborem domyślnym. Następnie składnik wykonuje przewidywanie, uruchamiając te klasyfikatory binarne i wybierając przewidywanie z najwyższym współczynnikiem ufności.

W istocie składnik tworzy zespół 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 wszystkich.

Załóżmy na przykład, że skonfigurujesz model dwuklasowej maszyny wektorowej obsługi dwóch klas i podajmy go jako dane wejściowe do składnika Wieloklasowego jeden vs-all. Składnik utworzy dwuklasowe modele maszyn wektorów nośnych dla wszystkich elementów członkowskich klasy wyjściowej. Następnie zastosuje metodę one-versus-all, aby połączyć wyniki dla wszystkich klas.

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

Jak skonfigurować klasyfikator wieloklasowy jeden vs-all

Ten składnik tworzy zespół modeli klasyfikacji binarnej w celu analizowania wielu klas. Aby użyć tego składnika, należy najpierw skonfigurować i wytrenować model klasyfikacji binarnej.

Model binarny łączy się ze składnikiem Jednoklasowym i wieloklasowym. Następnie przeszkolisz zespół modeli przy użyciu trenowania modelu z oznaczonym zestawem danych trenowania.

Po połączeniu modeli jedna klasa wieloklasowa 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 klasy.

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

    Klasyfikator multiklasy jeden vs-all nie ma własnych konfigurowalnych parametrów. Wszelkie dostosowania należy wykonać w modelu klasyfikacji binarnej, który jest dostarczany jako dane wejściowe.

  2. Dodaj model klasyfikacji binarnej do potoku i skonfiguruj ten model. Możesz na przykład użyć dwuklasowej maszyny wektorowej obsługi 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 funkcji One-vs-All Multiclass.

  4. W innych danych wejściowych train model połącz zestaw danych trenowania z etykietą training, 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ć nietrenowany klasyfikator do modelu Cross-Validate w celu krzyżowego sprawdzania poprawności względem zestawu danych weryfikacji oznaczonego etykietą.

Następne kroki

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