CREATE MINING STRUCTURE (DMX)CREATE MINING STRUCTURE (DMX)

SI APPLICA A:sìSQL Server Analysis ServicesnoAzure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

Crea una nuova struttura di data mining in un database e facoltativamente definisce le partizioni di training e test.Creates a new mining structure in a database and optionally defines training and testing partitions. Dopo aver creato la struttura di data mining, è possibile utilizzare il DMX ALTER MINING STRUCTURE ( ) istruzione per aggiungere modelli alla struttura di data mining.After you have created the mining structure, you can use the ALTER MINING STRUCTURE (DMX) statement to add models to the mining structure.

SintassiSyntax


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  

ArgomentiArguments

strutturastructure
Nome univoco della struttura.A unique name for the structure.

elenco delle definizioni di colonnacolumn definition list
Elenco delimitato da virgole contenente le definizioni delle colonne.A comma-separated list of column definitions.

controllo maxpercentholdout-maxpercent
Valore intero tra 1 e 100 che indica la percentuale di dati accantonata per l'esecuzione di test.An integer between 1 and 100 that indicates the percentage of data to set aside for testing.

controllo maxcasesholdout-maxcases
Valore intero che indica il numero massimo di case da utilizzare per l'esecuzione di test.An integer that indicates the maximum number of cases to use for testing.

Se il valore massimo specificato per i case è maggiore del numero dei case di input, tutti i case di input sono utilizzati per l'esecuzione di test e viene generato un avviso.If the value specified for max cases is larger than the number of input cases, all input cases are used for testing and a warning will be raised.

Nota

Se sono specificati entrambi, percentuale e numero massimo di case, viene utilizzato il più piccolo dei due limiti.If both percentage and maximum number of cases is specified, the smaller of the two limits is used.

valore di inizializzazione di controlloholdout seed
Valore intero utilizzato come valore di inizializzazione per avviare il partizionamento dei dati.An integer used as the seed to start partitioning data.

Se è impostato su 0, come valore di inizializzazione viene utilizzato l'hash del'ID della struttura di data mining.If set to 0, the hash of the mining structure ID is used as the seed.

Nota

Per essere certi che una partizione sia riproducibile, è necessario specificare un valore di inizializzazione.You should specify a seed if you need to ensure that a partition can be reproduced.

Valore predefinito: REPEATABLE (0)Default: REPEATABLE(0)

OsservazioniRemarks

Per definire una struttura di data mining è necessario specificare un elenco di colonne, specificando facoltativamente le relazioni gerarchiche tra le stesse e partizionando facoltativamente la struttura di data mining in set di dati di training e test.You define a mining structure by specifying a list of columns, optionally specifying hierarchical relationships between the columns, and then optionally partitioning the mining structure into training and testing data sets.

La parola chiave SESSION facoltativa indica che si tratta di una struttura temporanea che è possibile utilizzare solo per la durata della sessione corrente.The optional SESSION keyword indicates that the structure is a temporary structure that you can use only for the duration of the current session. Al termine della sessione, la struttura e gli eventuali modelli basati su di essa verranno eliminati.When the session is terminated, the structure, and any models based on the structure, will be deleted. Per creare modelli e strutture di data mining temporanei, è innanzitutto necessario impostare la proprietà del database AllowSessionMiningModels.To create temporary mining structures and models, you must first set the database property, AllowSessionMiningModels. Per altre informazioni, vedere Proprietà di data mining.For more information, see Data Mining Properties.

Elenco delle definizioni di colonnaColumn Definition List

Per definire una struttura di data mining, è necessario includere le informazioni seguenti per ogni colonna dell'argomento column definition list:You define a mining structure by including the following information for each column in the column definition list:

  • Nome (obbligatorio)Name (mandatory)

  • Tipo di dati (obbligatorio)Data type (mandatory)

  • DistribuzioneDistribution

  • Elenco dei flag di modellazioneList of modeling flags

  • Tipo di contenuto (obbligatorio)Content type (mandatory)

  • Relazione con una colonna attributo (obbligatoria solo se applicabile), indicata dalla clausola RELATED TO.Relationship to an attribute column (mandatory only if it applies), indicated by the RELATED TO clause

    Per definire una singola colonna, utilizzare la sintassi seguente nell'elenco delle definizioni di colonna:Use the following syntax for the column definition list to define a single column:

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

Per definire una colonna di tabella nidificata utilizzare la sintassi seguente nell'elenco delle definizioni di colonna:Use the following syntax for the column definition list to define a nested table column:

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

Per un elenco dei tipi di dati, dei tipi di contenuto, delle distribuzioni di colonna e dei flag di modellazione che è possibile utilizzare per definire le colonne di una struttura, vedere gli argomenti seguenti:For a list of the data types, content types, column distributions, and modeling flags that you can use to define a structure column, see the following topics:

Relazioni tra colonneColumn Relationships

Per descrivere la relazione tra due colonne, è possibile aggiungere una clausola a qualsiasi istruzione per la definizione di colonna.You can add a clause to any column definition statement to describe the relationship between two columns. Analysis ServicesAnalysis Servicessupporta l'utilizzo delle operazioni seguenti <relazione della colonna > clausola. supports the use of the following <column relationship> clause.

CORRELATI ARELATED TO
Indica una gerarchia di valori.Indicates a value hierarchy. La destinazione di una colonna con clausola RELATED TO può essere una colonna chiave in una tabella nidificata, una colonna con valori discreti nella riga dei case oppure un'altra colonna con una clausola RELATED TO, che indica una gerarchia con più livelli.The target of a RELATED TO column can be a key column in a nested table, a discretely-valued column in the case row, or another column with a RELATED TO clause, which indicates a deeper hierarchy.

Parametri di controlloHoldout Parameters

Quando si specificano parametri di controllo, viene creata una partizione dei dati della struttura.When you specify holdout parameters, you create a partition of the structure data. La quantità specificata per il controllo è riservata per l'esecuzione di test, mentre i dati rimanenti sono utilizzati per il training.The amount that you specify for holdout is reserved for testing, and the remaining data is used for training. Se si crea una struttura di data mining utilizzando SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), per impostazione predefinita viene creata automaticamente una partizione di controllo contenente il 30% di dati per l'esecuzione di test e il 70% di dati di training.By default, if you create a mining structure by using SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), a holdout partition is created for you that contains 30 percent testing data and 70 percent training data. Per altre informazioni, vedere Training and Testing Data Sets.For more information, see Training and Testing Data Sets.

Se si crea una struttura di data mining mediante DMX (Data Mining Extensions), è necessario specificare manualmente che è stata creata una partizione di controllo.If you create a mining structure by using Data Mining Extensions (DMX), you must manually specify that a holdout partition be created.

Nota

Il ALTER MINING STRUCTURE istruzione non supporta i dati di controllo.The ALTER MINING STRUCTURE statement does not support holdout.

È possibile specificare fino a tre parametri di controllo.You can specify up to three holdout parameters. Se si specifica sia un numero massimo di case di controllo sia una percentuale di controllo, viene riservata una percentuale di case fino al raggiungimento del limite massimo dei case.If you specify both a maximum number of holdout cases and a holdout percentage, a percentage of cases are reserved until the maximum cases limit is reached. Specificare la percentuale di controllo come un numero intero seguito dal % (parola chiave) e specificare il numero massimo di case come un numero intero seguito dal casi (parola chiave).You specify the percentage of holdout as an integer followed by the PERCENT keyword, and specify the maximum number of cases as an integer followed by the CASES keyword. È possibile combinare le condizioni in qualsiasi ordine, come mostrato negli esempi seguenti:You can combine the conditions in any order, as shown in the following examples:

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

Il valore di inizializzazione di controllo controlla il punto iniziale del processo di assegnazione casuale dei case ai set di dati di training o test.The holdout seed controls the starting point of the process that randomly assigns cases to either the training or testing data sets. Impostando un valore di inizializzazione di controllo, è possibile garantire che la partizione possa essere ripetuta.By setting a holdout seed, you can ensure that the partition can be repeated. Se non viene specificato un valore di inizializzazione di controllo, Analysis ServicesAnalysis Services utilizza il nome della struttura di data mining per creare un valore di inizializzazione.If you do not specify a holdout seed, Analysis ServicesAnalysis Services uses the name of the mining structure to create a seed. Se si modifica il nome della struttura, il valore di inizializzazione cambierà.If you rename the structure, the seed value will change. È possibile utilizzare il parametro del valore di inizializzazione di controllo con uno o entrambi gli altri parametri di controllo.The holdout seed parameter can be used with either or both of the other holdout parameters.

Nota

Poiché le informazioni di partizione sono memorizzata nella cache con i dati di training, per utilizzare il controllo, è necessario assicurarsi che il CacheMode della struttura di data mining è impostata su KeepTrainingData.Because the partition information is cached with the training data, to use holdout, you must ensure that the CacheMode property of the mining structure is set to KeepTrainingData. Si tratta dell'impostazione predefinita in Analysis ServicesAnalysis Services per le strutture di data mining nuove.This is the default setting in Analysis ServicesAnalysis Services for new mining structures. Modifica il CacheMode proprietà ClearTrainingCases su una struttura di data mining esistente che contiene un controllo partizione non influiranno sui modelli di data mining che sono stati elaborati.Changing the CacheMode property to ClearTrainingCases on an existing mining structure that contains a holdout partition will not affect any mining models that have been processed. Tuttavia, se MiningStructureCacheMode non è impostata su KeepTrainingData, parametri di controllo non ha alcun effetto.However, if MiningStructureCacheMode is not set to KeepTrainingData, holdout parameters will have no effect. Ciò significa che tutti i dati di origine saranno utilizzati per il training e non sarà disponibile alcun set di test.This means that all the source data will be used for training and no test set will be available. La definizione della partizione è memorizzata nella cache con la struttura; se si cancella la cache dei case di training, verrà cancellata anche la cache dei dati di test e la definizione del controllo impostato.The definition of the partition is cached with the structure; if you clear the cache of training cases, you also clear the cache of test data, and the definition of the holdout set.

EsempiExamples

Negli esempi seguenti viene illustrato come creare una struttura di data mining con controllo mediante DMX.The following examples demonstrate how to create a mining structure with holdout by using DMX.

Esempio 1: Aggiunta di un struttura priva di set di trainingExample 1: Adding a Structure with No Training Set

Nell'esempio seguente viene creata una nuova struttura di data mining denominata New Mailing senza creare alcun modello di data mining associato e senza utilizzare alcun controllo.The following example creates a new mining structure called New Mailing without creating any associated mining models, and without using holdout. Per informazioni su come aggiungere un modello di data mining alla struttura, vedere DMX ALTER MINING STRUCTURE ( ).To learn how to add a mining model to the structure, see ALTER MINING STRUCTURE (DMX).

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

Esempio 2: Specifica della percentuale di controllo e del valore di inizializzazioneExample 2: Specifying Holdout Percentage and Seed

È possibile aggiungere la clausola seguente dopo l'elenco di definizioni di colonna per definire un set di dati da utilizzare per il test di tutti i modelli di data mining associati alla struttura di data mining.The following clause can be added after the column definition list to define a data set that can be used for testing all mining models associated with the mining structure. Con l'istruzione viene creato un set di test che corrisponde al 25% dei case di input totali, senza alcun limite nel numero massimo di case.The statement will create a test set that is 25 percent of the total input cases, without a limit on the maximum number of cases. Come valore di inizializzazione per la creazione della partizione è utilizzato 5000.5000 is used as the seed for creating the partition. Se si specifica un valore di inizializzazione, verranno scelti gli stessi case per il set di test ogni volta che la struttura di data mining viene elaborata, purché i dati sottostanti non cambino.When you specify a seed, the same cases will be chosen for the test set each time you process the mining structure, so long as the underlying data does not change.

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)  

Esempio 3: Specifica della percentuale di controllo e del numero massimo di caseExample 3: Specifying Holdout Percentage and Max Cases

La clausola seguente consente di creare un set di test che corrisponde al 25% dei case di input totali o a 2000 case, a seconda del valore minore.The following clause will create a test set that contains either 25 percent of the total input cases, or 2000 cases, whichever is less. Poiché come valore di inizializzazione è specificato 0, il nome della struttura di data mining è utilizzato per creare il valore di inizializzazione utilizzato per avviare il campionamento dei case di input.Because 0 is specified as the seed, the name of the mining structure is used to create the seed that is used to begin sampling of the input cases.

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)  

Vedere ancheSee Also

Data Mining Extensions ( DMX ) Istruzioni di definizione dei dati Data Mining Extensions (DMX) Data Definition Statements
Data Mining Extensions ( DMX ) Istruzioni di manipolazione dei dati Data Mining Extensions (DMX) Data Manipulation Statements
Data Mining Extensions ( DMX ) Riferimento istruzioneData Mining Extensions (DMX) Statement Reference