Freigeben über


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 mit dem Data Mining-Schemarowset

Ermitteln zusätzlicher Details zum Modell per DMX

Vorhersageabfragen

Treffen von Vorhersagen für einen kontinuierlichen Wert

Erstellen von Vorhersagen für einen diskreten Wert

Sammeln von Informationen zu einem logistischen Regressionsmodell

Logistische Regressionsmodelle werden mithilfe des Microsoft Neural Network-Algorithmus mit einem speziellen Satz von Parametern erstellt. Daher verfügt das logistische Regressionsmodell über einige der Informationen, die auch ein neuronales Netzwerkmodell enthält, ist jedoch weniger komplex. Weitere Informationen zur Struktur des Modellinhalts und 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. Fügen Sie dann ein logistisches Regressionsmodell hinzu, indem Sie das folgende DMX-Skript ausführen:

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 mit dem Data Mining-Schemarowset

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: Ermitteln zusätzlicher Details zum Modell per 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 es werden die Werte aller möglichen Eingaben 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. Jeder mögliche Wert für einen diskreten Wert wird beispielsweise in der Tabelle aufgeführt, während kontinuierliche Eingaben diskretisiert werden. 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 übersichtlicheren Anzeige vereinfacht. Sie können die geschachtelte Tabelle jedoch in einer einzelnen Spalte wiedergeben, wenn Ihr Anbieter hierarchische Rowsets unterstützt. Weitere Informationen finden Sie unter Hierarchische Rowsets im OLE DB-Programmiererhandbuch.

Zurück zum Anfang

Erstellen von Vorhersagen mithilfe eines logistischen Regressionsmodells

Sie können die Predict (DMX)-Funktion mit jeder Art von Miningmodell verwenden, um neue Daten zur Verfügung zu stellen und Vorhersagen 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 untersuchen.

Die folgende Abfragebeispiel basiert auf dem Call Center-Modell. Es erstellt eine Singleton-Abfrage, mit der eine Vorhersage über die Dienstqualität der Schicht am Freitag Vormittag getroffen werden kann. 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

Ergebnisse

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 NODE_DISTRIBUTION-Tabelle 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 ursprüngliche Modell, das im Lernprogramm für Fortgeschrittene verwendet wird, den kontinuierlichen Wert ServiceGrade in einem realistischen Szenario vorhersagt, möchten Sie möglicherweise vorhersagen, ob die Dienstqualität einem diskreten Zielwert entspricht. Alternativ dazu könnten Sie die Vorhersagen mithilfe von kontinuierlichen Werten ausgeben und dann die vorhergesagten Ergebnisse in Gut, Durchschnittlich oder Schlecht gruppieren.

Das folgende Beispiel veranschaulicht, wie die Methode zum Gruppieren des vorhersagbaren Attributs geändert werden kann. Erstellen Sie dazu eine Kopie der Miningstruktur, und ändern Sie dann die Diskretisierungsmethode der Zielspalte. Im folgenden Verfahren wird beschrieben, wie die Gruppierung von Service Grade-Werten in den Callcenterdaten geändert werden kann.

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

  1. Erweitern Sie in Business Intelligence Development Studio im Projektmappen-Explorer den Knoten 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 dass diese jeweils die Erweiterung 1 aufweisen. Lassen Sie die Namen vorerst unverändert.

  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 den Wert der Content-Eigenschaft von Kontinuierlich in Diskretisiert. Ändern Sie die DiscretizationMethod-Eigenschaft in Clusters. Geben Sie als DiscretizationBucketCount den Wert 3 ein.

    HinweisHinweis

    Diese Parameter werden nur zur Veranschaulichung des Prozesses verwendet und führen nicht unbedingt zu einem gültigen Modell.

  8. Wählen Sie im Menü Miningmodell die Option Miningstruktur und alle Modelle verarbeiten.

Die folgende Beispielabfrage basiert auf diesem diskretisierten Modell. Sie sagt die Dienstqualität für den angegebenen Wochentag vorher und gibt die Wahrscheinlichkeiten für die einzelnen vorhergesagten Ergebnisse an.

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 (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 nach drei Kategorien gruppiert wurden. Diese Gruppierungen basieren jedoch auf dem Clustering tatsächlicher Werte in den Daten, nicht auf willkürlichen Werten, die Sie als Geschäftsziele ansetzen.

Zurück zum Anfang

Liste der Vorhersagefunktionen

Alle Algorithmen von Microsoft unterstützen einen gemeinsamen Funktionssatz. 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.