Utvärdera resultat från automatiserade maskininlärningsexperiment

I den här artikeln får du lära dig hur du utvärderar och jämför modeller som tränats av ditt automatiserade ML-experiment (automatiserad maskininlärning). Under ett automatiserat ML-experiment skapas många jobb och varje jobb skapar en modell. För varje modell genererar automatiserad ML utvärderingsmått och diagram som hjälper dig att mäta modellens prestanda. Du kan ytterligare generera en ansvarsfull AI-instrumentpanel för att utföra en holistisk utvärdering och felsökning av den rekommenderade bästa modellen som standard. Detta inkluderar insikter som modellförklaringar, rättvise- och prestandautforskaren, datautforskaren, modellfelanalys. Läs mer om hur du kan generera en instrumentpanel för ansvarsfull AI.

Automatiserad ML genererar till exempel följande diagram baserat på experimenttyp.

Klassificering Regression/prognostisering
Förvirringsmatris Residualhistogram
ROC-kurva Förutsagt kontra sant
Kurva för precision/träffsäkerhet Prognoshorisont
Ökningskurva
Kumulativ ökningskurva
Kalibreringskurva

Viktigt!

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Förhandsversionen tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Förutsättningar

Visa jobbresultat

När ditt automatiserade ML-experiment har slutförts kan du hitta en historik över jobben via:

Följande steg och video visar hur du visar körningshistorik och modellutvärderingsmått och diagram i studion:

  1. Logga in i studion och gå till din arbetsyta.
  2. I den vänstra menyn väljer du Jobb.
  3. Välj experimentet i listan över experiment.
  4. I tabellen längst ned på sidan väljer du ett automatiserat ML-jobb.
  5. På fliken Modeller väljer du algoritmnamnet för den modell som du vill utvärdera.
  6. På fliken Mått använder du kryssrutorna till vänster för att visa mått och diagram.

Klassificeringsmått

Automatiserad ML beräknar prestandamått för varje klassificeringsmodell som genereras för experimentet. Dessa mått baseras på implementeringen av scikit learn.

Många klassificeringsmått definieras för binär klassificering i två klasser och kräver genomsnitt över klasser för att producera en poäng för klassificering med flera klasser. Scikit-learn innehåller flera medelvärdesmetoder, varav tre automatiserade ML exponerar: makro, mikro och viktad.

  • Makro – Beräkna måttet för varje klass och ta det oviktade genomsnittet
  • Micro – Beräkna måttet globalt genom att räkna de totala sanna positiva identifieringarna, falska negativa och falska positiva identifieringar (oberoende av klasser).
  • Viktad – Beräkna måttet för varje klass och ta det viktade genomsnittet baserat på antalet exempel per klass.

Varje genomsnittsmetod har sina fördelar, men ett vanligt övervägande när du väljer lämplig metod är klassobalans. Om klasser har olika antal exempel kan det vara mer informativt att använda ett makrogenomsnitt där minoritetsklasser ges samma viktning som majoritetsklasser. Läs mer om binära och flerklassiska mått i automatiserad ML.

I följande tabell sammanfattas de modellprestandamått som automatiserad ML beräknar för varje klassificeringsmodell som genereras för experimentet. Mer information finns i scikit-learn-dokumentationen som är länkad i fältet Beräkning för varje mått.

Kommentar

Mer information om mått för bildklassificeringsmodeller finns i avsnittet bildmått.

Mätvärde Description Beräkning
AUC AUC är området under mottagarens operativa egenskapskurva.

Mål: Närmare 1 desto bättre
Intervall: [0, 1]

Måttnamn som stöds är,
  • AUC_macro, det aritmetiska medelvärdet för AUC för varje klass.
  • AUC_micro, beräknad genom att räkna de totala sanna positiva identifieringarna, falska negativa och falska positiva identifieringar.
  • AUC_weighted, aritmetiskt medelvärde för poängen för varje klass, viktat med antalet sanna instanser i varje klass.
  • AUC_binary, värdet för AUC genom att behandla en specifik klass som true klass och kombinera alla andra klasser som false klass.

  • Beräkning
    accuracy Noggrannhet är förhållandet mellan förutsägelser som exakt matchar de sanna klassetiketterna.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]
    Beräkning
    average_precision Genomsnittlig precision sammanfattar en precisionsåterkallningskurva som det viktade medelvärdet av precisioner som uppnås vid varje tröskelvärde, med ökningen av återkallande från det tidigare tröskelvärdet som används som vikt.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]

    Måttnamn som stöds är,
  • average_precision_score_macro, det aritmetiska medelvärdet för den genomsnittliga precisionspoängen för varje klass.
  • average_precision_score_micro, beräknad genom att räkna de totala sanna positiva identifieringarna, falska negativa och falska positiva identifieringar.
  • average_precision_score_weighted, det aritmetiska medelvärdet för den genomsnittliga precisionspoängen för varje klass, viktat med antalet sanna instanser i varje klass.
  • average_precision_score_binary, värdet för genomsnittlig precision genom att behandla en specifik klass som true klass och kombinera alla andra klasser som false klass.
  • Beräkning
    balanced_accuracy Balanserad noggrannhet är det aritmetiska medelvärdet av återkallande för varje klass.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]
    Beräkning
    f1_score F1-poäng är det harmoniska medelvärdet av precision och träffsäkerhet. Det är ett bra balanserat mått på både falska positiva och falska negativa. Det tar dock inte hänsyn till verkliga negativa faktorer.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]

    Måttnamn som stöds är,
  • f1_score_macro: det aritmetiska medelvärdet av F1-poängen för varje klass.
  • f1_score_micro: beräknas genom att räkna det totala antalet sanna positiva identifieringar, falska negativa och falska positiva identifieringar.
  • f1_score_weighted: viktat medelvärde efter klassfrekvens för F1-poäng för varje klass.
  • f1_score_binary, värdet för f1 genom att behandla en specifik klass som true klass och kombinera alla andra klasser som false klass.
  • Beräkning
    log_loss Det här är den förlustfunktion som används i (multinomiell) logistisk regression och tillägg av den, till exempel neurala nätverk, som definieras som den negativa logg-sannolikheten för de sanna etiketterna med tanke på en probabilistisk klassificerares förutsägelser.

    Mål: Närmare 0 desto bättre
    Intervall: [0, inf)
    Beräkning
    norm_macro_recall Normaliserad makroåterkallning återkallar makro i genomsnitt och normaliseras, så att slumpmässiga prestanda har en poäng på 0 och perfekt prestanda har en poäng på 1.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]
    (recall_score_macro - R) / (1 - R)

    där är R det förväntade värdet recall_score_macro för för slumpmässiga förutsägelser.

    R = 0.5 för binär klassificering.
    R = (1 / C) för klassificeringsproblem med C-klass.
    matthews_correlation Matthews korrelationskoefficient är ett balanserat mått på noggrannhet, som kan användas även om en klass har många fler exempel än en annan. En koefficient på 1 indikerar perfekt förutsägelse, 0 slumpmässig förutsägelse och -1 inverterad förutsägelse.

    Mål: Närmare 1 desto bättre
    Intervall: [-1, 1]
    Beräkning
    precision Precision är en modells förmåga att undvika att märka negativa exempel som positiva.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]

    Måttnamn som stöds är,
  • precision_score_macro, det aritmetiska precisionsvärdet för varje klass.
  • precision_score_micro, beräknas globalt genom att räkna de totala sanna positiva och falska positiva identifieringarna.
  • precision_score_weighted, det aritmetiska precisionsvärdet för varje klass, viktat med antalet sanna instanser i varje klass.
  • precision_score_binary, värdet för precision genom att behandla en specifik klass som true klass och kombinera alla andra klasser som false klass.
  • Beräkning
    återkallande Recall är möjligheten för en modell att identifiera alla positiva exempel.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]

    Måttnamn som stöds är,
  • recall_score_macro: det aritmetiska medelvärdet av återkallande för varje klass.
  • recall_score_micro: beräknas globalt genom att räkna de totala sanna positiva identifieringarna, falska negativa och falska positiva identifieringar.
  • recall_score_weighted: det aritmetiska medelvärdet av återkallande för varje klass, viktat med antalet sanna instanser i varje klass.
  • recall_score_binary, värdet för återkallande genom att behandla en specifik klass som true klass och kombinera alla andra klasser som false klass.
  • Beräkning
    weighted_accuracy Viktad noggrannhet är noggrannhet där varje prov viktas av det totala antalet prover som hör till samma klass.

    Mål: Närmare 1 desto bättre
    Intervall: [0, 1]
    Beräkning

    Klassificeringsmått för binär jämfört med flera klasser

    Automatiserad ML identifierar automatiskt om data är binära och tillåter även användare att aktivera binära klassificeringsmått även om data är flerklassiga genom att ange en true klass. Klassificeringsmått för flera klasser rapporteras om en datauppsättning har två eller flera klasser. Binära klassificeringsmått rapporteras endast när data är binära.

    Observera att klassificeringsmått för flera klasser är avsedda för klassificering med flera klasser. När de tillämpas på en binär datauppsättning behandlar dessa mått inte någon klass som true klassen, som du kan förvänta dig. Mått som är tydligt avsedda för multiklasser är suffix med micro, macroeller weighted. Exempel är average_precision_score, f1_score, precision_score, recall_scoreoch AUC. I stället för att beräkna återkallande som tp / (tp + fn), medelvärdet för genomsnittligt återkallande av flera klasser (micro, macro, eller weighted) över båda klasserna i en binär klassificeringsdatauppsättning. Detta motsvarar att beräkna återkallelsen true för klassen och false klassen separat och sedan ta medelvärdet av de två.

    Även om automatisk identifiering av binär klassificering stöds rekommenderar vi ändå att du alltid anger true klassen manuellt för att se till att de binära klassificeringsmåtten beräknas för rätt klass.

    För att aktivera mått för binära klassificeringsdatauppsättningar när själva datauppsättningen är multiklass behöver användarna bara ange vilken klass som ska behandlas som true klass och dessa mått beräknas.

    Förvirringsmatris

    Förvirringsmatriser ger ett visuellt objekt för hur en maskininlärningsmodell gör systematiska fel i sina förutsägelser för klassificeringsmodeller. Ordet "förvirring" i namnet kommer från en modell som är "förvirrande" eller felmärkta exempel. En cell på rad i och kolumn j i en förvirringsmatris innehåller antalet exempel i utvärderingsdatauppsättningen som tillhör klassen C_i och klassificerades av modellen som klass C_j.

    I studion indikerar en mörkare cell ett högre antal exempel. Om du väljer Normaliserad vy i listrutan normaliseras över varje matrisrad för att visa den procent av klassen C_i som förutsägs vara klass C_j. Fördelen med standardvyn raw är att du kan se om obalansen i fördelningen av faktiska klasser gjorde att modellen felklassificerade exempel från minoritetsklassen, ett vanligt problem i obalanserade datamängder.

    Förvirringsmatrisen för en bra modell kommer att ha de flesta prover längs diagonalen.

    Förvirringsmatris för en bra modell

    Confusion matrix for a good model

    Förvirringsmatris för en dålig modell

    Confusion matrix for a bad model

    ROC-kurva

    ROC-kurvan (receiver operating characteristic) ritar relationen mellan sann positiv frekvens (TPR) och falsk positiv frekvens (FPR) när beslutströskeln ändras. ROC-kurvan kan vara mindre informativ när du tränar modeller på datauppsättningar med hög klassobalans, eftersom majoritetsklassen kan överrösta bidrag från minoritetsklasser.

    Området under kurvan (AUC) kan tolkas som andelen korrekt klassificerade prover. Mer exakt är AUC sannolikheten att klassificeraren rangordnar ett slumpmässigt valt positivt urval högre än ett slumpmässigt valt negativt urval. Kurvans form ger en intuition för relationen mellan TPR och FPR som en funktion av klassificeringströskeln eller beslutsgränsen.

    En kurva som närmar sig diagrammets övre vänstra hörn närmar sig en 100 % TPR och 0 % FPR, den bästa möjliga modellen. En slumpmässig modell skulle skapa en ROC-kurva längs y = x linjen från det nedre vänstra hörnet till det övre högra hörnet. En sämre modell än en slumpmässig modell skulle ha en ROC-kurva som sjunker under y = x linjen.

    Dricks

    För klassificeringsexperiment kan vart och ett av linjediagrammen som skapats för automatiserade ML-modeller användas för att utvärdera modellen per klass eller i genomsnitt för alla klasser. Du kan växla mellan dessa olika vyer genom att klicka på klassetiketter i förklaringen till höger om diagrammet.

    ROC-kurva för en bra modell

    ROC curve for a good model

    ROC-kurva för en dålig modell

    ROC curve for a bad model

    Precisionsåterkallningskurva

    Precisionsåterkallningskurvan ritar relationen mellan precision och återkallande när beslutströskeln ändras. Kom ihåg att en modell kan identifiera alla positiva exempel och precision är en modells förmåga att undvika att märka negativa exempel som positiva. Vissa affärsproblem kan kräva högre träffsäkerhet och viss högre precision beroende på den relativa vikten av att undvika falska negativa eller falska positiva identifieringar.

    Dricks

    För klassificeringsexperiment kan vart och ett av linjediagrammen som skapats för automatiserade ML-modeller användas för att utvärdera modellen per klass eller i genomsnitt för alla klasser. Du kan växla mellan dessa olika vyer genom att klicka på klassetiketter i förklaringen till höger om diagrammet.

    Precisionsåterkallningskurva för en bra modell

    Precision-recall curve for a good model

    Precisionsåterkallningskurva för en dålig modell

    Precision-recall curve for a bad model

    Kumulativ ökningskurva

    Den kumulativa vinstkurvan ritar procenten av positiva prover korrekt klassificerade som en funktion av procenten av de prover som beaktas när vi överväger prover i den ordning som förutsägs.

    Om du vill beräkna vinst sorterar du först alla prover från högsta till lägsta sannolikhet som förutsägs av modellen. x% Ta sedan de högsta konfidensförutsägelserna. Dividera antalet positiva prover som identifierats i det med det x% totala antalet positiva prover för att få vinsten. Kumulativ vinst är procentandelen positiva exempel som vi identifierar när vi överväger några procent av de data som mest sannolikt tillhör den positiva klassen.

    En perfekt modell rangordnar alla positiva exempel framför alla negativa exempel som ger en kumulativ vinstkurva som består av två raka segment. Den första är en linje med lutning 1 / x från (0, 0) till (x, 1) där x är fraktionen av exempel som tillhör den positiva klassen (1 / num_classes om klasserna är balanserade). Den andra är en vågrät linje från (x, 1) till (1, 1). I det första segmentet klassificeras alla positiva prover korrekt och kumulativ vinst går till 100% inom det första x% av de prover som beaktas.

    Den slumpmässiga baslinjemodellen har en kumulativ vinstkurva y = x där för x% prover som endast anses vara ungefär x% av de totala positiva exemplen upptäcktes. En perfekt modell för en balanserad datamängd har en mikrogenomsnittskurva och en makrogenomsnittslinje som har lutning num_classes tills den kumulativa vinsten är 100 % och sedan horisontell tills dataprocenten är 100.

    Dricks

    För klassificeringsexperiment kan vart och ett av linjediagrammen som skapats för automatiserade ML-modeller användas för att utvärdera modellen per klass eller i genomsnitt för alla klasser. Du kan växla mellan dessa olika vyer genom att klicka på klassetiketter i förklaringen till höger om diagrammet.

    Kumulativ vinstkurva för en bra modell

    Cumulative gains curve for a good model

    Kumulativ vinstkurva för en dålig modell

    Cumulative gains curve for a bad model

    Ökningskurva

    Lyftkurvan visar hur många gånger bättre en modell presterar jämfört med en slumpmässig modell. Lyft definieras som förhållandet mellan kumulativ vinst och den kumulativa vinsten av en slumpmässig modell (som alltid ska vara 1).

    Den här relativa prestandan tar hänsyn till det faktum att klassificeringen blir svårare när du ökar antalet klasser. (En slumpmässig modell förutsäger felaktigt en högre del av exemplen från en datamängd med 10 klasser jämfört med en datauppsättning med två klasser)

    Baslinjelyftkurvan är den y = 1 linje där modellprestandan är konsekvent med den för en slumpmässig modell. I allmänhet är lyftkurvan för en bra modell högre i diagrammet och längre från x-axeln, vilket visar att när modellen är mest säker på sina förutsägelser presterar den många gånger bättre än slumpmässig gissning.

    Dricks

    För klassificeringsexperiment kan vart och ett av linjediagrammen som skapats för automatiserade ML-modeller användas för att utvärdera modellen per klass eller i genomsnitt för alla klasser. Du kan växla mellan dessa olika vyer genom att klicka på klassetiketter i förklaringen till höger om diagrammet.

    Lyftkurva för en bra modell

    Lift curve for a good model

    Lyftkurva för en dålig modell

    Lift curve for a bad model

    Kalibreringskurva

    Kalibreringskurvan ritar en modells förtroende för sina förutsägelser mot andelen positiva prover på varje konfidensnivå. En välkalibrerad modell klassificerar korrekt 100 % av de förutsägelser som den tilldelar 100 % konfidens, 50 % av de förutsägelser som tilldelas 50 % konfidens, 20 % av de förutsägelser som tilldelas 20 % konfidens och så vidare. En perfekt kalibrerad modell kommer att ha en kalibreringskurva som följer linjen y = x där modellen perfekt förutsäger sannolikheten att prover tillhör varje klass.

    En översäker modell kommer att överförutsäga sannolikheter nära noll och en, vilket sällan är osäkert om klassen för varje prov och kalibreringskurvan ser ut ungefär som bakåt "S". En undersäker modell tilldelar i genomsnitt en lägre sannolikhet till den klass som den förutsäger och den associerade kalibreringskurvan ser ut ungefär som ett "S". Kalibreringskurvan visar inte en modells förmåga att klassificera korrekt, utan i stället dess förmåga att korrekt tilldela förtroende till sina förutsägelser. En dålig modell kan fortfarande ha en bra kalibreringskurva om modellen korrekt tilldelar låg konfidens och hög osäkerhet.

    Kommentar

    Kalibreringskurvan är känslig för antalet prover, så en liten valideringsuppsättning kan ge bullriga resultat som kan vara svåra att tolka. Detta innebär inte nödvändigtvis att modellen inte är väl kalibrerad.

    Kalibreringskurva för en bra modell

    Calibration curve for a good model

    Kalibreringskurva för en dålig modell

    Calibration curve for a bad model

    Regressions-/prognostiseringsmått

    Automatiserad ML beräknar samma prestandamått för varje modell som genereras, oavsett om det är ett regressions- eller prognosexperiment. Dessa mått genomgår också normalisering för att möjliggöra jämförelse mellan modeller som tränats på data med olika intervall. Mer information finns i måttnormalisering.

    I följande tabell sammanfattas de modellprestandamått som genererats för regressions- och prognosexperiment. Precis som klassificeringsmått baseras dessa mått också på scikit learn-implementeringarna. Lämplig scikit learn-dokumentation länkas i enlighet med detta i fältet Beräkning .

    Mätvärde Description Beräkning
    explained_variance Förklarad varians mäter i vilken utsträckning en modell står för variationen i målvariabeln. Det är den procentuella minskningen av variansen för de ursprungliga data till variansen för felen. När medelvärdet för felen är 0 är det lika med bestämningskoefficienten (se r2_score nedan).

    Mål: Närmare 1 desto bättre
    Intervall: (-inf, 1]
    Beräkning
    mean_absolute_error Genomsnittligt absolut fel är det förväntade värdet för absolut skillnad mellan målet och förutsägelsen.

    Mål: Närmare 0 desto bättre
    Intervall: [0, inf)

    Typer:
    mean_absolute_error
    normalized_mean_absolute_error, mean_absolute_error dividerat med dataområdet.
    Beräkning
    mean_absolute_percentage_error Genomsnittligt absolut procentfel (MAPE) är ett mått på den genomsnittliga skillnaden mellan ett förutsagt värde och det faktiska värdet.

    Mål: Närmare 0 desto bättre
    Intervall: [0, inf)
    median_absolute_error Absolut medianfel är medianvärdet för alla absoluta skillnader mellan målet och förutsägelsen. Den här förlusten är robust för extremvärden.

    Mål: Närmare 0 desto bättre
    Intervall: [0, inf)

    Typer:
    median_absolute_error
    normalized_median_absolute_error: median_absolute_error dividerat med dataområdet.
    Beräkning
    r2_score R2 (bestämningskoefficienten) mäter den proportionella minskningen av genomsnittligt kvadratfel (MSE) i förhållande till den totala variansen av observerade data.

    Mål: Närmare 1 desto bättre
    Intervall: [-1, 1]

    Obs! R2 har ofta intervallet (-inf, 1]. MSE kan vara större än den observerade variansen, så R2 kan ha godtyckligt stora negativa värden, beroende på data och modellförutsägelser. Automatiserade ML-klipp rapporterade R2-poäng vid -1, så ett värde på -1 för R2 innebär sannolikt att den sanna R2-poängen är mindre än -1. Tänk på de andra måttvärdena och egenskaperna för data när du tolkar en negativ R2-poäng .
    Beräkning
    root_mean_squared_error RMSE (Root Mean Squared Error) är kvadratroten för den förväntade kvadratskillnaden mellan målet och förutsägelsen. För en opartisk skattare är RMSE lika med standardavvikelsen.

    Mål: Närmare 0 desto bättre
    Intervall: [0, inf)

    Typer:
    root_mean_squared_error
    normalized_root_mean_squared_error: root_mean_squared_error dividerat med dataområdet.
    Beräkning
    root_mean_squared_log_error Rotvärdets kvadratiska loggfel är kvadratroten för det förväntade kvadratiska logaritmiska felet.

    Mål: Närmare 0 desto bättre
    Intervall: [0, inf)

    Typer:
    root_mean_squared_log_error
    normalized_root_mean_squared_log_error: root_mean_squared_log_error dividerat med dataområdet.
    Beräkning
    spearman_correlation Spearman-korrelation är ett icke-parametriskt mått på monotoniteten i relationen mellan två datauppsättningar. Till skillnad från Pearson-korrelationen förutsätter inte Spearman-korrelationen att båda datauppsättningarna normalt distribueras. Liksom andra korrelationskoefficienter varierar Spearman mellan -1 och 1 med 0 vilket innebär att ingen korrelation. Korrelationer av -1 eller 1 innebär en exakt monoton relation.

    Spearman är ett korrelationsmått för rangordning, vilket innebär att ändringar i förutsagda eller faktiska värden inte ändrar Spearman-resultatet om de inte ändrar rangordningen för förutsagda eller faktiska värden.

    Mål: Närmare 1 desto bättre
    Intervall: [-1, 1]
    Beräkning

    Måttnormalisering

    Automatiserad ML normaliserar regressions- och prognostiseringsmått som möjliggör jämförelse mellan modeller som tränats på data med olika intervall. En modell som tränas på data med ett större intervall har ett högre fel än samma modell som tränats på data med ett mindre intervall, såvida inte felet normaliseras.

    Även om det inte finns någon standardmetod för normalisering av felmått, använder automatiserad ML den gemensamma metoden för att dividera felet med dataområdet: normalized_error = error / (y_max - y_min)

    Kommentar

    Dataområdet sparas inte med modellen. Om du drar slutsatsdragning med samma modell på en holdout-testuppsättning y_min och y_max kan ändras beroende på testdata och normaliserade mått kanske inte används direkt för att jämföra modellens prestanda på tränings- och testuppsättningar. Du kan skicka in värdet för y_min och y_max från din träningsuppsättning för att göra jämförelsen rättvis.

    Prognostiseringsmått: normalisering och aggregering

    Beräkning av mått för utvärdering av prognosmodeller kräver vissa särskilda överväganden när data innehåller flera tidsserier. Det finns två naturliga alternativ för att aggregera mått över flera serier:

    1. Ett makrogenomsnitt där utvärderingsmåtten från varje serie ges samma vikt,
    2. Ett mikrogenomsnitt där utvärderingsmått för varje förutsägelse har samma vikt.

    Dessa fall har direkta analogier till makro- och mikrogenomsnitt i klassificering med flera klasser.

    Skillnaden mellan makro- och mikrogenomsnitt kan vara viktig när du väljer ett primärt mått för modellval. Tänk dig till exempel ett detaljhandelsscenario där du vill prognostisera efterfrågan på ett urval av konsumentprodukter. Vissa produkter säljer till mycket högre volymer än andra. Om du väljer en rmse med mikrogenomsnitt som primärt mått är det möjligt att objekt med stora volymer bidrar med en majoritet av modelleringsfelet och därmed dominerar måttet. Modellvalsalgoritmen kan sedan gynna modeller med högre noggrannhet på objekt med hög volym än på lågvolymobjekten. Däremot ger en makrogenomsnittsbaserad, normaliserad RMSE objekt med låg volym ungefär lika stor vikt som objekt med hög volym.

    I följande tabell visas vilket av AutoML:s prognosmått som använder makro jämfört med mikrogenomsnitt:

    Makro i genomsnitt Mikrogenomsnitt
    normalized_mean_absolute_error, normalized_median_absolute_error, normalized_root_mean_squared_error, normalized_root_mean_squared_log_error mean_absolute_error, median_absolute_error, root_mean_squared_error, root_mean_squared_log_error, r2_score, explained_variance, spearman_correlation, mean_absolute_percentage_error

    Observera att makrogenomsnittsmått normaliserar varje serie separat. De normaliserade måtten från varje serie beräknas sedan i genomsnitt för att ge slutresultatet. Rätt val av makro jämfört med mikro beror på affärsscenariot, men vi rekommenderar vanligtvis att du använder normalized_root_mean_squared_error.

    Residualer

    Residualdiagrammet är ett histogram över de förutsägelsefel (residualer) som genereras för regressions- och prognosexperiment. Residualer beräknas som y_predicted - y_true för alla exempel och visas sedan som ett histogram för att visa modellförskjutning.

    Observera i det här exemplet att båda modellerna är något partiska för att förutsäga lägre än det faktiska värdet. Detta är inte ovanligt för en datauppsättning med en skev fördelning av faktiska mål, men indikerar sämre modellprestanda. En bra modell kommer att ha en residualfördelning som toppar på noll med få residualer i ytterligheterna. En sämre modell kommer att ha en utspridd residualfördelning med färre prover runt noll.

    Residualdiagram för en bra modell

    Residuals chart for a good model

    Residualdiagram för en felaktig modell

    Residuals chart for a bad model

    Förutsagt kontra sant

    För regressions- och prognosexperiment ritar det förutsagda eller sanna diagrammet relationen mellan målfunktionen (sanna/faktiska värden) och modellens förutsägelser. De sanna värdena är indelade längs x-axeln och för varje lagerplats ritas det förväntade medelvärdet med felstaplar. På så sätt kan du se om en modell är partisk mot att förutsäga vissa värden. Raden visar den genomsnittliga förutsägelsen och det skuggade området anger variansen för förutsägelser kring det medelvärdet.

    Ofta har det vanligaste sanna värdet de mest exakta förutsägelserna med den lägsta variansen. Trendlinjens avstånd från den idealiska y = x linjen där det finns få sanna värden är ett bra mått på modellprestanda på avvikande värden. Du kan använda histogrammet längst ned i diagrammet för att resonera om den faktiska datafördelningen. Om du inkluderar fler dataexempel där fördelningen är gles kan du förbättra modellens prestanda för osedda data.

    Observera i det här exemplet att den bättre modellen har en förutsagd kontra sann linje som ligger närmare den idealiska y = x linjen.

    Förutsagt kontra sant diagram för en bra modell

    Predicted vs. true chart for a good model

    Förutsagt kontra sant diagram för en dålig modell

    Predicted vs. true chart for a bad model

    Prognoshorisont

    För prognostiseringsexperiment ritar prognoshorisontdiagrammet relationen mellan modellernas förutsagda värde och de faktiska värdena som mappas över tid per korsvalideringsdelegering, upp till 5 gånger. X-axeln mappar tid baserat på den frekvens som du angav under träningskonfigurationen. Den lodräta linjen i diagrammet markerar prognoshorisontpunkten som även kallas horisontlinjen, vilket är den tidsperiod då du vill börja generera förutsägelser. Till vänster om prognoshorisontlinjen kan du visa historiska träningsdata för att bättre visualisera tidigare trender. Till höger om prognoshorisonten kan du visualisera förutsägelserna (den lila linjen) mot de faktiska (den blå linjen) för de olika korsvalideringsveckningarna och tidsserieidentifierarna. Det skuggade lila området anger konfidensintervallen eller variansen för förutsägelser kring det medelvärdet.

    Du kan välja vilka kombinationer av korsvalideringsveckning och tidsserieidentifierare som ska visas genom att klicka på pennikonen redigera i det övre högra hörnet av diagrammet. Välj bland de första 5 korsvalideringsvecken och upp till 20 olika tidsserieidentifierare för att visualisera diagrammet för dina olika tidsserier.

    Viktigt!

    Det här diagrammet är tillgängligt i träningskörningen för modeller som genererats från tränings- och valideringsdata samt i testkörningen baserat på träningsdata och testdata. Vi tillåter upp till 20 datapunkter före och upp till 80 datapunkter efter prognosens ursprung. För DNN-modeller visar det här diagrammet i träningskörningen data från den senaste epoken, dvs. efter att modellen har tränats helt. Det här diagrammet i testkörningen kan ha ett mellanrum före horisontlinjen om valideringsdata uttryckligen angavs under träningskörningen. Detta beror på att träningsdata och testdata används i testkörningen och utelämnar valideringsdata, vilket resulterar i luckor.

    Forecast horizon chart

    Mått för bildmodeller (förhandsversion)

    Automatiserad ML använder avbildningarna från valideringsdatauppsättningen för att utvärdera modellens prestanda. Modellens prestanda mäts på epoknivå för att förstå hur träningen fortskrider. En epok förflutit när en hel datamängd skickas framåt och bakåt genom det neurala nätverket exakt en gång.

    Bildklassificeringsmått

    Det primära måttet för utvärdering är noggrannhet för binär- och flerklassiga klassificeringsmodeller och IoU (skärningspunkt över union) för klassificeringsmodeller med flera etiketter. Klassificeringsmåtten för bildklassificeringsmodeller är desamma som de som definieras i avsnittet klassificeringsmått . De förlustvärden som är associerade med en epok loggas också som kan hjälpa till att övervaka hur träningen fortskrider och avgöra om modellen är överpassande eller underpassande.

    Varje förutsägelse från en klassificeringsmodell är associerad med en konfidenspoäng, vilket anger den konfidensnivå som förutsägelsen gjordes med. Multilabel-bildklassificeringsmodeller utvärderas som standard med ett poängtröskelvärde på 0,5, vilket innebär att endast förutsägelser med minst den här konfidensnivån betraktas som en positiv förutsägelse för den associerade klassen. Multiclass-klassificering använder inte ett poängtröskelvärde, utan i stället betraktas klassen med den maximala konfidenspoängen som förutsägelse.

    Mått på epoknivå för bildklassificering

    Till skillnad från klassificeringsstatistiken för tabelldatauppsättningar loggar bildklassificeringsmodeller alla klassificeringsmått på epoknivå enligt nedan.

    Epoch-level charts for image classification

    Sammanfattningsmått för bildklassificering

    Förutom de skalärmått som loggas på epoknivå loggar bildklassificeringsmodellen även sammanfattningsmått som förvirringsmatris, klassificeringsdiagram inklusive ROC-kurva, precisionsåterkallningskurva och klassificeringsrapport för modellen från den bästa epoken där vi får den högsta primära måttpoängen (noggrannhet).

    Klassificeringsrapport innehåller klassnivåvärden för mått som precision, träffsäkerhet, f1-poäng, stöd, auc och average_precision med olika genomsnittsnivå – mikro, makro och viktat enligt nedan. Se måttdefinitionerna från avsnittet klassificeringsmått .

    Classification report for image classification

    Mått för objektidentifiering och instanssegmentering

    Varje förutsägelse från en bildobjektidentifiering eller instanssegmenteringsmodell är associerad med en konfidenspoäng. Förutsägelserna med förtroendepoäng som är större än poängtröskelvärdet är utdata som förutsägelser och används i måttberäkningen, vars standardvärde är modellspecifikt och kan refereras från hyperparameterns justeringssida (box_score_threshold hyperparameter).

    Måttberäkningen för en bildobjektidentifiering och instanssegmenteringsmodell baseras på en överlappningsmätning som definieras av ett mått som kallas IoU (skärningspunkt över union) som beräknas genom att dela överlappningsområdet mellan mark-sanningen och förutsägelserna efter unionsområdet för mark-sanningen och förutsägelserna. Den IoU som beräknas från varje förutsägelse jämförs med ett överlappande tröskelvärde som kallas ett IoU-tröskelvärde som avgör hur mycket en förutsägelse ska överlappa med en användaranteckningsbaserad grundsanning för att betraktas som en positiv förutsägelse. Om den IoU som beräknas från förutsägelsen är mindre än överlappningströskeln skulle förutsägelsen inte betraktas som en positiv förutsägelse för den associerade klassen.

    Det primära måttet för utvärdering av modeller för identifiering av bildobjekt och instanssegmentering är mAP (mean average precision). mAP är det genomsnittliga värdet för den genomsnittliga precisionen (AP) för alla klasser. Automatiserade ML-objektidentifieringsmodeller stöder beräkningen av mAP med hjälp av de två populära metoderna nedan.

    Pascal VOC-mått:

    Pascal VOC mAP är standardsättet för mAP-beräkning för objektidentifiering/instanssegmenteringsmodeller. Pascal VOC-format mAP-metoden beräknar området under en version av precisionsåterkallningskurvan. First p(ri), som är precision vid recall i beräknas för alla unika återkallningsvärden. p(ri) ersätts sedan med maximal precision som erhålls för alla recall r' >= ri. Precisionsvärdet minskar monotont i den här versionen av kurvan. Pascal VOC mAP-mått utvärderas som standard med ett IoU-tröskelvärde på 0,5. En detaljerad förklaring av det här konceptet finns i den här bloggen.

    COCO-mått:

    COCO-utvärderingsmetoden använder en 101-punkts interpolerad metod för AP-beräkning tillsammans med i genomsnitt över tio IoU-tröskelvärden. AP@[.5:.95] motsvarar den genomsnittliga AP:en för IoU från 0,5 till 0,95 med en stegstorlek på 0,05. Automatiserad ML loggar alla tolv mått som definierats av COCO-metoden, inklusive AP och AR (genomsnittlig återkallelse) i olika skalor i programloggarna medan måttens användargränssnitt endast visar mAP vid ett IoU-tröskelvärde på 0,5.

    Dricks

    Utvärderingen av bildobjektidentifieringsmodellen kan använda coco-mått om validation_metric_type hyperparametern är inställd på "coco" enligt beskrivningen i avsnittet för justering av hyperparameter .

    Mått på epoknivå för objektidentifiering och instanssegmentering

    Värdena för mAP, precision och träffsäkerhet loggas på epoknivå för modeller för identifiering av bildobjekt/instanssegmentering. Måtten mAP, precision och träffsäkerhet loggas också på klassnivå med namnet "per_label_metrics". "per_label_metrics" ska visas som en tabell.

    Kommentar

    Mått på epoknivå för precision, återkallande och per_label_metrics är inte tillgängliga när du använder metoden coco.

    Epoch-level charts for object detection

    Azure Machine Learning Responsible AI-instrumentpanelen innehåller ett enda gränssnitt som hjälper dig att implementera ansvarsfull AI i praktiken på ett effektivt och effektivt sätt. En ansvarsfull AI-instrumentpanel stöds endast med tabelldata och stöds endast för klassificerings- och regressionsmodeller. Den samlar flera mogna ansvarsfulla AI-verktyg inom följande områden:

    • Utvärdering av modellprestanda och rättvisa
    • Datautforskning
    • Maskininlärningstolkning
    • Felanalys

    Även om mått och diagram för modellutvärdering är bra för att mäta modellens allmänna kvalitet, är åtgärder som att inspektera modellens rättvisa, visa dess förklaringar (även kallade vilka datamängdsfunktioner en modell som används för att göra sina förutsägelser), att inspektera dess fel och potentiella blinda fläckar är viktiga när du övar ansvarsfull AI. Därför tillhandahåller automatiserad ML en instrumentpanel för ansvarsfull AI som hjälper dig att observera en mängd olika insikter för din modell. Se hur du visar instrumentpanelen ansvarsfull AI i Azure Machine Learning-studio.

    Se hur du kan generera den här instrumentpanelen via användargränssnittet eller SDK:t.

    Modellförklaringar och funktionsvikter

    Även om modellutvärderingsmått och diagram är bra för att mäta den allmänna kvaliteten på en modell, är det viktigt att kontrollera vilka datamängdsfunktioner en modell använder för att göra förutsägelser när du övar ansvarsfull AI. Därför tillhandahåller automatiserad ML en instrumentpanel för modellförklaringar för att mäta och rapportera relativa bidrag från datamängdsfunktioner. Se hur du visar instrumentpanelen för förklaringar i Azure Machine Learning-studio.

    Kommentar

    Tolkning, bästa modellförklaring, är inte tillgänglig för automatiserade ML-prognosexperiment som rekommenderar följande algoritmer som den bästa modellen eller ensemblen:

    • TCNForecaster
    • AutoArima
    • ExponentialSmoothing
    • Profeten
    • Medel
    • Naiv
    • Säsongsgenomsnitt
    • Säsongsmässig naivitet

    Nästa steg