CREATE MINING STRUCTURE (DMX)

Gilt für: SQL Server Analysis Services

Erstellt in einer Datenbank eine neue Miningstruktur und definiert optional Trainings- und Testpartitionen. Nachdem Sie die Miningstruktur erstellt haben, können Sie die ALTER MINING STRUCTURE (DMX)- Anweisung verwenden, um der Miningstruktur Modelle hinzuzufü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

Struktur
Ein eindeutiger Name für die Struktur.

Spaltendefinitionsliste
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.

Hinweis

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.

Hinweis

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

Standardwert: REPEATABLE(0)

Bemerkungen

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. Zum Erstellen temporärer Miningstrukturen und -modelle müssen Sie zuerst die Datenbankeigenschaft AllowSessionMiningModels festlegen. Weitere Informationen finden Sie unter Data Mining Properties.

Spaltendefinitionsliste (Column Definition List)

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

  • Name (obligatorisch)

  • Datentyp (obligatorisch)

  • Distribution

  • 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 jeder Spaltendefinitionsanweisung eine Klausel hinzufügen, um die Beziehung zwischen zwei Spalten zu beschreiben. Analysis Services unterstützt die Verwendung der folgenden <Spaltenbeziehungsklausel> .

IM ZUSAMMENHANG MIT
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 eine Miningstruktur mit SQL Server Data Tools (SSDT) erstellen, wird standardmäßig eine Haltepartition erstellt, die 30 Prozent Testdaten und 70 Prozent Trainingsdaten enthält. Weitere Informationen finden Sie unter Training and Testing Data Sets.

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

Hinweis

Die ALTER MINING STRUCTURE-Anweisung unterstützt keine Holdout-Anweisung.

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. Sie geben den Prozentsatz des Haltepunkts als ganze Zahl gefolgt von der prozentualen Schlüsselwort (keyword) an und geben die maximale Anzahl von Fällen als ganze Zahl gefolgt von der Schlüsselwort (keyword) CASES 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 Sie keinen Holdout-Seed angeben, verwendet Analysis Services den Namen der Miningstruktur, um einen Seed 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.

Hinweis

Da die Partitionsinformationen mit den Trainingsdaten zwischengespeichert werden, müssen Sie für die Verwendung von Holdout sicherstellen, dass die CacheMode-Eigenschaft der Miningstruktur auf KeepTrainingData festgelegt ist. Dies ist die Standardeinstellung in Analysis Services für neue Miningstrukturen. Das Ändern der CacheMode-Eigenschaft in ClearTrainingCases für eine vorhandene Miningstruktur, die eine Haltepartition enthält, wirkt sich nicht auf die verarbeiteten Miningmodelle aus. Wenn MiningStructureCacheMode jedoch nicht auf KeepTrainingData festgelegt ist, haben Halteparameter keine Auswirkung. 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)  

Weitere Informationen

Data Mining-Erweiterungen (DMX) - Datendefinitionsanweisungen
Data Mining-Erweiterungen (DMX) - Datenbearbeitungsanweisungen
Data Mining-Erweiterungen (DMX) - Anweisungsreferenz