Condividi tramite


CREATE MINING MODEL (DMX)

Consente di creare sia un nuovo modello di data mining che una struttura di data mining nel database. Per creare un modello è possibile definirlo nell'istruzione oppure utilizzare il linguaggio PMML (Predictive Model Markup Language). La seconda soluzione è consigliata solo agli utenti esperti.

Il nome della struttura di data mining viene creato aggiungendo il suffisso "_structure" al nome del modello, per assicurare l'utilizzo di un nome univoco derivato dal nome del modello.

Per creare un modello di data mining per una struttura di data mining esistente, utilizzare l'istruzione ALTER MINING STRUCTURE (DMX).

Sintassi

CREATE [SESSION] MINING MODEL <model>
(
    [(<column definition list>)]
)
USING <algorithm> [(<parameter list>)] [WITH DRILLTHROUGH]
CREATE MINING MODEL <model> FROM PMML <xml string>

Argomenti

model

Nome univoco del modello.

column definition list

Elenco delimitato da virgole contenente le definizioni delle colonne.

algorithm

Nome definito dal provider di un provider di data mining.

parameter list

Facoltativo. Elenco delimitato da virgole dei parametri definiti dal provider per l'algoritmo.

XML string

(Riservato agli utenti esperti). Modello con codifica XML (PMML). La stringa deve essere racchiusa tra virgolette singole (').

Osservazioni

La clausola SESSION consente di creare un modello di data mining che viene automaticamente rimosso dal server alla chiusura della connessione o al timeout della sessione. I modelli di data mining con clausola SESSION sono utili perché non richiedono che l'utente sia un amministratore del database e occupano spazio su disco solo mentre è aperta la connessione.

La clausola WITH DRILLTHROUGH consente il drill-through sul nuovo modello di data mining. È possibile attivare il drill-through solo al momento della creazione del modello.

L'istruzione CREATE MINING MODEL consente di creare un nuovo modello di data mining basato sull'elenco delle definizioni di colonna, sull'algoritmo e sull'elenco dei parametri dell'algoritmo.

Elenco delle definizioni di colonna

Per definire la struttura di un modello che utilizza l'elenco delle definizioni di colonna, è necessario includere le informazioni seguenti per ogni colonna:

  • Nome (obbligatorio)
  • Tipo di dati (obbligatorio)
  • Distribuzione
  • Elenco dei flag di modellazione
  • Tipo di contenuto (obbligatorio)
  • Richiesta di stima, che indica l'algoritmo per la stima di questa colonna ed è indicata dalla clausola PREDICT o PREDICT_ONLY.
  • Relazione con una colonna di 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>    [<prediction>]    [<column relationship>] 

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

<column name>    TABLE    [<prediction>] ( <non-table column definition list> )

Ad eccezione dei flag di modellazione, per definire una colonna non è possibile utilizzare più di una clausola di uno stesso gruppo. È invece possibile definire più flag di modellazione per una stessa colonna.

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 una colonna, vedere gli argomenti seguenti:

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

RELATED TO

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

Per descrivere la modalità di utilizzo della colonna di stima, utilizzare una clausola di stima. Nella tabella seguente vengono descritte le due clausole disponibili.

Clausola <di stima> Descrizione

PREDICT

Questa colonna può essere stimata dal modello e può essere specificata nei case di input per stimare il valore di altre colonne stimabili.

PREDICT_ONLY

Questa colonna può essere stimata dal modello, ma i relativi valori non possono essere utilizzati nei case di input per stimare il valore di altre colonne stimabili.

Elenco delle definizioni di parametro

È possibile utilizzare l'elenco dei parametri per regolare le prestazioni e le funzionalità di un modello di data mining. La sintassi dell'elenco dei parametri è la seguente:

[<parameter> = <value>, <parameter> = <value>,…]

Per un elenco dei parametri associati a ogni algoritmo, vedere Algoritmi di data mining.

Esempio sull'algoritmo Naive Bayes

Nell'esempio seguente viene utilizzato l'algoritmo Microsoft Naive Bayes per creare un nuovo modello di data mining. La colonna Bike Buyer è definita come attributo stimabile.

CREATE MINING MODEL [NBSample]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE PREDICT
)
Using Microsoft_Naive_Bayes

Esempio sul modello Association Rules

Nell'esempio seguente viene utilizzato l'algoritmo Microsoft Association Rules per creare un nuovo modello di data mining. L'istruzione sfrutta la possibilità di nidificare una tabella nella definizione del modello tramite una colonna di tabella. Il modello viene modificato utilizzando i parametri Minimum_Probability e Minimum_Support.

CREATE MINING MODEL MyAssociationModel (
    OrderNumber TEXT KEY,
    [Products] TABLE PREDICT (
        [Model] TEXT KEY
    )
)
Using Microsoft_Association_Rules (Minimum_Probability = 0.1, Minimum_Support = 0.01)

Esempio sull'algoritmo Sequence Clustering

Nell'esempio seguente viene utilizzato l'algoritmo Microsoft Sequence Clustering per creare un nuovo modello di data mining. Per definire il modello vengono utilizzate due chiavi. La chiave Order Number specifica i singoli ordini, mentre la chiave Line Number specifica la sequenza in cui gli elementi sono stati aggiunti a un ordine.

CREATE MINING MODEL BuyingSequence (
    [Order Number] TEXT KEY,
    [Products] TABLE (
        [Line Number] LONG KEY SEQUENCE,
        [Model] TEXT DISCRETE PREDICT
)
)
Using Microsoft_Sequence_Clustering

Esempio sull'algoritmo Time Series

Nell'esempio seguente viene utilizzato l'algoritmo Microsoft Times Series per creare un nuovo modello di data mining. Poiché un modello Time Series può contenere più chiavi, sia TimeIndex che ModelRegion vengono designate come colonne chiave. In questo esempio si presuppone che i dati abbiano una periodicità di 12 mesi. Il parametro PERIODICITY_HINT viene pertanto impostato su 12.

[!NOTA] Per specificare il parametro PERIODICITY_HINT è necessario utilizzare le parentesi graffe "{}".

CREATE MINING MODEL SalesForcast (
        TimeIndex LONG KEY TIME,
        ModelRegion TEXT KEY,
        Amount LONG CONTINUOUS PREDICT,
        Quantity LONG CONTINUOUS PREDICT
)
Using Microsoft_Time_Series (PERIODICITY_HINT = '{12}')

Vedere anche

Riferimento

Istruzioni DMX (Data Mining Extensions) per la definizione dei dati
Istruzioni DMX (Data Mining Extensions) per la manipolazione dei dati
Guida di riferimento alle istruzioni DMX (Data Mining Extensions)

Guida in linea e informazioni

Assistenza su SQL Server 2005