Abfragen eines logistischen Regressionsmodells (Analysis Services – Data Mining)

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. Weitere Informationen zur Struktur des Modellinhalts und dazu, welche Knotentypen welche Informationen speichern, finden Sie unter Miningmodellinhalt von logistischen Regressionsmodellen (Analysis Services – Data Mining).

Für die Abfrageszenarien können Sie ein logistisches Regressionsmodell erstellen, wie im folgenden Abschnitt des Data Mining-Lernprogramms für Fortgeschrittene beschrieben: Lektion 5: Erstellen von neuronalen Netzwerk- und logistischen Regressionsmodellen (Data Mining-Lernprogramm für Fortgeschrittene).

Außerdem können Sie die Miningstruktur Targeted Mailing aus dem Lernprogramm zu Data Mining-Grundlagen verwenden.

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

Zurück zum Anfang

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 zum Verwenden der Informationen im Knoten für Randstatistik finden Sie unter Miningmodellinhalt von logistischen Regressionsmodellen (Analysis Services – Data Mining).

HinweisHinweis

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. Weitere Informationen finden Sie unter Hierarchical Rowsets im Handbuch des OLE DB-Programmierers.

Zurück zum Anfang

Vorhersageabfragen eines logistischen Regressionsmodells

Sie können die Predict (DMX)-Funktion mit jeder Art von Miningmodell verwenden, um neue Daten für das Modell zur Verfügung zu stellen und Vorhersagen anhand der neuen Werte 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 PredictHistogram (DMX)-Funktion 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

Results

0.102601830123659

Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.10260183012365983.02325581395350.98837209302325600.001205526606000870.034720694203902
0.9767441860465120.01162790697674420.011627906976744200

Weitere Informationen zu Wahrscheinlichkeit, Unterstützung und Standardabweichungswerten in der geschachtelten Tabelle NODE_DISTRIBUTION finden Sie unter Miningmodellinhalt von logistischen Regressionsmodellen (Analysis Services – Data Mining).

Zurück zum Anfang

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 Lernprogramm verwendete Modell den kontinuierlichen Wert ServiceGrade in 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, Durchschnittlich oder Schlecht gruppieren.

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 Service Grade-Werten in den Callcenterdaten geändert wird.

So erstellen Sie eine diskretisierte Version der Callcenter-Miningstruktur und -Modelle

  1. Erweitern Sie in Business Intelligence Development Studio im Projektmappen-Explorer Miningstrukturen.

  2. Klicken Sie mit der rechten Maustaste auf Call Center.dmm, und wählen Sie Kopieren aus.

  3. Klicken Sie mit der rechten Maustaste auf Miningstrukturen, und wählen Sie Einfügen aus. 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 Umbenennen aus. Geben Sie den neuen Namen Callcenter diskretisiert ein.

  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 Service Grade, und wählen Sie Eigenschaften aus.

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

    HinweisHinweis

    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:

Predictions

Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.1087271838312535.72465047706410.4252934580602870.017016836003029300
0.0585576923062531.70988808007030.3774986676198850.02088202006045400
0.17016949152515.61091598832020.1858442379561920.066138657138604900
0.9545454545454550.01136363636363640.011363636363636400

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.

Zurück zum Anfang

Liste der Vorhersagefunktionen

Alle Microsoft-Algorithmen unterstützen einen gängigen Satz von Funktionen. Der Microsoft Logistic Regression-Algorithmus unterstützt jedoch zusätzliche Funktionen, die in der folgenden Tabelle aufgelistet sind.

Eine Liste der Funktionen, die von allen Microsoft-Algorithmen gemeinsam verwendet werden, finden Sie unter Zuordnen von Funktionen zu Abfragetypen (DMX). Die Syntax bestimmter Funktionen finden Sie unter Data Mining-Erweiterungen (DMX) - Funktionsreferenz.

HinweisHinweis

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