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 di un algoritmo di data mining, secondo quanto definito dal provider corrente.

    Nota

    È possibile recuperare un elenco degli algoritmi supportati dal provider corrente utilizzando Set di righe DMSCHEMA_MINING_SERVICES. Per visualizzare gli algoritmi supportati nell'istanza corrente di Analysis Services, vedere Proprietà 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 (').

La clausola SESSION consente di creare un modello di data mining che viene rimosso automaticamente dal server alla chiusura della connessione o al timeout della sessione. I modelli di data mining SESSION sono utili perché non richiedono che l'utente sia l'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. Per alcuni tipi di modello, il drill-through è necessario per esplorare il modello nel visualizzatore personalizzato. Il drill-through non è richiesto per stima o per esplorare il modello tramite Microsoft Generic Content Tree Viewer.

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 (Analysis Services - Data mining).

Osservazioni

Per creare un modello che dispone di un set di dati di testing incorporati, è necessario utilizzare l'istruzione CREATE MINING STRUCTURE seguita da ALTER MINING STRUCTURE. Tuttavia, non tutti i tipi di modello supportano un set di dati di controllo. Per ulteriori informazioni, vedere CREATE MINING STRUCTURE (DMX).

Per una procedura dettagliata su come creare un modello di data mining tramite l'istruzione CREATEMODEL, vedere Esercitazione su DMX per le stime basate su serie temporali.

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 colonna OrderNumber viene utilizzata come chiave del case e specifica singoli ordini. La colonna LineNumber viene utilizzata come chiave della tabella nidificata e specifica la sequenza nella quale gli elementi sono 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 utilizzando l'algoritmo ARTxp. ReportingDate è la colonna chiave per la serie temporale e ModelRegion è la colonna chiave per la serie di dati. In questo esempio si presuppone che i dati abbiano una periodicità di 12 mesi. Pertanto il parametro PERIODICITY_HINT è impostato su 12.

Nota

Per specificare il parametro PERIODICITY_HINT è necessario utilizzare le parentesi graffe. Inoltre, poiché il valore è una stringa, deve essere racchiuso tra virgolette singole: "{<valore numerico>}".

CREATE MINING MODEL SalesForecast (
        ReportingDate DATE KEY TIME,
        ModelRegion TEXT KEY,
        Amount LONG CONTINUOUS PREDICT,
        Quantity LONG CONTINUOUS PREDICT
)
USING Microsoft_Time_Series (PERIODICITY_HINT = '{12}', FORECAST_METHOD = 'ARTXP')