Modellierungsflags (Data Mining)

Sie können Modellierungsflags in SQL Server Analysis Services verwenden, um für einen Data Mining-Algorithmus zusätzliche Informationen zu den in einer Falltabelle definierten Daten bereitzustellen. Der Algorithmus kann diese Informationen verwenden, um ein genaueres Data Mining-Modell zu erstellen.

Modellierungsflags können mithilfe von Data Mining-Erweiterungen (Data Mining Extensions, DMX) programmgesteuert oder im Data Mining-Designer in Business Intelligence Development Studio definiert werden. Weitere Informationen zum Definieren dieser Flags in DMX-Anweisungen finden Sie unter Miningmodellspalten.

Einige Modellierungsflags werden auf der Ebene der Miningstruktur definiert, während andere auf der Ebene der Miningmodellspalte definiert werden. Beispielsweise wird das NOT NULL-Modellierungsflag für Miningstrukturspalten verwendet. Sie können zusätzliche Modellierungsflags in der Miningmodellspalte definieren.

In der folgenden Liste werden die Modellierungsflags beschrieben, die in Analysis Services unterstützt werden. Informationen zu Modellierungsflags, die von bestimmten Algorithmen unterstützt werden, finden Sie im Thema zum betreffenden Algorithmus in der technischen Referenz.

  • NOT NULL
    Gibt an, dass die Werte für die Attributspalte auf keinen Fall einen NULL-Wert enthalten dürfen. Es führt zu einem Fehler, wenn Analysis Services während des Modelltrainings einen NULL-Wert für diese Attributspalte findet.

  • MODEL_EXISTENCE_ONLY
    Gibt an, dass die Spalte zwei Statuswerte enthalten kann: Missing und Existing. Der Wert NULL wird wie der Wert Missing behandelt.

    HinweisHinweis

    Missing ist ein spezieller vom Algorithmus verwendeter Statuswert, der nicht mit dem Textwert "Missing" bzw. "Fehlend" einer Spalte gleichbedeutend ist. Weitere Informationen finden Sie unter Fehlende Werte (Analysis Services - Data Mining).

    Dieses Modellierungsflag wird in der Regel zur Angabe von Attributen verwendet, bei denen der NULL-Status eine implizite Bedeutung hat und der explizite Wert des NOT NULL-Status nicht so wichtig ist wie die Tatsache, dass die Spalte überhaupt einen Wert enthält. Beispielsweise kann die Spalte [DateContractSigned] den Wert NULL enthalten, wenn ein Vertrag nie unterschrieben wurde, und den Wert NOT NULL, wenn der Wert unterschrieben wurde. Wenn das Modell vorhersagen soll, ob ein Vertrag unterschrieben wird, können Sie daher das MODEL_EXISTENCE_ONLY-Flag einsetzen, um den genauen Datumswert in den NOT NULL-Fällen zu ignorieren und nur zwischen den Fällen zu unterscheiden, in denen der Wert Missing oder Existing lautet.

  • REGRESSOR
    Gibt an, dass die Spalte während der Verarbeitung als Regressor verwendet werden kann. Dieses Flag wird für eine Miningmodellspalte definiert und kann nur auf Spalten mit einem kontinuierlichen numerischen Datentyp angewendet werden. Weitere Informationen zur Verwendung dieses Flags finden Sie weiter unten in diesem Thema.

HinweisHinweis

Zusätzlich zu den von Analysis Services vordefinierten Modellierungsflags können Plug-Ins eines Drittanbieters über eigene Modellierungsflags verfügen.

Anzeigen und Ändern von Modellierungsflags

Im Data Mining-Designer können Sie die Modellierungsflags, die einer Miningstruktur oder Miningspalte zugeordnet sind, betrachten und ändern, indem Sie die Eigenschaften der Struktur oder des Modells anzeigen.

So zeigen Sie das Modellierungsflag für eine Strukturspalte oder eine Modellspalte an oder ändern es

  1. Doppelklicken Sie in BI Development Studio im Projektmappen-Explorer auf die Miningstruktur.

  2. Um das NOT NULL-Modellierungsflag festzulegen, klicken Sie auf die Registerkarte Miningstruktur.

    Um das REGRESSOR-Flag oder das MODEL_EXISTENCE_ONLY-Flag festzulegen, klicken Sie auf die Registerkarte Miningmodell.

  3. Klicken Sie mit der rechten Maustaste auf die Spalte, die Sie anzeigen oder ändern möchten, und wählen Sie Eigenschaften aus.

  4. Um ein neues Modellierungsflag hinzuzufügen, klicken Sie auf das Textfeld neben der Eigenschaft ModelingFlags, und aktivieren Sie das bzw. die Kontrollkästchen für die Modellierungsflags, die Sie verwenden möchten.

    Modellierungsflags werden nur angezeigt, wenn sie für den Datentyp der Spalte geeignet sind.

    HinweisHinweis

    Nachdem ein Modellierungsflag geändert wurde, muss das Modell erneut verarbeitet werden.

Die in einem vorhandenen Miningmodell und einer Struktur mit DMX verwendeten Modellierungsflags können nicht geändert werden. Sie müssen unter Verwendung der ALTER MINING STRUCTURE….ADD MINING MODEL-Syntax ein neues Miningmodell erstellen.

Wenn Sie nicht genau wissen, welche Modellierungsflags in der aktuellen Struktur verwendet werden, können Sie mit der folgenden Syntax eine Abfrage erstellen, die die Modellierungsflags zurückgibt:

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS
WHERE STRUCTURE_NAME = '<structure name>'

Verwenden des REGRESSOR-Modellierungsflags

Wenn Sie das REGRESSOR-Modellierungsflag für eine Spalte festlegen, zeigen Sie dem Algorithmus damit an, dass die Spalte potenzielle Regressoren enthält. Die tatsächlich im Modell verwendeten Regressoren werden vom Algorithmus bestimmt. Ein potenzieller Regressor kann verworfen werden, wenn er das vorhersagbare Attribut nicht modelliert.

Wenn Sie mit dem Data Mining-Assistenten ein Modell erstellen, werden alle kontinuierlichen Eingabespalten als potenzielle Regressoren gekennzeichnet. Daher kann eine Spalte im Modell auch dann als Regressor verwendet werden, wenn für diese Spalte nicht explizit das REGRESSOR-Flag festgelegt wurde.

Sie können ermitteln, welche Regressoren im verarbeiteten Modell tatsächlich verwendet wurden, indem Sie wie im folgenden Beispiel gezeigt eine Abfrage für das Schemarowset des Miningmodells ausführen:

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_columnS
WHERE MODEL_NAME = '<model name>'

Hinweis   Wenn Sie ein Miningmodell verändern und den Inhaltstyp einer Spalte von kontinuierlich in diskret ändern, müssen Sie das Flag für die Miningspalte von Hand ändern und das Modell dann erneut verarbeiten.

Regressoren in linearen Regressionsmodellen

Lineare Regressionsmodelle basieren auf dem Microsoft Decision Trees-Algorithmus. Auch wenn Sie den Microsoft Linear Regression-Algorithmus nicht verwenden, kann jedes Entscheidungsstrukturmodell eine Struktur oder Knoten enthalten, die eine Regression für ein kontinuierliches Attribut darstellt bzw. darstellen.

Sie müssen nicht angeben, dass eine kontinuierliche Spalte einen Regressor darstellt. Der Microsoft Decision Trees-Algorithmus unterteilt das Dataset selbst dann in Bereiche mit sinnvollen Mustern, wenn Sie das REGRESSOR-Flag nicht für die Spalte festlegen. Wenn das Modellierungsflag festgelegt wurde, versucht der Algorithmus im Unterschied dazu, Regressionsgleichungen der Form a*C1 + b*C2 + ... zu finden, um die Muster den Knoten der Struktur zuzuordnen. Anschließend wird die Summe der Restwerte berechnet, und wenn die Abweichung zu groß ist, wird die Struktur unterteilt.

Wenn Sie beispielsweise das Kaufverhalten von Kunden mithilfe des Attributs Income vorhersagen und das Modellierungsflag REGRESSOR für die Spalte festlegen, versucht der Algorithmus zuerst, die Werte der Spalte Income mithilfe einer Standardregressionsformel zuzuordnen. Ist die Abweichung zu groß, dann wird die Regressionsformel ignoriert und die Struktur nach einem anderen Attribut unterteilt. Der Entscheidungsstrukturalgorithmus versucht nach der Unterteilung, jedem der Zweige einen Regressor für "Einkommen" zuzuordnen.

Mit dem FORCE_REGRESSOR-Parameter können Sie sicherstellen, dass der Algorithmus einen bestimmten Regressor verwendet. Dieser Parameter kann mit dem Decision Trees-Algorithmus und dem Linear Regression-Algorithmus verwendet werden.