SKAPA GRUVSTRUKTUR (DMX)

gäller för: SQL Server Analysis Services

Skapar en ny mining-struktur i en databas och definierar valfritt tränings- och testpartitioner. Efter att du har skapat gruvstrukturen kan du använda ALTER MINING STRUCTURE (DMX)- satsen för att lägga till modeller i gruvstrukturen.

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  

Arguments

struktur
Ett unikt namn på byggnaden.

Kolumndefinitionslista
En kommaseparerad lista av kolumndefinitioner.

håll-maxprocent
Ett heltal mellan 1 och 100 som anger andelen data som ska avsättas för testning.

Holdout-maxcases
Ett heltal som anger det maximala antalet fall som ska användas för testning.

Om värdet som anges för maxfall är större än antalet indatafall används alla ingångsfall för testning och en varning kommer att utfärdas.

Note

Om både procent och maximalt antal fall anges används den mindre av de två gränserna.

Holdout seed
Ett heltal som används som frö för att börja partitionera data.

Om den är satt till 0 används hashen för miningstrukturens ID som frö.

Note

Du bör specificera ett seed om du behöver säkerställa att en partition kan återskapas.

Standard: REPEATABLE(0)

Remarks

Du definierar en mining-struktur genom att specificera en lista med kolumner, eventuellt ange hierarkiska relationer mellan kolumnerna, och sedan eventuellt dela upp mining-strukturen i tränings- och testdataset.

Det valfria nyckelordet SESSION indikerar att strukturen är en tillfällig struktur som du endast kan använda under den aktuella sessionen. När sessionen avslutas kommer strukturen och alla modeller baserade på strukturen att raderas. För att skapa tillfälliga gruvstrukturer och modeller måste du först ställa in databasens egenskap, AllowSessionMiningModels. Mer information finns i Egenskaper för datautvinning.

Kolumndefinitionslista

Du definierar en mining-struktur genom att inkludera följande information för varje kolumn i kolumndefinitionslistan:

  • Namn (obligatoriskt)

  • Datatyp (obligatorisk)

  • Distribution

  • Lista över modelleringsflaggor

  • Innehållstyp (obligatorisk)

  • Relation till en attributkolumn (obligatorisk endast om den gäller), indikerad av klausulen RELATED TO

Använd följande syntax för kolumndefinitionslistan för att definiera en enda kolumn:

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

Använd följande syntax för kolumndefinitionslistan för att definiera en nästlad tabellkolumn:

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

För en lista över datatyper, innehållstyper, kolumnfördelningar och modelleringsflaggor som du kan använda för att definiera en strukturkolumn, se följande ämnen:

Du kan definiera flera modelleringsflaggor för en kolumn. Du kan dock bara ha en innehållstyp och en datatyp för en kolumn.

Kolumnrelationer

Du kan lägga till en klausul i vilken kolumndefinition som helst för att beskriva relationen mellan två kolumner. Analysis Services stöder användningen av följande <kolumnrelationsklausul> .

RELATERAT TILL
Indikerar en värdehierarki. Målet för en kolumn RELATED TO kan vara en nyckelkolumn i en nästlad tabell, en diskret värderad kolumn i fallraden, eller en annan kolumn med en RELATED TO-klausul, som indikerar en djupare hierarki.

Hållningsparametrar

När du anger holdout-parametrar skapar du en partition av strukturdata. Den mängd du anger för holdout är reserverad för testning, och den återstående datan används för träning. Som standard, om du skapar en mining-struktur med SQL Server Data Tools (SSDT), skapas en holdout-partition åt dig som innehåller 30 procent testdata och 70 procent träningsdata. Mer information finns i Datauppsättningar för träning och testning.

Om du skapar en mining-struktur med Data Mining Extensions (DMX) måste du manuellt ange att en holdout-partition ska skapas.

Note

ALTER MINING STRUCTURE-uttalandet stöder inte holdout.

Du kan ange upp till tre holdout-parametrar. Om du anger både ett maximalt antal hålloutfall och en procentandel hållna ut, reserveras en procentandel av fallen tills maxgränsen för fall är uppnådd. Du anger procentandelen håll som ett heltal följt av nyckelordet PERCENT , och anger det maximala antalet fall som ett heltal följt av nyckelordet CASES . Du kan kombinera villkoren i valfri ordning, som visas i följande exempel:

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

Holdout-fröet styr startpunkten för processen som slumpmässigt tilldelar fall till antingen tränings- eller testdatamängderna. Genom att sätta ett holdout-seed kan du säkerställa att partitionen kan upprepas. Om du inte specificerar ett holdout-seed använder Analysis Services namnet på mining-strukturen för att skapa ett seed. Om du byter namn på strukturen kommer frövärdet att ändras. Holdout-seedparametern kan användas med någon eller båda av de andra holdout-parametrarna.

Note

Eftersom partitionsinformationen är cachad tillsammans med träningsdatan måste du för att använda holdout säkerställa att egenskapen CacheMode för mining-strukturen är inställd på KeepTrainingData. Detta är standardinställningen i Analysis Services för nya gruvstrukturer. Att ändra egenskapen CacheMode till ClearTrainingCases på en befintlig mining-struktur som innehåller en holdout-partition påverkar inte några miningmodeller som har bearbetats. Men om MiningStructureCacheMode inte är inställt på KeepTrainingData kommer holdout-parametrar inte att ha någon effekt. Detta innebär att all källdata kommer att användas för träning och ingen testuppsättning kommer att finnas tillgänglig. Definitionen av partitionen cachelagras tillsammans med strukturen; Om du rensar cachen av träningsfall, rensar du också cachen av testdata och definitionen av holdout-mängden.

Exempel

Följande exempel visar hur man skapar en mining-struktur med holdout genom att använda DMX.

Exempel 1: Att lägga till en struktur utan träningsset

Följande exempel skapar en ny gruvstruktur som kallas New Mailing utan att skapa några associerade mining-modeller och utan att använda holdout. För att lära dig hur man lägger till en gruvmodell i strukturen, se ALTER MINING STRUCTURE (DMX).

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

Exempel 2: Specificera hållningsprocent och frö

Följande klausul kan läggas till efter kolumndefinitionslistan för att definiera en datamängd som kan användas för att testa alla miningmodeller kopplade till mining-strukturen. Satsen skapar en testuppsättning som utgör 25 procent av de totala indatafallen, utan någon gräns för det maximala antalet fall. 5000 används som frö för att skapa partitionen. När du specificerar ett seed kommer samma fall att väljas för testuppsättningen varje gång du bearbetar mining-strukturen, så länge den underliggande datan inte ändras.

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)  

Exempel 3: Ange procentandel för hållning och maxantal fall

Följande klausul skapar en testuppsättning som innehåller antingen 25 procent av de totala indatafallen eller 2000 fall, beroende på vilket som är lägst. Eftersom 0 anges som frö används namnet på gruvstrukturen för att skapa fröet som används för att påbörja urvalet av indatafallen.

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)