CREATE MINING STRUCTURE (DMX)

Crea una nuova struttura di data mining in un database e facoltativamente definisce le partizioni di training e test. Dopo avere creato la struttura di data mining, è possibile utilizzare l'istruzione ALTER MINING STRUCTURE (DMX) per aggiungere ulteriori modelli alla stessa.

Sintassi

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

Argomenti

  • structure
    Nome univoco della struttura.

  • column definition list
    Elenco delimitato da virgole contenente le definizioni delle colonne.

  • holdout-maxpercent
    Valore integer tra 1 e 100 che indica la percentuale di dati accantonata per l'esecuzione di test.

  • holdout-maxcases
    Valore integer che indica il numero massimo di case da utilizzare per l'esecuzione di test.

    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.

    Nota

    Se sono specificati entrambi, percentuale e numero massimo di case, viene utilizzato il più piccolo dei due limiti.

  • holdout seed
    Valore integer utilizzato come valore di inizializzazione per avviare il partizionamento dei dati.

    Se è impostato su 0, come valore di inizializzazione viene utilizzato l'hash del'ID della struttura di data mining.

    Nota

    Per essere certi che una partizione sia riproducibile, è necessario specificare un valore di inizializzazione.

    Valore predefinito: REPEATABLE (0)

Osservazioni

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.

La parola chiave SESSION facoltativa indica che si tratta di una struttura temporanea che è possibile utilizzare solo per la durata della sessione corrente. Al termine della sessione, la struttura e gli eventuali modelli basati su di essa verranno eliminati. Prima di creare strutture e modelli di data mining temporanei, è necessario impostare la proprietà del database AllowSessionMiningModels. Per ulteriori informazioni, vedere Proprietà di data mining.

Elenco delle definizioni di colonna

Per definire una struttura di data mining, è necessario includere le informazioni seguenti per ogni colonna dell'argomento column definition list:

  • Nome (obbligatorio)

  • Tipo di dati (obbligatorio)

  • Distribuzione

  • Elenco dei flag di modellazione

  • Tipo di contenuto (obbligatorio)

  • Relazione con una colonna attributo (obbligatoria solo se applicabile), indicata dalla clausola RELATED TO.

Per definire una singola colonna utilizzare la sintassi seguente nell'elenco delle definizioni di colonna:

<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:

<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:

È possibile definire più valori dei flag di modellazione per una colonna. Tuttavia, è possibile disporre solo di un tipo di contenuto e di un tipo di dati per colonna.

Relazioni tra colonne

Per descrivere la relazione tra due colonne, è possibile aggiungere una clausola a qualsiasi istruzione per la definizione di colonna. Analysis Services supporta l'utilizzo della clausola di relazione tra colonne indicata di seguito.<>

  • RELATED TO
    Indica una gerarchia di valori. 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.

Parametri di controllo

Quando si specificano parametri di controllo, viene creata una partizione dei dati della struttura. La quantità specificata per il controllo è riservata per l'esecuzione di test, mentre i dati rimanenti sono utilizzati per il training. Se si crea una struttura di data mining utilizzando Business Intelligence Development Studio, 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. Per ulteriori informazioni, vedere Partizionamento dei dati in set di training e in set di testing (Analysis Services - Data mining).

Se si crea una struttura di data mining mediante DMX (Data Mining Extensions), è necessario specificare manualmente che è stata creata una partizione di controllo.

Nota

L'istruzione ALTER MINING STRUCTURE non supporta partizioni di controllo.

È possibile specificare fino a tre parametri di controllo. 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. Specificare la percentuale di controllo come un valore integer seguito dalla parola chiave PERCENT e il numero massimo di case come un valore integer seguito dalla parola chiave CASES. È possibile combinare le condizioni in qualsiasi ordine, come mostrato negli esempi seguenti:

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. Impostando un valore di inizializzazione di controllo, è possibile garantire che la partizione possa essere ripetuta. Se non viene specificato un valore di inizializzazione di controllo, Analysis Services utilizza il nome della struttura di data mining per creare un valore di inizializzazione. Se si modifica il nome della struttura, il valore di inizializzazione cambierà. È possibile utilizzare il parametro del valore di inizializzazione di controllo con uno o entrambi gli altri parametri di controllo.

Nota

Poiché le informazioni sulle partizioni sono memorizzate nella cache con i dati di training, per utilizzare il controllo è necessario verificare che la proprietà CacheMode della struttura di data mining sia impostata su KeepTrainingData. Si tratta dell'impostazione predefinita in Analysis Services per le strutture di data mining nuove. La modifica della proprietà CacheMode in ClearTrainingCases su una struttura di data mining esistente contenente una partizione di controllo non influirà sui modelli di data mining eventualmente elaborati. Tuttavia, se MiningStructureCacheMode non è impostato su KeepTrainingData, i parametri di controllo non avranno alcun effetto. Ciò significa che tutti i dati di origine saranno utilizzati per il training e non sarà disponibile alcun set di test. 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.

Esempi

Negli esempi seguenti viene illustrato come creare una struttura di data mining con controllo mediante DMX.

Esempio 1: Aggiunta di un struttura priva di set di training

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. Per informazioni su come aggiungere un modello di data mining alla struttura, vedere 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 inizializzazione

È 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. 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. Come valore di inizializzazione per la creazione della partizione è utilizzato 5000. 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.

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 case

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

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)