Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
I SQL Server Data Tools i Solution Explorer expanderar du Gruvstrukturer.
Högerklicka på Call Center.dmm och välj Kopiera.
Högerklicka på Gruvstrukturer och välj Klistra in. En ny gruvstruktur läggs till med namnet Call Center 1.
Högerklicka på den nya gruvstrukturen och välj Byt namn. Skriv det nya namnet , Call Center Discretized.
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.
På fliken Gruvstruktur högerklickar du på kolumnen för Servicenivå och väljer Egenskaper.
Ä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.
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)