Condividi tramite


Creazione di stime in un modello sequence clustering (esercitazione intermedia sul data mining)

Dopo aver compreso meglio il modello di clustering delle sequenze esplorandolo nel visualizzatore, è possibile creare query di predizione usando il Generatore di Query di Predizione nella scheda Predizione del Modello di Mining in Progettazione del Modello di Data Mining. Per creare una stima, selezionare prima di tutto il modello sequence clustering e quindi selezionare i dati di input. Per gli input, è possibile usare un'origine dati esterna oppure compilare una query singleton e specificare i valori in una finestra di dialogo.

Questa lezione presuppone che si abbia già familiarità con l'uso del generatore di query di stima e si voglia imparare a creare query specifiche di un modello di sequence clustering. Per informazioni generali sull'uso del Generatore di query predittive, vedere Interfacce di query per il 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, si creeranno prima di tutto alcune query di stima singleton per ottenere un'idea del modo in cui le stime potrebbero essere diverse in base all'area.

Per creare una query singola su un modello di clustering di sequenze.

  1. Fare clic sulla scheda Predizione del modello di data mining del Progettazione di Data Mining.

  2. Nel menu della colonna Modello di Mining, selezionare Query Singleton.

    Vengono visualizzati il riquadro Mining Model e il riquadro Input della query Singleton.

  3. Nel riquadro Modello di mining fare clic su Seleziona modello. È possibile ignorare questo passaggio se la modalità sequence clustering è già selezionata.

    Si apre la finestra di dialogo Seleziona modello di data mining.

  4. Espandere il nodo che rappresenta la struttura di estrazione dei dati Clusterizzazione Sequenziale con Regione e selezionare il modello Clusterizzazione Sequenziale con Regione. Fare clic su OK. Per il momento, ignorare il riquadro di input; gli input verranno specificati dopo aver 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.

    Annotazioni

    È anche possibile usare la funzione Predict . In questo 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 v Assoc Seq Line Itemsnidificata e trascinarla nella griglia, nella casella Criteri/Argomento per la funzione PredictSequence .

    Il trascinamento e l'eliminazione dei nomi di tabella e colonna consentono 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 nella parte superiore del Generatore di query di previsione.

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

$SEQUENCE Numero di riga Modello
1 Mountain-200

Cosa significano questi risultati? Tenere presente che non sono stati specificati input. Di conseguenza, la stima viene eseguita rispetto all'intero popolamento dei casi e Analysis Services restituisce la stima complessiva più probabile.

Aggiunta di input a una query di stima Singleton

Finora non hai specificato alcun dato. Nell'attività successiva si userà il riquadro Input query Singleton per specificare alcuni input per la query. Prima di tutto, si userà [Region] come input per il modello di clustering di sequenze a livello di area, per determinare se le sequenze stimate sono uguali per tutte le aree. Si apprenderà quindi come modificare la query per aggiungere la probabilità per ogni stima e rendere flat i risultati per renderli più facili da visualizzare.

Per generare stime per un gruppo di clienti specifico
  1. Fare clic sul pulsante Progettazione nell'angolo superiore sinistro del Generatore di query di previsione per tornare alla griglia di costruzione della 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. Clicca sul pulsante Design nell'angolo superiore sinistro del Generatore di query di previsione per tornare alla griglia di compilazione della 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.

Aggiungere probabilità utilizzando un'espressione personalizzata

Per restituire la probabilità per ciascuna previsione è leggermente più complicato, perché la probabilità è un attributo della previsione e viene restituita come tabella nidificata. Se si ha familiarità con le estensioni di Data Mining (DMX), è possibile modificare facilmente la query per aggiungere un'istruzione di sub-select nella tabella nidificata. Tuttavia, è anche possibile creare un'istruzione di selezione secondaria nel Generatore di query di previsione aggiungendo un'espressione personalizzata.

Per restituire le probabilità per una sequenza stimata usando un'espressione personalizzata
  1. Fare clic sul pulsante Progettazione nell'angolo superiore sinistro del Generatore query predittiva per passare alla griglia di costruzione della query.

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

  3. Lasciare vuota la casella sotto Field.

  4. Per Alias digitare t.

  5. Nella casella Criteri/Argomento digitare l'istruzione di sotto-selezione completa, come illustrato nell'esempio di codice seguente. Assicurarsi di includere le parentesi iniziali e finali.

    (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 predizione e una con la probabilità della predizione. Se la query non funziona, è possibile passare alla visualizzazione Struttura della query ed esaminare l'intera istruzione della query, che deve essere la 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 semplificare i risultati per una visualizzazione più semplice. A tale scopo, è possibile modificare manualmente la query e aggiungere la FLATTENED parola chiave .

Per appiattire insiemi di righe annidati in una query di previsione
  1. Fare clic sul pulsante Query nell'angolo del Generatore di query di previsione.

    La griglia si trasforma in un riquadro aperto in cui è possibile visualizzare e modificare l'istruzione DMX creata dal Generatore di query di previsione.

  2. Dopo la SELECT parola chiave digitare FLATTENED.

    Il testo completo della query dovrebbe essere simile 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 Builder di query di previsione.

Dopo aver modificato manualmente una query, non sarà possibile tornare alla visualizzazione Progettazione senza perdere le modifiche. È tuttavia possibile salvare l'istruzione DMX creata manualmente in un file di testo e quindi tornare alla visualizzazione Struttura. In questo caso, la query viene ripristinata all'ultima versione valida nella visualizzazione Struttura.

Negli esempi precedenti è stata usata una colonna della tabella dei casi, Region, come input per la query di previsione singola, perché si era interessati a sapere se il modello aveva trovato differenze tra le regioni. Tuttavia, dopo aver esplorato il modello, si è deciso che le differenze non sono sufficienti per giustificare la personalizzazione delle raccomandazioni dei prodotti in base all'area. Ciò che si è davvero interessati a prevedere è gli elementi selezionati dai clienti. Pertanto, nelle query che seguono si userà il modello sequence clustering che non include Region per generare raccomandazioni per tutti i clienti.

Utilizzo di colonne di tabella nidificate come input

Prima di tutto si creerà una query di stima singleton che accetta un singolo elemento come input e restituisce l'elemento più probabile successivo. Per ottenere una stima di questo tipo, è necessario usare una colonna della tabella nidificata come valore di input. Ciò è dovuto al fatto che l'attributo che si sta prevedendo, Model, fa parte di una tabella nidificata. Analysis Services fornisce la finestra di dialogo Input tabella nidificata che consente di creare facilmente query di previsione sugli attributi della tabella nidificata tramite il Generatore di query di previsione.

Per utilizzare una tabella nidificata come input per una previsione
  1. Fare clic sul pulsante Progettazione nell'angolo superiore sinistro del Generatore di query predittive per tornare alla griglia di creazione delle 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 sul pulsante (...) .

  4. Nella finestra di dialogo Input Tabella Nidificata fare clic su Aggiungi.

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

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

Il modello consiglia i seguenti elementi successivi per tutti i clienti che scelgono Touring Tire come primo elemento. Sai già dall'esplorazione del modello che i clienti acquistano frequentemente insieme i prodotti Touring Tire e Touring Tire Tube, quindi questi suggerimenti sembrano buoni.

$SEQUENCE Numero di riga Modello
1 Touring Tire Tube
2 Sport-100
3 Maglia con Logo Long-Sleeve

Creazione di una query di previsione di massa con input da tabelle annidate

Ora che sei soddisfatto che il modello crea il tipo di previsioni che puoi usare per formulare raccomandazioni, creerai una query di previsioni collegata a un'origine dati esterna. Tale origine dati fornirà valori che rappresentano i prodotti correnti. Poiché sei interessato alla creazione di una query di previsione che fornisce l'ID Cliente e un elenco di prodotti come input, aggiungerai la tabella dei clienti come tabella case e la tabella degli acquisti come tabella nidificata. Si aggiungeranno quindi le funzioni di stima come in precedenza per creare raccomandazioni.

Questa è la stessa procedura usata per creare stime per lo scenario market basket nella lezione 3; Tuttavia, in un modello sequence clustering le stime richiedono anche l'ordine come input.

Per creare una query di stima usando input di tabella annidati
  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 dei casi.

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

  4. Nella finestra di dialogo Seleziona tabella di input, fare clic su Seleziona tabella annidata.

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

    Analysis Services tenterà di rilevare le relazioni e 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 sono già state 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 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/Argomento deve essere: [Sequence Clustering].[v Assoc Seq Line Items],2

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

L'esercitazione sui modelli di sequence clustering è stata completata.

Passaggi successivi

Se tutte le sezioni dell'Esercitazione intermedia sul data mining (Analysis Services - Data mining) sono state completate, il passaggio successivo consiste nell'imparare 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).For more information, see Creating and Querying Data mining models with DMX: Tutorials (Analysis Services - Data mining).

Se si ha familiarità con i concetti di programmazione, è anche possibile usare Analysis Management Objects (AMO) per lavorare a livello di codice con gli oggetti di data mining. Per ulteriori informazioni, vedere Classi AMO di estrazione di dati.

Vedere anche

Esempi di query del modello sequence clustering
Contenuto del modello di data mining per i modelli di clustering di sequenze (Analysis Services - Data mining)