Logistische Regressionsmodell-Abfragebeispiele

Gilt für: SQL Server 2019 und früher Analysis Services Azure Analysis Services Fabric/Power BI Premium

Wichtig

Data Mining wurde in SQL Server 2017 Analysis Services als veraltet eingestuft und wurde jetzt in SQL Server 2022 Analysis Services eingestellt. Die Dokumentation wird für veraltete und eingestellte Features nicht aktualisiert. Weitere Informationen finden Sie unter Abwärtskompatibilität von Analysis Services.

Beim Generieren einer Abfrage für ein Data Mining-Modell können Sie eine Inhaltsabfrage erstellen, die Details über die bei der Analyse ermittelten Muster liefert. Alternativ dazu können Sie auch eine Vorhersageabfrage erstellen, die Vorhersagen mit neuen Daten anhand der im Modell befindlichen Muster vornimmt.

In diesem Abschnitt wird erläutert, wie diese beiden Abfragetypen für Modelle erstellt werden, die auf dem Microsoft Logistic Regression-Algorithmus basieren.

Inhaltsabfragen

Abrufen von Modellparametern mithilfe des Data Mining-Schemarowsets

Ermittlung weiterer Details des Modells mit DMX

Vorhersageabfragen

Erstellen von Vorhersagen für einen kontinuierlichen Wert

Erstellen von Vorhersagen für einen diskreten Wert

Abrufen von Informationen zum logistischen Regressionsmodell

Logistische Regressionsmodelle werden mithilfe des Microsoft Neural Network-Algorithmus mit einer speziellen Menge von Parametern erstellt. Daher verfügt das logistische Regressionsmodell über einige der Informationen, die auch das neuronale Netzwerk enthält, ist jedoch weniger komplex. Informationen zur Struktur des Modellinhalts und zu den Knotentypen, die welche Art von Informationen speichern, finden Sie unter Miningmodellinhalt für logistische Regressionsmodelle (Analysis Services – Data Mining).

Um in den Abfrageszenarien nachzuverfolgen, können Sie ein logistisches Regressionsmodell erstellen, wie im folgenden Abschnitt des Data Mining-Tutorial für Fortgeschrittene beschrieben: Lektion 5: Erstellen neuronaler Netzwerk- und logistischer Regressionsmodelle (Data Mining-Tutorial für Fortgeschrittene).

Sie können auch die Miningstruktur Targeted Mailing aus dem Tutorial zu Data Mining-Grundlagenverwenden.

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  

Beispielabfrage 1: Abrufen von Modellparametern mithilfe des Data Mining-Schemarowsets

Durch Abfrage des Data Mining-Schemarowsets können Sie Metadaten zum Modell ermitteln, wie das Datum der Modellerstellung, das Datum der letzten Modellverarbeitung, den Namen der Miningstruktur, auf der das Modell basiert, und den Namen der als vorhersagbares Attribut verwendeten Spalte. Mit dem folgenden Beispiel werden die Parameter zurückgegeben, die beim Erstellen des Modells verwendet wurden, sowie Name und Typ des Modells und das Datum, an dem es erstellt wurde.

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

Beispielergebnisse:

MODEL_NAME SERVICE_NAME DATE_CREATED MINING_PARAMETERS
Call Center_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

Beispielabfrage 2: Ermittlung weiterer Details des Modells mit DMX

Die folgende Abfrage gibt einige grundlegende Informationen über das logistische Regressionsmodell zurück. Ein logistisches Regressionsmodell ähnelt in vielerlei Hinsicht einem neuronalen Netzwerkmodell. Dazu gehört das Vorhandensein eines Knotens für Randstatistik (NODE_TYPE = 24), der die als Eingaben verwendeten Werte beschreibt. in dieser Beispielabfrage wird das Targeted Mailing-Modell verwendet, und die Werte aller Eingaben werden aus der geschachtelten Tabelle NODE_DISTRIBUTION abgerufen.

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

Teilergebnisse:

T.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VARIANCE t.VALUETYPE
Age Missing 0 0 0 1
Age 45.43491192 17484 1 126.9544114 3
Bike Buyer Missing 0 0 0 1
Bike Buyer 0 8869 0.507263784 0 4
Bike Buyer 1 8615 0.492736216 0 4
Commute Distance Missing 0 0 0 1
Commute Distance 5–10 Meilen 3033 0,173472889 0 4

Die eigentliche Abfrage gibt weitaus mehr Zeilen zurück. Dieses Beispiel veranschaulicht jedoch die Art der Informationen, die über Eingaben zur Verfügung gestellt werden. Für diskrete Eingaben wird jeder mögliche Wert in der Tabelle aufgeführt. Für Eingaben mit kontinuierlichen Werten wie Age ist eine vollständige Auflistung unmöglich, daher wird die Eingabe als Mittelwert diskretisiert. Weitere Informationen zur Verwendung der Informationen im Knoten marginale Statistiken finden Sie unter Miningmodellinhalt für logistische Regressionsmodelle (Analysis Services – Data Mining)..

Hinweis

Die Ergebnisse wurden zugunsten einer leichteren Anzeige vereinfacht. Sie können die geschachtelte Tabelle jedoch in einer einzelnen Spalte zurückgeben, wenn Ihr Anbieter hierarchische Rowsets unterstützt.

Vorhersageabfragen eines logistischen Regressionsmodells

Sie können die Predict -Funktion (DMX) für jede Art von Miningmodell verwenden, um dem Modell neue Daten bereitzustellen und Vorhersagen basierend auf den neuen Werten zu treffen. Außerdem können Sie mithilfe von Funktionen weitere Informationen über die Vorhersage zurückgeben, z. B. die Wahrscheinlichkeit, dass eine Vorhersage zutrifft. Dieser Abschnitt enthält einige Beispiele für Vorhersageabfragen für ein logistisches Regressionsmodell.

Beispielabfrage 3: Erstellen von Vorhersagen für einen kontinuierlichen Wert

Da die logistische Regression die Verwendung kontinuierlicher Attribute sowohl für die Eingabe als auch die Vorhersage unterstützt, können ganz einfach Modelle erstellt werden, die verschiedene Faktoren in Ihren Daten korrelieren. Sie können Vorhersageabfragen verwenden, um das Beziehungsgefüge dieser Faktoren zu erforschen.

Das folgende Abfragebeispiel basiert auf dem Callcentermodell aus dem Lernprogramm für Fortgeschrittene. Darin wird eine SINGLETON-Abfrage erstellt, die die Dienstqualität für die Schicht "Friday AM" vorhersagt. Die Funktion PredictHistogram (DMX) gibt eine geschachtelte Tabelle mit statistischen Daten zurück, die für das Verständnis der Gültigkeit des vorhergesagten Werts relevant sind.

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  

Beispielergebnisse:

Predicted Service Grade Service Grade $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

Weitere Informationen zu den Wahrscheinlichkeits-, Unterstützungs- und Standardabweichungswerten in der geschachtelten NODE_DISTRIBUTION Tabelle finden Sie unter Miningmodellinhalt für logistische Regressionsmodelle (Analysis Services – Data Mining).

Beispielabfrage 4: Erstellen von Vorhersagen für einen diskreten Wert

Die logistische Regression wird normalerweise in Szenarien verwendet, in denen die Faktoren analysiert werden sollen, die zu einem binären Ergebnis beitragen. Obwohl das im Tutorial verwendete Modell den kontinuierlichen Wert ServiceGradein einem realistischen Szenario vorhersagt, möchten Sie möglicherweise das Modell für die Vorhersage einrichten, ob die Dienstqualität einem bestimmten diskretisierten Zielwert entsprochen hat. Alternativ könnten Sie die Vorhersagen mit einem kontinuierlichen Wert ausgeben, später jedoch die vorhergesagten Ergebnisse in Gut, Durchschnittlichoder Schlechtgruppieren.

Das folgende Beispiel veranschaulicht, wie die Methode zum Gruppieren des vorhersagbaren Attributs geändert wird. Erstellen Sie hierzu eine Kopie der Miningstruktur, und ändern Sie dann die Diskretisierungsmethode der Zielspalte, damit die Werte gruppiert werden anstatt kontinuierlich sind.

Im folgenden Verfahren wird beschrieben, wie die Gruppierung von ServiceGrade-Werten in den Callcenterdaten geändert wird.

So erstellen Sie eine diskretisierte Version der Callcenter-Miningstruktur und -Modelle
  1. Erweitern Sie in SQL Server Data Tools in Projektmappen-Explorer Miningstrukturen.

  2. Klicken Sie mit der rechten Maustaste auf „Call Center.dmm“, und wählen Sie Kopierenaus.

  3. Klicken Sie mit der rechten Maustaste auf Miningstrukturen , und wählen Sie Einfügenaus. Eine neue Miningstruktur mit dem Namen „Call Center 1“ wird hinzugefügt.

  4. Klicken Sie mit der rechten Maustaste auf die neue Miningstruktur, und wählen Sie Umbenennenaus. Geben Sie den neuen Namen Callcenter diskretisiertein.

  5. Doppelklicken Sie auf die neue Miningstruktur, um sie im Designer zu öffnen. Beachten Sie, dass auch alle Miningmodelle kopiert wurden und die Erweiterung "1" haben. Ändern Sie die Namen zunächst nicht.

  6. Klicken Sie auf der Registerkarte Miningstruktur mit der rechten Maustaste auf die Spalte für ServiceGrade, und wählen Sie Eigenschaftenaus.

  7. Ändern Sie die Content -Eigenschaft von Kontinuierlich in Diskretisiert. Ändern Sie die DiscretizationMethod -Eigenschaft in Cluster. Geben Sie für DiscretizationBucketCount 3ein.

    Hinweis

    Diese Parameter werden nur zur Veranschaulichung des Vorgangs verwendet und erzeugen nicht unbedingt ein gültiges Modell.

  8. Klicken Sie im Menü Miningmodell auf Miningstruktur und alle Modelle verarbeiten.

Die folgende Beispielabfrage basiert auf diesem diskretisierten Modell und sagt die Dienstqualität für den angegebenen Wochentag sowie die Wahrscheinlichkeit für jedes vorhergesagte Ergebnis vorher.

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    

Erwartete Ergebnisse:

Vorhersagen:

Service Grade $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

Beachten Sie, dass die vorhergesagten Ergebnisse wie angegeben in drei Kategorien gruppiert wurden. Diese Gruppierungen basieren jedoch auf dem Clustering der Istwerte in den Daten, nicht möglicherweise als Geschäftsziele festgelegter beliebiger Werte.

Liste der Vorhersagefunktionen

Alle Microsoft-Algorithmen unterstützen einen gemeinsamen Satz von Funktionen. Der Microsoft Logistic Regression-Algorithmus unterstützt jedoch die in der folgenden Tabelle aufgeführten zusätzlichen Funktionen.

Vorhersagefunktion Verbrauch
IsDescendant (DMX) Bestimmt, ob ein Knoten ein untergeordnetes Element eines anderen Knotens im Modell ist.
PredictAdjustedProbability (DMX) Gibt die angepasste Wahrscheinlichkeit für einen bestimmten Status zurück.
PredictHistogram (DMX) Gibt einen vorhergesagten Wert oder eine Gruppe von Werten für eine angegebene Spalte zurück.
PredictProbability (DMX) Gibt die Wahrscheinlichkeit für einen bestimmten Status zurück.
PredictStdev (DMX) Gibt die Standardabweichung für den prognostizierten Wert zurück.
PredictSupport (DMX) Gibt den Unterstützungswert für einen bestimmten Status zurück.
PredictVariance (DMX) Gibt die Varianz einer angegebenen Spalte zurück.

Eine Liste der Funktionen, die allen Microsoft-Algorithmen gemeinsam sind, finden Sie unter Allgemeine Vorhersagefunktionen (DMX). Die Syntax bestimmter Funktionen finden Sie in der Funktionsreferenz für Data Mining-Erweiterungen (DMX).

Hinweis

Für neuronale Netzwerk- und logistische Regressionsmodelle gibt die Funktion PredictSupport (DMX) einen einzelnen Wert zurück, der die Größe des Trainingssatzes für das gesamte Modell darstellt.

Weitere Informationen

Data Mining-Abfragen
Microsoft Logistic Regression-Algorithmus
Technische Referenz für den Microsoft Logistic Regression-Algorithmus
Miningmodellinhalt von logistischen Regressionsmodellen (Analysis Services – Data Mining)
Lektion 5: Erstellen von neuronalen Netzwerk- und logistischen Regressionsmodellen (Data Mining-Lernprogramm für Fortgeschrittene)