Condividi tramite


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

Dopo avere compreso meglio il modello Sequence Clustering esplorandolo nel visualizzatore, è possibile creare query di stima tramite il generatore delle query di stima nella scheda Stima modello di data mining di Progettazione modelli di data mining. 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 sull'utilizzo del generatore delle query di stima, vedere Creazione di query di stima DMX 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 in Progettazione modelli di data mining.

  2. Scegliere Query singleton dal menu Modello di data mining.

    Verranno visualizzati 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 la struttura di data mining Sequence Clustering with Region e selezionare il modello Sequence Clustering with Region. Scegliere 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 sotto Origine e selezionare Funzione di stima. Nella cella sotto Campo selezionare PredictSequence.

    Nota

    È anche possibile utilizzare la funzione Predict. In tal caso, 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 nidificata v Assoc Seq Line Items e trascinarla nella griglia, nella casella Criteri/Argomento della funzione PredictSequence.

    Il trascinamento dei nomi di tabella e colonna consente di compilare istruzioni complesse senza errori di sintassi. In questo modo, tuttavia, viene sostituito il contenuto corrente della cella, che include gli altri argomenti facoltativi della 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 del generatore delle query di stima.

I risultati previsti contengono una sola colonna con intestazione Espressione. La colonna Espressione contiene una tabella nidificata con tre colonne, come indicato di seguito:

$SEQUENCE

Numero riga

Modello

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 utilizzerà 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 superiore sinistro del generatore delle query di stima per tornare alla griglia di compilazione query.

  2. Nella finestra di dialogo Input query singleton fare clic sulla casella Valore per Region e selezionare Europe.

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

  4. Fare clic sul pulsante Progettazione nell'angolo superiore sinistro del generatore delle query di stima per tornare alla griglia di compilazione query.

  5. Nella finestra di dialogo Input query singleton fare clic sulla casella Valore per Region e selezionare North America.

  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 le estensioni di data mining (DMX), è 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 superiore sinistro del generatore delle query di stima per tornare alla griglia di compilazione query.

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

  3. Lasciare vuota la casella sotto Campo.

  4. In Alias digitare t.

  5. Nella casella Criteri/Argomento digitare l'istruzione sub-SELECT completa come mostrato 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 del generatore delle 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 del generatore delle 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.

Creazione di stime sul modello correlato

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 nidificata per semplificare la creazione di query di stima sugli attributi di tabelle nidificate tramite il generatore delle query di stima.

Per utilizzare una tabella nidificata come input per una stima

  1. Fare clic sul pulsante Progettazione nell'angolo superiore sinistro del generatore delle query di stima per tornare alla griglia di compilazione query.

  2. Nella finestra di dialogo Input query singleton fare clic sulla casella Valore per Region e 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 vAssocSeqLineItems, quindi fare clic sul pulsante (…).

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

  5. Nella nuova riga fare clic sulla casella sotto Model e selezionare Touring Tire dall'elenco. Scegliere 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

Numero riga

Modello

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 tabella/e di input fare clic su Seleziona tabella del case.

  3. Nella finestra di dialogo Seleziona tabella selezionare Orders in Origine dati. Nell'elenco Nome tabella/vista selezionare vAssocSeqOrders e fare clic su OK.

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

  5. Nella finestra di dialogo Seleziona tabella selezionare Ordersin Origine dati. Nell'elenco Nome tabella/vista selezionare vAssocSeqLineItems e 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 sono errate, è possibile fare clic con il pulsante destro del mouse sulla linea di join e scegliere Modifica connessioni per modificare il mapping delle colonne oppure fare clic con il pulsante destro del mouse sulla linea 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. In Origine selezionare vAssocSeqOrders e in Campo selezionare CustomerKey.

  7. Aggiungere una nuova riga alla griglia. In Origine selezionare Funzione di stima e in Campo selezionare PredictSequence.

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

    Il testo completo della casella Criteri/Argomento dovrebbe risultare analogo al seguente: [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 si sono concluse tutte le sezioni di Esercitazione intermedia sul data mining (Analysis Services - Data mining), il passaggio successivo potrebbe essere imparare a utilizzare le istruzioni DMX (Data Mining Extensions) per compilare modelli e generare stime. Per ulteriori informazioni, vedere Esercitazioni sull'utilizzo di DMX.

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 ulteriori informazioni, vedere Classi di data mining AMO.