Condividi tramite


Creazione di stime su un modello Sequence Clustering (Esercitazione intermedia sul data mining)

Dopo aver compreso meglio il modello di clustering della sequenza nel visualizzatore, è possibile creare query di stima usando Generatore query di stima nella scheda Stima dei modelli di data mining in Data Mining Designer. Per creare una stima, occorre selezionare innanzitutto il modello Sequence Clustering, quindi i dati di input. Per gli input, è possibile utilizzare un'origine dati esterna o compilare una query singleton e fornire valori in una finestra di dialogo.

In questa lezione si presuppone che l'utente abbia già familiarità con l'utilizzo del generatore delle query di stima e desideri apprendere come compilare query specifiche per un modello Sequence Clustering. Per informazioni generali su come usare Generatore query di stima, vedere Interfacce query di data mining o la sezione dell'esercitazione di base sul data mining, creazione di stime (esercitazione di base sul data mining).

Creazione di stime sul modello regionale

Per questo scenario verranno dapprima create alcune query di stima singleton, per avere un'idea di come le stime potrebbero variare a seconda dell'area.

Per creare una query singleton in un modello Sequence Clustering

  1. Fare clic sulla scheda Stima modello di data mining dell'Designer.

  2. Nel menu Della colonna Modello di data mining selezionare Query Singleton.

    Viene visualizzato il riquadro Modello di data mining e il riquadro Input query Singleton .

  3. Nel riquadro Modello di data mining fare clic su Seleziona modello. Se il modello Sequence Clustering è già stato selezionato, ignorare questo passaggio.

    Verrà visualizzata la finestra di dialogo Seleziona modello di data mining .

  4. Espandere il nodo che rappresenta il clustering sequenza di strutture di data mining con Area e selezionare il clustering sequenza di modelli con area. Fare clic su OK. Per il momento, ignorare il riquadro di input. Gli input verranno specificati dopo avere configurato le funzioni di stima.

  5. Nella griglia fare clic sulla cella vuota in Origine e selezionare Funzione di stima. Nella cella in Camposelezionare PredictSequence.

    Nota

    È anche possibile usare la funzione Predict . In caso affermativo, assicurarsi di scegliere la versione della funzione Predict che accetta una colonna di tabella come argomento.

  6. Nel riquadro Modello di data mining selezionare la tabella v Assoc Seq Line Itemsannidata e trascinarla nella griglia nella casella Criteri/Argomento per la funzione PredictSequence .

    Il trascinamento dei nomi di tabella e colonna consente di compilare istruzioni complesse senza errori di sintassi. Sostituisce tuttavia il contenuto corrente della cella, che include altri argomenti facoltativi per la funzione PredictSequence . Per visualizzare gli altri argomenti, è possibile aggiungere temporaneamente una seconda istanza della funzione alla griglia per riferimento.

  7. Fare clic sul pulsante Risultato nell'angolo superiore di Generatore query di stima.

I risultati previsti contengono una singola colonna con l'intestazione Expression. La colonna Expression contiene una tabella annidata con tre colonne come indicato di seguito:

$SEQUENCE Line Number Modellare
1 Mountain-200

Che cosa indicano questi risultati? Si tenga presente che non è stato specificato alcun input. La stima pertanto viene eseguita rispetto all'intera popolazione dei case e Analysis Services restituisce la stima più probabile a livello complessivo.

Aggiunta di input a una query di stima singleton

Finora non è stato specificato alcun input. Nell'attività successiva si userà il riquadro Input query Singleton per specificare alcuni input per la query. Innanzitutto, si utilizzerà [Region] come input per il modello Sequence Clustering regionale, per determinare se le sequenze stimate sono le stesse per tutte le aree. Verrà quindi descritto come modificare la query per aggiungere la probabilità per ogni stima e convertire i risultati in formato flat per renderne più semplice la visualizzazione.

Per generare stime per uno specifico gruppo di clienti
  1. Fare clic sul pulsante Progettazione nell'angolo in alto a sinistra del Generatore query di stima per tornare alla griglia di compilazione di query.

  2. Nella finestra di dialogo Input query Singleton fare clic sulla casella Valore per Regione selezionare Europa.

  3. Fare clic sul pulsante Risultato per visualizzare le stime per i clienti in Europa.

  4. Fare clic sul pulsante Progettazione nell'angolo in alto a sinistra del Generatore query di stima per tornare alla griglia di compilazione di query.

  5. Nella finestra di dialogo Input query Singleton fare clic sulla casella Valore per Regione selezionare America del Nord.

  6. Fare clic sul pulsante Risultato per visualizzare le stime per i clienti in America del Nord.

Aggiunta di probabilità tramite un'espressione personalizzata

Restituire la probabilità per ogni stima è leggermente più complicato, perché la probabilità è un attributo della stima e viene restituita come una tabella nidificata. Se si ha familiarità con DMX (Data Mining Extensions), è possibile modificare facilmente la query per aggiungere un'istruzione sub-SELECT sulla tabella nidificata. Tuttavia, è anche possibile creare un'istruzione sub-SELECT nel generatore delle query di stima aggiungendo un'espressione personalizzata.

Per restituire le probabilità per una sequenza stimata tramite un'espressione personalizzata
  1. Fare clic sul pulsante Progettazione nell'angolo in alto a sinistra del Generatore query di stima per tornare alla griglia di compilazione di query.

  2. Nella griglia, in Origine, fare clic su una nuova riga e selezionare Espressione personalizzata.

  3. Lasciare vuota la casella in Campo .

  4. Per Alias digitare t.

  5. Nella casella Criteri/Argomento digitare l'istruzione di selezione secondaria completa, come illustrato nell'esempio di codice seguente. Assicurarsi di includere le parentesi iniziale e finale.

    (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))  
    
  6. Fare clic sul pulsante Risultato per visualizzare le stime per i clienti in Europa.

I risultati ora contengono due tabelle nidificate, una con la stima e una con la probabilità per la stima. Se la query non funziona, è possibile passare alla visualizzazione Progettazione query ed esaminare l'istruzione della query completa, che dovrebbe avere l'aspetto seguente:

SELECT  
  PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),  
  ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]  
FROM  
  [Sequence Clustering with Region]  
NATURAL PREDICTION JOIN  
(SELECT 'Europe' AS [Region]) AS t  

Utilizzo dei risultati

Quando nei risultati sono presenti molte tabelle nidificate, è possibile convertire i risultati in formato flat per semplificarne la visualizzazione. A tale scopo, è possibile modificare manualmente la query aggiungendovi la parola chiave FLATTENED.

Per convertire in formato flat i set di righe nidificati in una query di stima
  1. Fare clic sul pulsante Query nell'angolo di Generatore query di stima.

    La griglia viene sostituita da un riquadro aperto in cui è possibile visualizzare e modificare l'istruzione DMX creata dal generatore delle query di stima.

  2. Dopo la parola chiave SELECT digitare FLATTENED.

    Il testo completo della query dovrebbe risultare analogo al seguente:

    SELECT FLATTENED  
      PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),  
      ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]  
    FROM  
      [Sequence Clustering with Region]  
    NATURAL PREDICTION JOIN  
    (SELECT 'Europe' AS [Region]) AS t  
    
  3. Fare clic sul pulsante Risultati nell'angolo superiore di Generatore query di stima.

Dopo avere modificato manualmente una query, non sarà possibile tornare alla visualizzazione della struttura senza perdere le modifiche apportate. È tuttavia possibile salvare l'istruzione DMX creata manualmente in un file di testo, quindi tornare alla visualizzazione della struttura. Eseguendo tale operazione, verrà ripristinata l'ultima versione della query valida nella visualizzazione della struttura.

Negli esempi precedenti è stata utilizzata una colonna della tabella del case, Region, come input per la query di stima singleton perché si era interessati a sapere se il modello aveva individuato eventuali differenze tra le aree. Tuttavia, dopo avere esplorato il modello, si è deciso che le differenze non sono abbastanza marcate da giustificare una personalizzazione dei consigli sui prodotti in base all'area. Ciò che si è realmente interessati a stimare sono gli articoli che i clienti selezionano. Nelle query che seguono, pertanto, si utilizzerà il modello Sequence Clustering che non include Region per generare consigli per tutti i clienti.

Utilizzo di colonne di tabelle nidificate come input

Innanzitutto verrà creata una query di stima singleton che accetta un solo articolo come input e restituisce l'articolo successivo più probabile. Per ottenere una stima di questo tipo, è necessario utilizzare una colonna di tabella nidificata come valore di input. Questo avviene perché l'attributo stimato, Model, fa parte di una tabella nidificata. Analysis Services fornisce la finestra di dialogo Input tabella annidata per semplificare la creazione di query di stima sugli attributi di tabella annidati usando Generatore query di stima.

Per utilizzare una tabella nidificata come input per una stima
  1. Fare clic sul pulsante Progettazione nell'angolo in alto a sinistra del Generatore query di stima per tornare alla griglia di compilazione di query.

  2. Nella finestra di dialogo Input query Singleton fare clic sulla casella Valore per Regione selezionare la riga vuota per cancellare l'input per questo campo.

  3. Nella finestra di dialogo Input query Singleton fare clic sulla casella Valore per vAssocSeqLineItemse quindi fare clic sul pulsante (...) .

  4. Nella finestra di dialogo Input tabella annidata fare clic su Aggiungi.

  5. Nella nuova riga fare clic sulla casella in Modele selezionare Touring Tire nell'elenco. Fare clic su OK.

  6. Fare clic sul pulsante Risultato per visualizzare le stime.

Il modello consiglia gli articoli successivi per tutti i clienti che scelgono Touring Tire come primo articolo. Si sa già dall'esplorazione del modello che di frequente i clienti acquistano insieme i prodotti Touring Tire e Touring Tire Tube, pertanto questi consigli sembrano validi.

$SEQUENCE Line Number Modellare
1 Touring Tire Tube
2 Sport-100
3 Long-Sleeve Logo Jersey

Creazione di una query di stima bulk tramite input di tabelle nidificate

Una volta verificato che il modello crea il tipo di stime che è possibile utilizzare per la creazione di consigli, verrà creata una query di stima associata a un'origine dati esterna. Tale origine dati fornirà valori che rappresentano i prodotti correnti. Poiché si è interessati alla creazione di una query di stima che fornisca l'ID cliente e un elenco di prodotti come input, si aggiungerà la tabella dei clienti come tabella del case e la tabella degli acquisti come tabella nidificata. Si aggiungeranno quindi funzioni di stima per creare consigli, come in precedenza.

Si tratta della stessa procedura utilizzata per creare stime per lo scenario di analisi degli acquisti nella lezione 3, tuttavia in un modello Sequence Clustering le stime necessitano anche dell'ordine come input.

Per creare una query di stima tramite input di tabelle nidificate
  1. Nel riquadro Modello di data mining selezionare il modello Sequence Clustering, se non è già selezionato.

  2. Nella finestra di dialogo Seleziona tabelle di input fare clic su Seleziona tabella case.

  3. Nella finestra di dialogo Seleziona tabella selezionare Ordini per Origine dati. Nell'elenco Nome tabella/visualizzazione selezionare vAssocSeqOrders e quindi fare clic su OK.

  4. Nella finestra di dialogo Seleziona tabelle di input fare clic su Seleziona tabella nidificata.

  5. Nella finestra di dialogo Seleziona tabella selezionare Ordini per Origine dati. Nell'elenco Nome tabella/visualizzazione selezionare vAssocSeqLineItems e quindi fare clic su OK.

    Analysis Services tenterà di rilevare le relazioni e di crearle automaticamente se i tipi di dati corrispondono e i nomi delle colonne sono simili. Se le relazioni create non sono corrette, è possibile fare clic con il pulsante destro del mouse sulla riga di join e scegliere Modifica connessioni per modificare il mapping delle colonne oppure fare clic con il pulsante destro del mouse sulla riga di join e scegliere Elimina per rimuovere completamente la relazione. In questo caso, poiché le tabelle erano già unite in join nella vista origine dati, tali relazioni vengono aggiunte automaticamente al riquadro di progettazione.

  6. Aggiungere una nuova riga alla griglia. Per Origine selezionare vAssocSeqOrders e per Campo selezionare CustomerKey.

  7. Aggiungere una nuova riga alla griglia. Per Origine selezionare Funzione di stima e per Camposelezionare PredictSequence.

  8. Trascinare vAssocSeqLineItems nella casella Criteri/Argomento . Fare clic alla fine della casella Criteri/Argomento e quindi digitare gli argomenti seguenti: 2.

    Il testo completo nella casella Criteri/Argomenti deve essere: [Sequence Clustering].[v Assoc Seq Line Items],2

  9. Fare clic sul pulsante Risultato per visualizzare le stime per ogni cliente.

Questo passaggio conclude l'esercitazione relativa ai modelli Sequence Clustering.

Passaggi successivi

Se sono state completate tutte le sezioni dell'Esercitazione intermedia sul data mining (Analysis Services - Data mining), il passaggio successivo consiste nell'apprendere a usare le istruzioni DMX (Data Mining Extensions) per compilare modelli e generare stime. Per altre informazioni, vedere Creazione ed esecuzione di query su modelli di data mining con DMX: Esercitazioni (Analysis Services - Data mining).

Se si ha familiarità con i concetti relativi alla programmazione, è anche possibile utilizzare AMO (Analysis Management Objects) per gestire a livello di codice gli oggetti di data mining. Per altre informazioni, vedere Classi di data mining AMO.

Vedere anche

Sequence Clustering Model Query Examples
Contenuto dei modelli di data mining per i modelli Sequence Clustering (Analysis Services - Data mining)