Multiklasa jeden vs-all

W tym artykule opisano sposób używania składnika Multiklasy "Jeden vs-All" 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 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 na temat jednego i wszystkich modeli

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 wszystkich", w której dla każdej z wielu klas wyjściowych jest tworzony model binarny. Składnik ocenia każdy z tych modeli binarnych dla poszczególnych klas pod kątem jego uzupełnienia (wszystkie inne klasy w modelu), tak jakby był to problem z klasyfikacją binarną. 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 jej odpowiedni klasyfikator. Jest to najczęściej używana strategia klasyfikacji wieloklasowej i jest uczciwym 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 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 w porównaniu do wszystkich".

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

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

Jak skonfigurować klasyfikator wieloklasowy jeden vs-all

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-all. Następnie przeszkolisz zestaw modeli przy użyciu trenowania modelu z oznaczonym zestawem danych trenowania.

Po połączeniu modeli funkcja One-vs-All 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-All Multiclass do potoku w projektancie. Ten składnik można znaleźć w obszarze Machine Learning — Inicjowanie w kategorii Klasyfikacja .

    Klasyfikator wieloklasowy z jednym vs-all 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 funkcji One-vs-All 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.