Sdílet prostřednictvím


One-vs-All Multiclass

Tento článek popisuje, jak používat komponentu One-vs-All Multiclass v návrháři služby Azure Machine Learning. Cílem je vytvořit klasifikační model, který dokáže predikovat více tříd pomocí přístupu 1 a vše .

Tato komponenta je užitečná při vytváření modelů, které predikují tři nebo více možných výsledků, pokud výsledek závisí na souvislých nebo kategorických proměnných prediktoru. Tato metoda také umožňuje použít binární klasifikační metody pro problémy, které vyžadují více výstupních tříd.

Další informace o modelech 1 versus all

Některé klasifikační algoritmy umožňují použití více než dvou tříd návrhem. Ostatní omezují možné výsledky na jednu ze dvou hodnot (binární nebo dvoutřídní model). Ale i binární klasifikační algoritmy lze přizpůsobit pro úlohy klasifikace s více třídami prostřednictvím různých strategií.

Tato komponenta implementuje metodu 1 versus-all, ve které se vytvoří binární model pro každou z více výstupních tříd. Komponenta vyhodnocuje každý z těchto binárních modelů pro jednotlivé třídy proti jeho doplňku (všechny ostatní třídy v modelu), jako by se jednalo o problém binární klasifikace. Kromě výpočetní efektivity (jsou potřeba pouze n_classes klasifikátory), jednou z výhod tohoto přístupu je jeho interpretovatelnost. Vzhledem k tomu, že každá třída je reprezentována pouze jedním a jedním klasifikátorem, je možné získat znalosti o třídě kontrolou odpovídajícího klasifikátoru. Toto je nejčastěji používaná strategie pro klasifikaci s více třídami a je to spravedlivá výchozí volba. Komponenta pak provede predikci spuštěním těchto binárních klasifikátorů a výběrem předpovědi s nejvyšším skóre spolehlivosti.

Komponenta v podstatě vytvoří soubor jednotlivých modelů a pak sloučí výsledky, aby vytvořil jeden model, který predikuje všechny třídy. Jakýkoli binární klasifikátor lze použít jako základ pro model 1 a vše.

Řekněme například, že nakonfigurujete model vektorového vektoru se dvěma třídami a poskytnete ho jako vstup pro komponentu One-vs-All Multiclass. Komponenta by vytvořila modely vektorových vektorů se dvěma třídami podpory pro všechny členy výstupní třídy. Pak by se použila metoda 1 versus-all ke kombinování výsledků pro všechny třídy.

Komponenta používá OneVsRestClassifier sklearn a zde se můžete dozvědět více podrobností.

Jak nakonfigurovat klasifikátor one-vs-all multiclass

Tato komponenta vytvoří soubor binárních klasifikačních modelů pro analýzu více tříd. Pokud chcete tuto komponentu použít, musíte nejprve nakonfigurovat a vytrénovat model binární klasifikace .

Binární model připojíte ke komponentě One-vs-All Multiclass. Pak vytrénujete soubor modelů pomocí trénovacího modelu s označenou trénovací datovou sadou.

Při kombinování modelů vytvoří One-vs-All Multiclass několik binárních klasifikačních modelů, optimalizuje algoritmus pro každou třídu a pak sloučí modely. Komponenta tyto úlohy dělá, i když trénovací datová sada může mít více hodnot tříd.

  1. Přidejte komponentu One-vs-All Multiclass do kanálu v návrháři. Tuto komponentu najdete v části Machine Learning – Initialize (Inicializace) v kategorii Klasifikace .

    Klasifikátor One-vs-All Multiclass nemá žádné konfigurovatelné parametry. Všechna přizpůsobení musí být provedena v binárním klasifikačním modelu, který je poskytován jako vstup.

  2. Přidejte do kanálu binární klasifikační model a nakonfigurujte ho. Můžete například použít dvoutřídní podpůrný vektorový stroj nebo dvoutřídní zesílený rozhodovací strom.

  3. Přidejte do kanálu komponentu Trénování modelu . Připojte netrénovaný klasifikátor, který je výstupem třídy One-vs-All Multiclass.

  4. Na druhém vstupu trénovacího modelu připojte označenou trénovací datovou sadu s více hodnotami tříd.

  5. Odešlete kanál.

Výsledky

Po dokončení trénování můžete pomocí modelu vytvářet předpovědi s více třídami.

Alternativně můžete předat nepřetrénovaný klasifikátor do křížového ověření modelu pro křížové ověření u označené ověřovací datové sady.

Další kroky

Podívejte se na sadu komponent dostupných pro Azure Machine Learning.