Dela via


Utvärdera modellprestanda i Machine Learning Studio (klassisk)

GÄLLER FÖR: Gäller för.Machine Learning Studio (klassisk) Gäller inte för.Azure Machine Learning

Viktigt!

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

I den här artikeln kan du lära dig mer om de mått som du kan använda för att övervaka modellprestanda i Machine Learning Studio (klassisk). Utvärdering av prestanda för en modell är en av de viktigaste stegen i datavetenskapsprocessen. Den anger hur lyckad bedömning (förutsägelser) för en datamängd har varit av en tränad modell. Machine Learning Studio (klassisk) stöder modellutvärdering via två av de viktigaste maskininlärningsmodulerna:

Med de här modulerna kan du se hur din modell presterar när det gäller ett antal mått som ofta används i maskininlärning och statistik.

Utvärdering av modeller bör övervägas tillsammans med:

Tre vanliga övervakade inlärningsscenarier presenteras:

  • regression
  • binär klassificering
  • klassificering med flera klasser

Utvärdering jämfört med korsvalidering

Utvärdering och korsvalidering är standardsätt för att mäta modellens prestanda. Båda genererar utvärderingsmått som du kan inspektera eller jämföra med andra modellers.

Utvärdera modell förväntar sig en poängsatt datauppsättning som indata (eller två om du vill jämföra prestanda för två olika modeller). Därför måste du träna din modell med hjälp av modulen Träna modell och göra förutsägelser på vissa datamängder med hjälp av modulen Poängsätta modell innan du kan utvärdera resultatet. Utvärderingen baseras på de poängsatta etiketterna/sannolikheterna tillsammans med de sanna etiketterna, som alla matas ut av modulen Poängsätta modell .

Du kan också använda korsvalidering för att utföra ett antal träningspoängsbedömeåtgärder (10 gånger) automatiskt på olika delmängder av indata. Indata delas upp i 10 delar, där den ena är reserverad för testning och de andra 9 för träning. Den här processen upprepas 10 gånger och utvärderingsmåtten är genomsnittliga. Detta hjälper dig att avgöra hur väl en modell skulle generalisera till nya datauppsättningar. Modulen Cross-Validate Model tar in en otränad modell och en del märkta datamängder och matar ut utvärderingsresultaten för var och en av de 10 vecken, utöver de genomsnittliga resultaten.

I följande avsnitt skapar vi enkla regressions- och klassificeringsmodeller och utvärderar deras prestanda med hjälp av modulerna Utvärdera modell och Korsvalidera modell .

Utvärdera en regressionsmodell

Anta att vi vill förutsäga en bils pris med hjälp av funktioner som dimensioner, hästkrafter, motorspecifikationer och så vidare. Det här är ett typiskt regressionsproblem, där målvariabeln (priset) är ett kontinuerligt numeriskt värde. Vi kan anpassa en linjär regressionsmodell som, med tanke på funktionsvärdena för en viss bil, kan förutsäga priset på den bilen. Den här regressionsmodellen kan användas för att poängsätta samma datauppsättning som vi har tränat på. När vi har de förväntade bilpriserna kan vi utvärdera modellprestandan genom att titta på hur mycket förutsägelserna avviker från de faktiska priserna i genomsnitt. För att illustrera detta använder vi datamängden Automobile price data (Raw) som är tillgänglig i avsnittet Sparade datamängder i Machine Learning Studio (klassisk).

Skapa experimentet

Lägg till följande moduler på din arbetsyta i Machine Learning Studio (klassisk):

Anslut portarna som visas nedan i bild 1 och ställ in kolumnen Etikett i modulen Träna modell till pris.

Utvärdera en regressionsmodell

Figur 1. Utvärdera en regressionsmodell.

Inspektera utvärderingsresultaten

När du har kört experimentet kan du klicka på utdataporten för modulen Utvärdera modell och välja Visualisera för att se utvärderingsresultaten. Utvärderingsmåtten som är tillgängliga för regressionsmodeller är: Genomsnittligt absolut fel, absolut rotvärdesfel, relativt absolut fel, relativt kvadratfel och bestämningskoefficient.

Termen "fel" här representerar skillnaden mellan det förutsagda värdet och det sanna värdet. Det absoluta värdet eller kvadraten för den här skillnaden beräknas vanligtvis för att samla in den totala felstorleken för alla instanser, eftersom skillnaden mellan det förutsagda och sanna värdet i vissa fall kan vara negativ. Felmåtten mäter förutsägelseprestandan för en regressionsmodell när det gäller medelvärdesavvikelsen för förutsägelserna från de sanna värdena. Lägre felvärden innebär att modellen är mer exakt när det gäller att göra förutsägelser. Ett övergripande felmått på noll innebär att modellen passar data perfekt.

Bestämningskoefficienten, som även kallas R-kvadrat, är också ett standardsätt för att mäta hur väl modellen passar data. Det kan tolkas som den andel av variationen som förklaras av modellen. En högre andel är bättre i det här fallet, där 1 indikerar en perfekt passform.

Utvärderingsmått för linjär regression

Figur 2. Utvärderingsmått för linjär regression.

Använda korsvalidering

Som tidigare nämnts kan du utföra upprepad träning, bedömning och utvärderingar automatiskt med hjälp av modulen Korsvalidera modell . Allt du behöver i det här fallet är en datauppsättning, en otränad modell och en modul för korsvalideringsmodell (se bilden nedan). Du måste ange etikettkolumnen till pris i egenskaperna för modulen Korsvalidera modell .

Korsverifiering av en regressionsmodell

Figur 3. Korsverifiering av en regressionsmodell.

När du har kört experimentet kan du granska utvärderingsresultaten genom att klicka på den högra utdataporten för modulen Korsvalidera modell . Detta ger en detaljerad vy över måtten för varje iteration (vikning) och de genomsnittliga resultaten för vart och ett av måtten (bild 4).

Korsvalideringsresultat för en regressionsmodell

Figur 4. Korsvalideringsresultat för en regressionsmodell.

Utvärdera en binär klassificeringsmodell

I ett scenario med binär klassificering har målvariabeln bara två möjliga resultat, till exempel{ 0, 1} eller {false, true}, {negative, positive}. Anta att du får en datamängd med vuxna anställda med vissa demografiska variabler och anställningsvariabler och att du uppmanas att förutsäga inkomstnivån, en binär variabel med värdena {"<=50 K", ">50 K"}. Med andra ord representerar den negativa klassen de anställda som tjänar mindre än eller lika med 50 K per år, och den positiva klassen representerar alla andra anställda. Precis som i regressionsscenariot skulle vi träna en modell, poängsätta vissa data och utvärdera resultaten. Den största skillnaden här är valet av mått Machine Learning Studio (klassiska) beräkningar och utdata. För att illustrera scenariot med förutsägelse på inkomstnivå använder vi datauppsättningen Vuxen för att skapa ett Studio-experiment (klassiskt) och utvärdera prestandan för en logistisk regressionsmodell med två klasser, en vanlig binär klassificerare.

Skapa experimentet

Lägg till följande moduler på din arbetsyta i Machine Learning Studio (klassisk):

Anslut portarna som visas nedan i bild 5 och ange kolumnen Etikett i modulen Träna modell till inkomst.

Utvärdera en binär klassificeringsmodell

Figur 5. Utvärdera en binär klassificeringsmodell.

Inspektera utvärderingsresultaten

När du har kört experimentet kan du klicka på utdataporten för modulen Utvärdera modell och välja Visualisera för att se utvärderingsresultaten (bild 7). Utvärderingsmåtten som är tillgängliga för binära klassificeringsmodeller är: Precision, Precision, Recall, F1 Score och AUC. Dessutom matar modulen ut en förvirringsmatris som visar antalet sanna positiva identifieringar, falska negativa identifieringar, falska positiva identifieringar och sanna negativa värden, samt ROC-, Precisions-/träffsäkerhets- och lyftkurvor.

Noggrannhet är helt enkelt andelen korrekt klassificerade instanser. Det är vanligtvis det första måttet du tittar på när du utvärderar en klassificerare. Men när testdata är obalanserade (där de flesta instanserna tillhör någon av klasserna), eller om du är mer intresserad av prestanda för någon av klasserna, fångar noggrannheten inte riktigt effektiviteten hos en klassificerare. I klassificeringsscenariot för inkomstnivå antar du att du testar vissa data där 99 % av instanserna representerar personer som tjänar mindre än eller lika med 50 000 per år. Du kan uppnå en noggrannhet på 0,99 genom att förutsäga klassen "<=50K" för alla instanser. Klassificeraren i det här fallet verkar göra ett bra jobb totalt sett, men i verkligheten misslyckas den med att klassificera någon av de höginkomsttagare (1%) korrekt.

Därför är det bra att beräkna ytterligare mått som samlar in mer specifika aspekter av utvärderingen. Innan du går in på information om sådana mått är det viktigt att förstå förvirringsmatrisen för en binär klassificeringsutvärdering. Klassetiketterna i träningsuppsättningen kan bara ha två möjliga värden, som vi vanligtvis kallar positiva eller negativa. De positiva och negativa instanser som en klassificerare förutsäger korrekt kallas sanna positiva (TP) respektive sanna negativa (TN). På samma sätt kallas felaktigt klassificerade instanser för falska positiva identifieringar (FP) och falska negativa (FN). Förvirringsmatrisen är helt enkelt en tabell som visar antalet instanser som ligger under var och en av dessa fyra kategorier. Machine Learning Studio (klassisk) bestämmer automatiskt vilken av de två klasserna i datamängden som är den positiva klassen. Om klassetiketterna är booleska eller heltal tilldelas de märkta instanserna "true" eller "1" den positiva klassen. Om etiketterna är strängar, till exempel med inkomstdatauppsättningen, sorteras etiketterna alfabetiskt och den första nivån väljs till den negativa klassen medan den andra nivån är den positiva klassen.

Binär klassificeringsförvirringsmatris

Figur 6. Binär klassificeringsförvirringsmatris.

Om vi går tillbaka till inkomstklassificeringsproblemet vill vi ställa flera utvärderingsfrågor som hjälper oss att förstå prestandan hos klassificeraren som används. En naturlig fråga är: "Av de individer som modellen förutspådde att tjäna >50 K (TP + FP), hur många klassificerades korrekt (TP)?" Den här frågan kan besvaras genom att titta på modellens precision , vilket är andelen positiva identifieringar som klassificeras korrekt: TP/(TP+FP). En annan vanlig fråga är "Av alla höginkomsttagare med inkomst >50k (TP + FN), hur många klassificeraren klassificera korrekt (TP)". Det här är faktiskt återkallande eller den sanna positiva hastigheten: TP/(TP+FN) för klassificeraren. Du kanske märker att det finns en uppenbar kompromiss mellan precision och återkallelse. Med tanke på en relativt balanserad datamängd skulle till exempel en klassificerare som förutsäger mestadels positiva instanser ha en hög träffsäkerhet, men en ganska låg precision eftersom många av de negativa instanserna skulle vara felklassificerade, vilket resulterar i ett stort antal falska positiva identifieringar. Om du vill se ett diagram över hur dessa två mått varierar kan du klicka på kurvan PRECISION/RECALL på utdatasidan för utvärderingsresultatet (övre vänstra delen av bild 7).

Utvärderingsresultat för binär klassificering

Figur 7. Utvärderingsresultat för binär klassificering.

Ett annat relaterat mått som ofta används är F1-poängen, som tar hänsyn till både precision och återkallande. Det är det harmoniska medelvärdet av dessa två mått och beräknas så här: F1 = 2 (precision x recall) / (precision + träffsäkerhet). F1-poängen är ett bra sätt att sammanfatta utvärderingen i ett enda tal, men det är alltid en bra idé att titta på både precision och återkalla tillsammans för att bättre förstå hur en klassificerare beter sig.

Dessutom kan man inspektera den sanna positiva frekvensen jämfört med den falska positiva frekvensen i ROC-kurvan (Receiver Operating Characteristic) och motsvarande AUC-värde (Area Under the Curve). Ju närmare den här kurvan ligger i det övre vänstra hörnet, desto bättre är klassificerarens prestanda (det är att maximera den sanna positiva hastigheten samtidigt som den falska positiva frekvensen minimeras). Kurvor som ligger nära diagonalen i diagrammet beror på klassificerare som tenderar att göra förutsägelser som är nära slumpmässig gissning.

Använda korsvalidering

Precis som i regressionsexemplet kan vi utföra korsvalidering för att träna, poängsätta och utvärdera olika delmängder av data automatiskt. På samma sätt kan vi använda modulen Korsvalidera modell , en otränad logistisk regressionsmodell och en datauppsättning. Etikettkolumnen måste anges till intäkter i egenskaperna för modulen Korsvalidera modell . När du har kört experimentet och klickat på den högra utdataporten för modulen Cross-Validate Model kan vi se måttvärdena för binär klassificering för varje vik, förutom medelvärdet och standardavvikelsen för varje.

Korsverifiering av en binär klassificeringsmodell

Figur 8. Korsverifiering av en binär klassificeringsmodell.

Korsvalideringsresultat för en binär klassificerare

Figur 9. Korsvalideringsresultat för en binär klassificerare.

Utvärdera en klassificeringsmodell för flera klasser

I det här experimentet använder vi den populära Iris-datamängden , som innehåller instanser av tre olika typer (klasser) av iris-anläggningen. Det finns fyra funktionsvärden (sepallängd/bredd och kronbladslängd/bredd) för varje instans. I föregående experiment tränade och testade vi modellerna med samma datauppsättningar. Här använder vi modulen Dela data för att skapa två delmängder av data, träna på den första och poängsätta och utvärdera den andra. Iris-datauppsättningen är offentligt tillgänglig på UCI Machine Learning-lagringsplatsen och kan laddas ned med hjälp av en importdatamodul .

Skapa experimentet

Lägg till följande moduler på din arbetsyta i Machine Learning Studio (klassisk):

Anslut portarna enligt nedan i bild 10.

Ange kolumnindexet Etikett för modulen Träna modell till 5. Datamängden har ingen rubrikrad, men vi vet att klassetiketterna finns i den femte kolumnen.

Klicka på modulen Importera data och ange egenskapen Datakälla till Webb-URL via HTTP och URL:en till http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data.

Ange den del av instanserna som ska användas för träning i modulen Dela data (till exempel 0,7).

Utvärdera en klassificerare med flera klasser

Figur 10. Utvärdera en klassificerare med flera klasser

Inspektera utvärderingsresultaten

Kör experimentet och klicka på utdataporten för Utvärdera modell. Utvärderingsresultaten presenteras i form av en förvirringsmatris, i det här fallet. Matrisen visar de faktiska kontra förutsagda instanserna för alla tre klasserna.

Utvärderingsresultat för multiklassklassificering

Figur 11. Utvärderingsresultat för multiklassklassificering.

Använda korsvalidering

Som tidigare nämnts kan du utföra upprepad träning, bedömning och utvärderingar automatiskt med hjälp av modulen Korsvalidera modell . Du skulle behöva en datauppsättning, en otränad modell och en modul för korsvalideringsmodell (se bilden nedan). Återigen måste du ange etikettkolumnen för modulen Cross-Validate Model (kolumnindex 5 i det här fallet). När du har kört experimentet och klickat på den högra utdataporten för modellen för korsvalidering kan du granska måttvärdena för varje vikning samt medelvärdet och standardavvikelsen. Måtten som visas här liknar de som beskrivs i det binära klassificeringsfallet. I multiklassklassificering görs dock beräkning av sanna positiva/negativa och falska positiva/negativa resultat genom att räkna per klass, eftersom det inte finns någon övergripande positiv eller negativ klass. När du till exempel beräknar precisionen eller återkallandet av klassen "Iris-setosa" antas det att det här är den positiva klassen och alla andra som negativa.

Korsverifiering av en klassificeringsmodell för flera klasser

Bild 12. Korsverifiering av en klassificeringsmodell för flera klasser.

Korsvalideringsresultat för en klassificeringsmodell med flera klasser

Bild 13. Korsvalideringsresultat för en klassificeringsmodell med flera klasser.