CREATE MINING STRUCTURE (DMX)

Erstellt in einer Datenbank eine neue Miningstruktur und definiert optional Trainings- und Testpartitionen. Nachdem Sie die Miningstruktur erstellt haben, können Sie mit der ALTER MINING STRUCTURE (DMX)-Anweisung Modelle zur Miningstruktur hinzufügen.

Syntax

CREATE [SESSION] MINING STRUCTURE <structure>
(
    [(<column definition list>)]
)
[WITH HOLDOUT (<holdout-specifier> [OR <holdout-specifier>])]
[REPEATABLE(<holdout seed>)]
<holdout-specifier>::=  <holdout-maxpercent> PERCENT | <holdout-maxcases> CASES

Argumente

  • structure
    Ein eindeutiger Name für die Struktur.

  • column definition list
    Eine durch Trennzeichen getrennte Liste mit Spaltendefinitionen.

  • holdout-maxpercent
    Eine ganze Zahl zwischen 1 und 100, die den Prozentsatz der für Tests vorgesehenen Daten angibt.

  • holdout-maxcases
    Eine ganze Zahl, die die maximale Anzahl von Fällen angibt, die für Tests verwendet werden sollen.

    Wenn der für die maximale Anzahl von Fällen angegebene Wert größer ist als die Anzahl der Eingabefälle, werden alle Eingabefälle für Tests verwendet, und eine Warnung wird ausgegeben.

    HinweisHinweis

    Wenn sowohl der Prozentsatz als auch die maximale Anzahl von Fällen angegeben ist, wird der kleinere der beiden Grenzwerte verwendet.

  • holdout seed
    Eine ganze Zahl, die als Ausgangswert für das Partitionieren von Daten verwendet wird.

    Wenn die Zahl auf 0 festgelegt ist, wird der Hash der Miningstruktur-ID als Ausgangswert verwendet.

    HinweisHinweis

    Sie sollten einen Ausgangswert angeben, wenn Sie sicherstellen müssen, dass eine Partition reproduziert werden kann.

    Standardwert: REPEATABLE(0)

Hinweise

Sie definieren eine Miningstruktur, indem Sie eine Liste mit Spalten und optional hierarchische Beziehungen zwischen den Spalten angeben und dann wahlweise die Miningstruktur in Trainings- und Testdatasets partitionieren.

Das optionale SESSION-Schlüsselwort gibt an, dass die Struktur eine temporäre Struktur ist, die Sie nur für die Dauer der aktuellen Sitzung verwenden können. Wenn die Sitzung beendet wird, werden die Struktur und alle Modelle auf Grundlage der Struktur gelöscht. Um temporäre Miningstrukturen und –modelle zu erstellen, müssen Sie zuerst die Datenbankeigenschaft AllowSessionMiningModels festlegen. Weitere Informationen finden Sie unter Data Mining-Eigenschaften.

Spaltendefinitionsliste (Column Definition List)

Sie definieren eine Miningstruktur, indem Sie in der Spaltendefinitionsliste für jede Spalte folgende Informationen angeben:

  • Name (obligatorisch)

  • Datentyp (obligatorisch)

  • Verteilung

  • Liste der Modellierungsflags

  • Inhaltstyp (obligatorisch)

  • Beziehung zu einer Attributspalte (nur obligatorisch, wenn zutreffend), angegeben durch die RELATED TO-Klausel

Verwenden Sie die folgende Syntax für die Spaltendefinitionsliste, wenn Sie eine einzelne Spalte definieren möchten:

<column name>    <data type>    [<Distribution>]    [<Modeling Flags>]    <Content Type>    [<column relationship>]

Verwenden Sie die folgende Syntax für die Spaltendefinitionsliste, wenn Sie eine Spalte einer geschachtelten Tabelle definieren möchten:

<column name>    TABLE    ( <column definition list> )

Eine Liste der Datentypen, Inhaltstypen, Spaltendistributionen und Modellierungsflags, mit denen Sie eine Strukturspalte definieren können, finden Sie in den folgenden Themen:

Sie können mehrere Modellierungsflagwerte für eine Spalte definieren. Für eine Spalte können jedoch nur jeweils ein Inhaltstyp und ein Datentyp gelten.

Spaltenbeziehungen

Sie können der Spaltendefinitionsanweisung eine Klausel hinzufügen, um die Beziehung zwischen zwei Spalten zu beschreiben. In Analysis Services kann die folgende <column relationship>-Klausel (Spaltenbeziehungsklausel) verwendet werden.

  • RELATED TO
    Gibt eine Wertehierarchie an. Das Ziel einer RELATED TO-Spalte kann eine Schlüsselspalte einer geschachtelten Tabelle, eine Spalte mit diskreten Werten in der Fallzeile oder eine andere Spalte mit einer RELATED TO-Klausel sein, wodurch eine tiefere Hierarchie gekennzeichnet ist.

Zurückhaltungsparameter

Wenn Sie Zurückhaltungsparameter angeben, erstellen Sie eine Partition der Strukturdaten. Der Wert, den Sie für die Zurückhaltung angeben, wird für Tests reserviert. Die übrigen Daten werden zum Training verwendet. Wenn Sie mit Business Intelligence Development Studio eine Miningstruktur aufbauen, wird eine Zurückhaltungspartition mit 30 Prozent Testdaten und 70 Prozent Trainingsdaten erstellt. Weitere Informationen finden Sie unter Partitionieren von Daten in Trainings- und Testsätze (Analysis Services - Data Mining).

Wenn Sie eine Miningstruktur mit Data Mining-Erweiterungen (DMX) aufbauen, müssen Sie manuell angeben, dass eine Zurückhaltungspartition erstellt werden soll.

HinweisHinweis

Das Zurückhalten von Daten wird von der ALTER MINING STRUCTURE-Anweisung nicht unterstützt.

Sie können bis zu drei Zurückhaltungsparameter angeben. Wenn Sie sowohl eine maximale Anzahl an Zurückhaltungsfällen als auch einen Zurückhaltungsprozentsatz angeben, wird ein Prozentsatz an Fällen reserviert, bis die Höchstgrenze der Fälle erreicht wird. Den Zurückhaltungsprozentsatz geben Sie als ganze Zahl gefolgt vom PERCENT-Schlüsselwort an. Für die maximale Anzahl der Fälle geben Sie eine ganze Zahl gefolgt vom CASES-Schlüsselwort an. Sie können die Bedingungen in beliebiger Reihenfolge kombinieren, wie in den folgenden Beispielen veranschaulicht:

WITH HOLDOUT (20 PERCENT) 
WITH HOLDOUT (2000 CASES) 
WITH HOLDOUT (20 PERCENT OR 2000 CASES) 
WITH HOLDOUT (2000 CASES OR 20 PERCENT)

Der Zurückhaltungsausgangswert steuert den Anfangspunkt des Prozesses, mit dem Fälle nach dem Zufallsprinzip Trainings- oder Testdatasets zugewiesen werden. Sie können sicherstellen, dass die Partition wiederholt werden kann, indem Sie einen Zurückhaltungsausgangswert festlegen. Wenn dieser Wert nicht definiert ist, verwendet Analysis Services den Namen der Miningstruktur, um einen Ausgangswert zu erstellen. Wenn Sie die Struktur umbenennen, ändert sich der Ausgangswert. Der Parameter für den Zurückhaltungsausgangswert kann mit einem oder beiden anderen Zurückhaltungsparametern verwendet werden.

HinweisHinweis

Da die Partitionsinformationen mit den Trainingsdaten im Cache abgelegt werden, müssen Sie zur Verwendung der Zurückhaltung sicherstellen, dass die CacheMode-Eigenschaft der Miningstruktur auf KeepTrainingData festgelegt ist. Dies ist die Standardeinstellung in Analysis Services für neue Miningstrukturen. Durch Ändern der CacheMode-Eigenschaft in ClearTrainingCases in einer vorhandenen Miningstruktur, die eine Zurückhaltungspartition enthält, werden keine Miningmodelle beeinflusst, die bereits verarbeitet wurden. Wenn MiningStructureCacheMode jedoch nicht auf KeepTrainingData festgelegt ist, haben Zurückhaltungsparameter keine Auswirkungen. Dies bedeutet, dass alle Quelldaten zum Training verwendet werden und kein Testdataset verfügbar ist. Die Definition der Partition wird zusammen mit der Struktur im Cache abgelegt. Wenn Sie die Trainingsfälle aus dem Cache entfernen, entfernen Sie auch die Testdaten und die Definition des Zurückhaltungsdatasets.

Beispiele

In den folgenden Beispielen wird veranschaulicht, wie mithilfe von DMX eine Miningstruktur mit Zurückhaltung erstellt wird.

Beispiel 1: Hinzufügen einer Struktur ohne Trainingssatz

Im folgenden Beispiel wird eine neue Miningstruktur namens New Mailing erstellt, ohne dass zugeordnete Miningmodelle erstellt werden und Zurückhaltung verwendet wird. Informationen zum Hinzufügen eines Miningmodells zur Struktur finden Sie unter ALTER MINING STRUCTURE (DMX).

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
)

Beispiel 2: Angeben des Zurückhaltungsprozentsatzes und des Ausgangswerts

Die folgende Klausel kann nach der Spaltendefinitionsliste hinzugefügt werden, um ein Dataset zu definieren, das zum Testen aller der Miningstruktur zugeordneten Miningmodelle verwendet werden kann. Mithilfe der folgenden Klausel wird ein Testsatz erstellt, der 25 Prozent der gesamten Eingabefälle umfasst, ohne die maximale Anzahl der Fälle einzuschränken. Der Wert 5.000 wird als Ausgangswert zum Erstellen der Partition verwendet. Wenn Sie einen Ausgangswert angeben, werden für den Testsatz bei jeder Verarbeitung der Miningstruktur die gleichen Fälle ausgewählt, so lange die zugrunde liegenden Daten nicht geändert werden.

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
) 
WITH HOLDOUT(25 PERCENT) REPEATABLE(5000)

Beispiel 3: Angeben des Zurückhaltungsprozentsatzes und der maximalen Anzahl der Fälle

Mit der folgenden Klausel wird ein Testsatz erstellt, der entweder 25 Prozent der gesamten Eingabefälle oder 2.000 Fälle umfasst, je nachdem, welche Zahl kleiner ist. Da 0 als Ausgangswert angegeben ist, wird anhand des Namens der Miningstruktur der Anfangswert erstellt, der für die Stichprobe von Eingabefällen verwendet wird.

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
) 
WITH HOLDOUT(25 PERCENT OR 2000 CASES) REPEATABLE(0)