Exempel på frågor för logistisk regressionsmodell

Gäller för: SQL Server 2019 och tidigare Analysis Services Azure Analysis Services Fabric/Power BI Premium

Viktigt!

Datautvinningen upphörde i SQL Server 2017 Analysis Services och upphörde nu i SQL Server 2022 Analysis Services. Dokumentationen uppdateras inte för inaktuella och utgångna funktioner. Mer information finns i Analysis Services bakåtkompatibilitet.

När du skapar en fråga mot en datautvinningsmodell kan du skapa en innehållsfråga som innehåller information om de mönster som identifieras i analysen, eller så kan du skapa en förutsägelsefråga som använder mönstren i modellen för att göra förutsägelser med hjälp av nya data.

I det här avsnittet beskrivs hur du skapar frågor för modeller som baseras på Microsoft Logistic Regression-algoritmen.

Innehållsfrågor

Hämta modellparametrar med hjälp av datautvinningsschemaraduppsättningen

Hitta ytterligare information om modellen med DMX

Förutsägelsefrågor

Göra förutsägelser för ett kontinuerligt värde

Göra förutsägelser för ett diskret värde

Få information om logistisk regressionsmodell

Logistiska regressionsmodeller skapas med hjälp av Microsoft Neural Network-algoritmen med en särskild uppsättning parametrar. Därför har en logistisk regressionsmodell en del av samma information som en modell för neurala nätverk, men är mindre komplex. Information om strukturen för modellinnehållet och vilka nodtyper som lagrar vilken typ av information finns i Mining Model Content for Logistic Regression Models (Analysis Services – Data Mining).

Om du vill följa med i frågescenarierna kan du skapa en logistisk regressionsmodell enligt beskrivningen i följande avsnitt i självstudiekursen om mellanliggande datautvinning: Lektion 5: Skapa neurala nätverk och logistiska regressionsmodeller (självstudie om mellanliggande datautvinning).

Du kan också använda datagruvstrukturen Riktad Utskick från Självstudiekursen Grundläggande Datautvinning.

ALTER MINING STRUCTURE [Targeted Mailing]  
ADD MINING MODEL [TM_Logistic Regression]  
([Customer Key],  
[Age],  
[Bike Buyer] PREDICT,  
[Yearly Income] PREDICT,  
[Commute Distance],  
[English Education],  
Gender,  
[House Owner Flag],  
[Marital Status],  
[Number Cars Owned],  
[Number Children At Home],  
[Region],  
[Total Children]  
)  
USING Microsoft_Logistic_Regression  

Exempelfråga 1: Hämtar modellparametrar med hjälp av datautvinningsschemaraduppsättningen

Genom att fråga datautvinningsschemaraduppsättningen kan du hitta metadata om modellen, till exempel när den skapades, när modellen senast bearbetades, namnet på den gruvstruktur som modellen baseras på och namnet på kolumnen som används som förutsägbart attribut. I följande exempel returneras de parametrar som användes när modellen först skapades, tillsammans med modellens namn och typ och det datum då den skapades.

SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Call Center_LR'  

Exempelresultat:

MODEL_NAME SERVICE_NAME DATE_CREATED MINING_PARAMETERS
Callcenter_LR Microsoft_Logistic_Regression 04/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000

Exempelfråga 2: Hitta ytterligare information om modellen med DMX

Följande fråga returnerar grundläggande information om den logistiska regressionsmodellen. En logistisk regressionsmodell liknar en neural nätverksmodell på många sätt, inklusive förekomsten av en marginalstatistiknod (NODE_TYPE = 24) som beskriver de värden som används som indata. Den här exempelfrågan använder riktad utskicksmodell och hämtar värdena för alla indata genom att hämta dem från den kapslade tabellen "NODE_DISTRIBUTION".

SELECT FLATTENED NODE_DISTRIBUTION AS t  
FROM [TM_Logistic Regression].CONTENT   

Partiella resultat:

t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.SANNOLIKHET t.VARIANCE t.VALUETYPE
Ålder Försvunnen 0 0 0 1
Ålder 45.43491192 17484 1 126.9544114 3
Cykelköpare Försvunnen 0 0 0 1
Cykelköpare 0 8869 0.507263784 0 4
Cykelköpare 1 8615 0.492736216 0 4
Pendlingsavstånd Försvunnen 0 0 0 1
Pendlingsavstånd 5-10 mil 3033 0.173472889 0 4

Den faktiska frågan returnerar många fler rader. Det här exemplet illustrerar dock vilken typ av information som tillhandahålls om indata. För diskreta indata visas varje möjligt värde i tabellen. För kontinuerliga värdeindata, till exempel Ålder, är en fullständig lista omöjlig, så indata är diskreta som ett medelvärde. Mer information om hur du använder informationen i noden marginalstatistik finns i Mining Model Content for Logistic Regression Models (Analysis Services – Data Mining).

Anmärkning

Resultatet har plattats ut för enklare visning, men du kan returnera den kapslade tabellen i en enda kolumn om providern stöder hierarkiska rader.

Förutsägelsefrågor på en logistisk regressionsmodell

Du kan använda funktionen Predict (DMX) med alla typer av gruvmodeller för att tillhandahålla nya data till modellen och göra förutsägelser baserat på de nya värdena. Du kan också använda funktioner för att returnera ytterligare information om förutsägelsen, till exempel sannolikheten att en förutsägelse är korrekt. Det här avsnittet innehåller några exempel på förutsägelsefrågor för en logistisk regressionsmodell.

Exempelfråga 3: Göra förutsägelser för ett kontinuerligt värde

Eftersom logistisk regression stöder användning av kontinuerliga attribut för både indata och förutsägelse är det enkelt att skapa modeller som korrelerar olika faktorer i dina data. Du kan använda förutsägelsefrågor för att utforska relationen mellan dessa faktorer.

Följande frågeexempel baseras på Call Center-modellen från den mellanliggande handledningen och skapar en enskild fråga som förutspår tjänstgraden för fredagens förmiddagskift. Funktionen PredictHistogram (DMX) returnerar en kapslad tabell som ger statistik som är relevant för att förstå giltigheten för det förutsagda värdet.

SELECT  
  Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,  
  PredictHistogram([Call Center_LR].[Service Grade]) as [Results],  
FROM  
  [Call Center_LR]  
NATURAL PREDICTION JOIN  
(SELECT 'Friday' AS [Day Of Week],  
  'AM' AS [Shift]) AS t  

Exempelresultat:

Förutsagd tjänstklass Tjänstklass $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0.102601830123659 0.102601830123659 83.0232558139535 0.988372093023256 0 0.00120552660600087 0.034720694203902
0.976744186046512 0.0116279069767442 0.0116279069767442 0 0

Mer information om värdena för sannolikhet, stöd och standardavvikelse i den kapslade tabellen NODE_DISTRIBUTION finns i Mining Model Content for Logistic Regression Models (Analysis Services – Data Mining).

Exempelfråga 4: Göra förutsägelser för ett diskret värde

Logistisk regression används vanligtvis i scenarier där du vill analysera de faktorer som bidrar till ett binärt utfall. Även om modellen som används i självstudien förutsäger ett kontinuerligt värde, ServiceGrade, i ett verkligt scenario kanske du vill konfigurera modellen för att förutsäga om tjänstklassen uppfyller något diskret målvärde. Du kan också mata ut förutsägelserna med hjälp av ett kontinuerligt värde men senare gruppera de förutsagda resultaten i Bra, Rättvist eller Dåligt.

Följande exempel visar hur du ändrar hur det förutsägbara attributet grupperas. För att göra detta skapar du en kopia av gruvstrukturen och ändrar sedan diskretiseringsmetoden för målkolumnen så att värdena grupperas i stället för kontinuerligt.

Följande procedur beskriver hur du ändrar gruppering av Service Grade-värden i Call Center-data.

Så här skapar du en diskret version av Call Center-gruvstrukturen och -modellerna
  1. I SQL Server Data Tools i Solution Explorer expanderar du Gruvstrukturer.

  2. Högerklicka på Call Center.dmm och välj Kopiera.

  3. Högerklicka på Gruvstrukturer och välj Klistra in. En ny gruvstruktur läggs till med namnet Call Center 1.

  4. Högerklicka på den nya gruvstrukturen och välj Byt namn. Skriv det nya namnet , Call Center Discretized.

  5. Dubbelklicka på den nya gruvstrukturen för att öppna den i designern. Observera att gruvmodellerna också har kopierats och att alla har tillägget 1. Lämna namnen som de är för tillfället.

  6. På fliken Gruvstruktur högerklickar du på kolumnen för Servicenivå och väljer Egenskaper.

  7. Ändra egenskapen Innehåll från Kontinuerlig till Diskret. Ändra egenskapen DiscretizationMethod till Kluster. För Diskretisering BucketCount skriver du 3.

    Anmärkning

    Dessa parametrar används bara för att illustrera processen och skapar inte nödvändigtvis en giltig modell.

  8. På menyn Datautvinningsmodell väljer du Processstruktur och alla modeller.

Följande exempelfråga baseras på den här diskreta modellen och förutsäger tjänstklassen för den angivna veckodagen, tillsammans med sannolikheterna för varje förutsagt utfall.

SELECT  
  (PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]  
FROM  
  [Call Center_LR 1]  
NATURAL PREDICTION JOIN  
(SELECT 'Saturday' AS [Day Of Week]) AS t    

Förväntade resultat:

Förutsägelser:

Tjänstklass $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0.10872718383125 35.7246504770641 0,425293458060287 0.0170168360030293 0 0
0.05855769230625 31.7098880800703 0.377498667619885 0.020882020060454 0 0
0.170169491525 15.6109159883202 0.185844237956192 0.0661386571386049 0 0
0.954545454545455 0.0113636363636364 0.0113636363636364 0 0

Observera att de förutsagda utfallen har grupperats i tre kategorier enligt beskrivningen. Dessa grupper baseras dock på klustring av faktiska värden i data, inte godtyckliga värden som du kan ange som affärsmål.

Lista över förutsägelsefunktioner

Alla Microsoft-algoritmer stöder en gemensam uppsättning funktioner. Microsoft Logistic Regression-algoritmen stöder dock de ytterligare funktioner som anges i följande tabell.

Förutsägelsefunktion Usage
IsDescendant (DMX) Avgör om en nod är underordnad en annan nod i modellen.
PredictAdjustedProbability (DMX) Returnerar den justerade sannolikheten för ett angivet tillstånd.
PredictHistogram (DMX) Returnerar ett förutsagt värde, eller en uppsättning värden, för en angiven kolumn.
PredictProbability (DMX) Returnerar sannolikheten för ett angivet tillstånd.
PredictStdev (DMX) Returnerar standardavvikelse för det förutsagda värdet.
PredictSupport (DMX) Returnerar supportvärdet för ett angivet tillstånd.
PredictVariance (DMX) Returnerar variansen för en angiven kolumn.

En lista över de funktioner som är gemensamma för alla Microsoft-algoritmer finns i Allmänna förutsägelsefunktioner (DMX). Syntaxen för specifika funktioner finns i Dmx-funktionsreferens (Data Mining Extensions).

Anmärkning

För modeller för neuralt nätverk och logistisk regression returnerar funktionen PredictSupport (DMX) ett enda värde som representerar storleken på träningsuppsättningen för hela modellen.

Se även

Frågor om datautvinning
Microsoft Logistic Regression Algorithm
Teknisk referens för Microsoft Logistic Regression Algorithm
Mining Model Content for Logistic Regression Models (Analysis Services – Data Mining)
Lektion 5: Skapa neurala nätverk och logistiska regressionsmodeller (självstudie om mellanliggande datautvinning)