En-mot-alla-multiklass

I den här artikeln beskrivs hur du använder komponenten One-vs-All Multiclass i Azure Machine Learning-designern. Målet är att skapa en klassificeringsmodell som kan förutsäga flera klasser med hjälp av metoden en eller alla .

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-till-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 beräkningseffektiviteten (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ägelsen genom att köra dessa binära klassificerare och välja förutsägelsen med den högsta konfidenspoängen.

I huvudsak skapar komponenten en ensemble med 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åklasss stödvektormaskinmodell och anger den som indata till komponenten One-vs-All Multiclass. Komponenten skulle skapa tvåklasss stödvektormaskinmodeller för alla medlemmar i utdataklassen. Då skulle metoden one-versus-all användas för att kombinera resultaten för alla klasser.

Komponenten använder OneVsRestClassifier av sklearn och du kan läsa mer här.

Så här konfigurerar du en-till-alla-multiklassificeraren

Den här komponenten skapar en ensemble av modeller för binär klassificering för att analysera flera klasser. Om du vill använda den här komponenten måste du först konfigurera och träna en binär klassificeringsmodell .

Du ansluter den binära modellen till komponenten One-vs-All Multiclass. Sedan tränar du ensemblen med 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 modeller för binär klassificering, 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.

  1. Lägg till komponenten One-vs-All Multiclass i din pipeline i designern. Du hittar den här komponenten under Machine Learning – Initiera i kategorin Klassificering .

    En-mot-alla-klassificeraren med flera klasser har inga egna konfigurerbara parametrar. Eventuella anpassningar måste göras i den binära klassificeringsmodellen som tillhandahålls som indata.

  2. Lägg till en binär klassificeringsmodell i pipelinen och konfigurera den modellen. Du kan till exempel använda tvåklasssstödvektormaskin eller tvåklass-förbättrat beslutsträd.

  3. Lägg till komponenten Train Model (Träna modell) i pipelinen. Anslut den otränade klassificeraren som är utdata från One-vs-All Multiclass.

  4. Anslut en märkt träningsdatauppsättning som har flera klassvärden på de andra indata i Träningsmodell.

  5. Skicka pipelinen.

Resultat

När träningen är klar kan du använda modellen för att göra förutsägelser med flera klasser.

Du kan också skicka den otränade klassificeraren till Korsvalideringsmodell 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.