En-mot-alla-multiklass
Den här artikeln beskriver hur du använder komponenten One-vs-All Multiclass i Azure Machine Learning Designer. Målet är att skapa en klassificeringsmodell som kan förutsäga flera klasser med hjälp av metoden one-versus-all .
Den här komponenten är användbar för att skapa modeller som förutsäger tre eller fler möjliga resultat, när resultatet är beroende av kontinuerliga eller kategoriska förutsägelsevariabler. Med den här metoden kan du också använda binära klassificeringsmetoder för problem som kräver flera utdataklasser.
Mer om en- och alla-modeller
Vissa klassificeringsalgoritmer tillåter användning av fler än två klasser avsiktligt. Andra begränsar möjliga utfall till ett av två värden (en binär modell eller tvåklassmodell). Men även binära klassificeringsalgoritmer kan anpassas för klassificeringsuppgifter med flera klasser genom en mängd olika strategier.
Den här komponenten implementerar metoden one-versus-all, där en binär modell skapas för var och en av de flera utdataklasserna. Komponenten utvärderar var och en av dessa binära modeller för de enskilda klasserna mot dess komplement (alla andra klasser i modellen) som om det vore ett binärt klassificeringsproblem. Förutom dess beräkningseffektivitet (endast n_classes
klassificerare behövs) är en fördel med den här metoden dess tolkningsbarhet. Eftersom varje klass endast representeras av en och en klassificerare är det möjligt att få kunskap om klassen genom att inspektera motsvarande klassificerare. Detta är den vanligaste strategin för klassificering med flera klasser och är ett rättvist standardval. Komponenten utför sedan förutsägelse genom att köra dessa binära klassificerare och välja förutsägelsen med den högsta konfidenspoängen.
I grund och botten skapar komponenten en ensemble av enskilda modeller och sammanfogar sedan resultaten för att skapa en enda modell som förutsäger alla klasser. Valfri binär klassificerare kan användas som grund för en modell med en modell jämfört med alla.
Anta till exempel att du konfigurerar en tvåklassssupportvektordatormodell och anger den som indata till komponenten One-vs-All Multiclass. Komponenten skulle skapa tvåklasssmodeller för stödvektordatorer för alla medlemmar i utdataklassen. Den skulle sedan använda metoden one-versus-all för att kombinera resultaten för alla klasser.
Komponenten använder OneVsRestClassifier av sklearn, och du kan läsa mer information här.
Så här konfigurerar du en-mot-alla-klassificeraren för flera klasser
Den här komponenten skapar en ensemble av binära klassificeringsmodeller för att analysera flera klasser. Om du vill använda den här komponenten måste du konfigurera och träna en binär klassificeringsmodell först.
Du ansluter binärmodellen till komponenten One-vs-All Multiclass. Sedan tränar du ensemblen av modeller med hjälp av Träna modell med en märkt träningsdatauppsättning.
När du kombinerar modellerna skapar One-vs-All Multiclass flera binära klassificeringsmodeller, optimerar algoritmen för varje klass och sammanfogar sedan modellerna. Komponenten utför dessa uppgifter även om träningsdatauppsättningen kan ha flera klassvärden.
Lägg till komponenten One-vs-All Multiclass i din pipeline i designern. Du hittar den här komponenten under Machine Learning – Initialisera i kategorin Klassificering .
Klassificeraren one-vs-all har inga egna konfigurerbara parametrar. Eventuella anpassningar måste göras i den binära klassificeringsmodellen som tillhandahålls som indata.
Lägg till en binär klassificeringsmodell i pipelinen och konfigurera modellen. Du kan till exempel använda tvåklasssstödvektormaskin eller tvåklasssförstärkning av beslutsträd.
Lägg till komponenten Träna modell i pipelinen. Anslut den otränade klassificeraren som är utdata från One-vs-All Multiclass.
Anslut en märkt träningsdatauppsättning som har flera klassvärden på den andra indatan i Train Model.
Skicka pipelinen.
Resultat
När träningen är klar kan du använda modellen för att göra förutsägelser för flera grupper.
Du kan också skicka den otränade klassificeraren till Korsverifieringsmodell för korsvalidering mot en märkt valideringsdatauppsättning.
Nästa steg
Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.