Poisson-regression
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.
- Se information om hur du flyttar maskininlärningsprojekt från ML Studio (klassisk) till Azure Machine Learning.
- Läs mer om Azure Machine Learning.
Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.
Skapar en regressionsmodell som förutsätter att data har en Poisson-fördelning
Kategori: Machine Learning/initiera modell/regression
Anteckning
Gäller endast för: Machine Learning Studio (klassisk)
Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.
Modulöversikt
I den här artikeln beskrivs hur du använder Poisson-regressionsmodulen i Machine Learning Studio (klassisk) för att skapa en Poisson-regressionsmodell.
Poisson-regression är avsedd att användas i regressionsmodeller som används för att förutsäga numeriska värden, vanligtvis antal. Därför bör du bara använda den här modulen för att skapa regressionsmodellen om de värden som du försöker förutsäga passar följande villkor:
Svarsvariabeln har en Poisson-fördelning.
Antal får inte vara negativa. Metoden misslyckas direkt om du försöker använda den med negativa etiketter.
En Poisson-fördelning är en diskret fördelning. Därför är det inte meningsfullt att använda den här metoden med icke-heltal.
Tips
Om målet inte räknas är Poisson-regression förmodligen inte en lämplig metod. Prova någon av de andra modulerna i den här kategorin. Hjälp med att välja en regressionsmetod finns i Machine Learning lathund för algoritmer.
När du har ställt in regressionsmetoden måste du träna modellen med hjälp av en datauppsättning som innehåller exempel på det värde som du vill förutsäga. Den tränade modellen kan sedan användas för att göra förutsägelser.
Mer om Poisson-regression
Poisson-regression är en särskild typ av regressionsanalys som vanligtvis används för att modellera antal. Poisson-regression skulle till exempel vara användbart i följande scenarier:
Modellera antalet förkylningar som är associerade med flygplansresor
Uppskatta antalet utryckningssamtal under en händelse
Projicera antalet kundfrågor efter en befordran
Skapa nödtabeller
Eftersom svarsvariabeln har en Poisson-fördelning gör modellen olika antaganden om data och dess sannolikhetsfördelning än till exempel minsta-kvadrat-regression. Därför bör Poisson-modeller tolkas annorlunda än andra regressionsmodeller.
Så här konfigurerar du Poisson-regression
Lägg till Poisson Regression-modulen i experimentet i Studio (klassisk).
Du hittar den här modulen under Machine Learning - Initiera i kategorin Regression.
Lägg till en datauppsättning som innehåller träningsdata av rätt typ.
Vi rekommenderar att du använder Normalize Data (Normalisera data) för att normalisera indatauppsättningen innan du använder den för att träna regresatorn.
I fönstret Egenskaper i Poisson-regressionsmodulen anger du hur du vill att modellen ska tränas genom att ange alternativet Skapa utbildarläge .
Enskild parameter: Om du vet hur du vill konfigurera modellen anger du en specifik uppsättning värden som argument.
Parameterintervall. Om du inte är säker på de bästa parametrarna kan du göra en parametersökning med hjälp av modulen Tune Model Hyperparameters . Utbildaren itererar över flera värden som du anger för att hitta den optimala konfigurationen.
Optimeringstolerans: Ange ett värde som definierar toleransintervallet under optimeringen. Ju lägre värde, desto långsammare och mer exakt anpassning.
L1-regulariseringsviktoch L2-regulariseringsvikt: Typvärden som ska användas för L1- och L2-regularisering. Regularisering lägger till begränsningar i algoritmen för aspekter av modellen som är oberoende av träningsdata. Regularisering används ofta för att undvika överanpassning.
L1-regularisering är användbart om målet är att ha en modell som är så gles som möjligt.
L1-regularisering görs genom att subtrahera viktningsvektorn L1 från det förlustuttryck som eleven försöker minimera. L1-normen är en bra uppskattning av L0-normen, som är antalet koordinater som inte är noll.
L2-regularisering förhindrar att enskilda koordinater i viktvektorn växer för mycket. L2-regularisering är användbart om målet är att ha en modell med små övergripande vikter.
I den här modulen kan du använda en kombination av L1- och L2-regulariseringar. Genom att kombinera L1- och L2-regularisering kan du tillämpa en påföljd för parametervärdenas omfattning. Eleven försöker minimera straffet i en kompromiss med att minimera förlusten.
En bra diskussion om regularisering av L1 och L2 finns i L1- och L2-regularisering för Machine Learning.
Minnesstorlek för L-BFGS: Ange hur mycket minne som ska reserveras för modellkoppling och optimering.
L-BFGS är en specifik optimeringsmetod som baseras på algoritmen Broyden–Fletcher–Goldfarb–Hashno (GS). Metoden använder en begränsad mängd minne (L) för att beräkna nästa stegriktning.
Genom att ändra den här parametern kan du påverka antalet tidigare positioner och toningar som lagras för beräkning i nästa steg.
Anslut träningsdatauppsättningen och den tränade modellen till någon av träningsmodulerna:
Om du ställer in läget Skapa utbildarepå Enkel parameter använder du modulen Träna modell.
Om du ställer in läget Skapa utbildarepå Parameterintervall använder du modulen Hyperparametrar för finjusteringsmodell .
Varning
Om du skickar ett parameterintervall till Train Model (Träna modell) används bara det första värdet i listan med parameterintervall.
Om du skickar en enda uppsättning parametervärden till modulen Hyperparameters för tune model ignoreras värdena och standardvärdena för learner används när ett antal inställningar för varje parameter förväntas.
Om du väljer alternativet Parameterintervall och anger ett enda värde för en parameter används det enskilda värde som du angav under hela omfånget, även om andra parametrar ändras över ett värdeintervall.
Kör experimentet för att träna modellen.
Exempel
Exempel på hur Poisson-regression används i maskininlärning finns i Azure AI Gallery.
Exempel 6: Träna, testa, utvärdera för regression: Datauppsättning för automatisk import: Det här experimentet jämför resultatet av två algoritmer: Poisson Regression och Decision Forest Regression.
Förebyggande underhåll: En utökad genomgång som använder Poisson-regression för att utvärdera allvarlighetsgraden för fel som förutsägs av en beslutsskogsmodell.
Teknisk information
Poisson-regression används för att modellera antalsdata, förutsatt att etiketten har en Poisson-fördelning. Du kan till exempel använda den för att förutsäga antalet samtal till ett kundsupportcenter en viss dag.
För den här algoritmen förutsätts att en okänd funktion, som kallas Y, har en Poisson-fördelning. Poisson-fördelningen definieras på följande sätt:
Med tanke på instansen x = (x0, ..., xd-1) beräknar modulen sannolikheten att instansens värde är k för varje k=0,1.
Med tanke på uppsättningen träningsexempel försöker algoritmen hitta de optimala värdena för para0, ...,års-1 genom att försöka maximera loggrisken för parametrarna. Sannolikheten för parametrarna central0, ...,ihåg-1 är sannolikheten att träningsdata samplas från en distribution med dessa parametrar.
Loggsannolikhet kan visas som logp(y = tier)
Förutsägelsefunktionen matar ut det förväntade värdet för den parametriserade Poisson-fördelningen, mer specifikt: fw,b(x) = E[Y|x] = ewTx+b.
Mer information finns i posten för Poisson-regression på Wikipedia.
Modulparametrar
Name | Intervall | Typ | Standardvärde | Description |
---|---|---|---|---|
Optimeringstolerans | >=double. Epsilon | Float | 0.0000001 | Ange ett toleransvärde för optimeringskonvergens. Ju lägre värde, desto långsammare och mer exakt anpassning. |
L1-regulariseringsvikt | >=0,0 | Float | 1.0 | Ange regulariseringsvikten L1. Använd ett värde som inte är noll för att undvika att modellen överanpassas. |
L2-regulariseringsvikt | >=0,0 | Float | 1.0 | Ange regulariseringsvikten L2. Använd ett värde som inte är noll för att undvika att modellen överanpassas. |
Minnesstorlek för L-BFGS | >=1 | Integer | 20 | Ange hur mycket minne (i MB) som ska användas för L-BFGS-optimeraren. Med mindre minne är träningen snabbare men mindre exakt. |
Slumptals seed | valfri | Integer | Ange ett värde för att seeda slumptalsgeneratorn som används av modellen. Lämna tomt som standard. | |
Tillåt okända kategoriska nivåer | valfri | Boolesk | true | Ange om ytterligare en nivå ska skapas för varje kategorisk kolumn. Alla nivåer i testdatamängden som inte är tillgängliga i träningsdatamängden mappas till den här ytterligare nivån. |
Utdata
Namn | Typ | Description |
---|---|---|
Ej tränad modell | ILearner-gränssnitt | En omtränad regressionsmodell |