Stima delle associazioni (Esercitazione intermedia sul data mining)

 

Si applica a: SQL Server 2016 Preview

Dopo avere elaborato i modelli, è possibile utilizzare le informazioni sulle associazioni archiviate nei modelli per creare stime. Nell'attività finale di questa lezione verrà illustrato come compilare query di stima rispetto nei modelli di associazione creati. In questa lezione si presuppone che l'utente abbia familiarità con l'utilizzo del generatore delle query di stima e desideri apprendere come compilare query di stima mediante modelli di associazione. Per ulteriori informazioni su come utilizzare il generatore di Query di stima, vedere Strumenti di Data Mining Query.

Creazione di una query di stima singleton

Le query di stima in un modello di associazione possono essere molto utili per:

  • Consigliare articoli a un cliente, in base ad acquisti correlati o precedenti

  • Trovare eventi correlati.

  • Identificare relazioni nei set di transazioni.

Per compilare una query di stima, è innanzitutto necessario selezionare il modello di associazione che si desidera utilizzare, quindi specificare i dati di input. È possibile recuperare gli input da un'origine dati esterna, ad esempio un elenco di valori, oppure compilare una query singleton e fornire i valori.

Per questo scenario verranno dapprima create alcune query di stima singleton, per avere un'idea del funzionamento delle stime. Si creerà quindi una query per le stime batch che è possibile utilizzare per dare consigli a un cliente sulla base dei suoi acquisti correnti.

Per creare una query di stima basata su un modello di associazione

  1. Fare clic sui Stima modello di Data Mining scheda Progettazione modelli di Data Mining.

  2. Nel modello di Data Mining riquadro, fare clic su Seleziona modello. Se è già selezionato il modello corretto, ignorare questo passaggio e quello successivo.

  3. Nel Seleziona modello di Data Mining finestra di dialogo espandere il nodo che rappresenta la struttura di data mining associazione, e selezionare il modello associazione. Scegliere OK.

    Ai fini di questa esercitazione, è possibile ignorare il riquadro di input.

  4. Nella griglia, fare clic sulla cella vuota sotto origine e selezionare funzione di stima. Nella cella sotto campo, selezionare PredictAssociation.

    È inoltre possibile utilizzare il Predict funzione per stimare le associazioni. Se è, assicurarsi di scegliere la versione di Predict funzione che accetta una colonna di tabella come argomento.

  5. Nel modello di Data Mining riquadro, selezionare la tabella nidificata vAssocSeqLineItems, e trascinarla nella griglia, a di criteri/argomento casella per il PredictAssociation (funzione).

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

  6. Fare clic su di criteri/argomento e digitare il testo seguente dopo il nome della tabella: ,3

    Il testo completo di criteri/argomento casella deve essere il seguente:

    [Association].[v Assoc Seq Line Items],3

  7. Fare clic su di risultati pulsante nell'angolo superiore del generatore di Query di stima.

I risultati previsti contengono una singola colonna con intestazione espressione. Il espressione colonna contiene una tabella nidificata con una singola colonna e le tre righe seguenti. Poiché non è stato specificato un valore di input, queste stime rappresentano le associazioni di prodotti più probabili per il modello nel suo complesso.

Modello
Women's Mountain Shorts
Water Bottle
Touring-3000

Successivamente, si utilizzerà il Input Query Singleton riquadro per specificare un prodotto come input per la query e visualizzare i prodotti che più probabilmente associato all'elemento.

Per creare una query di stima singleton con gli input della tabella nidificata

  1. Fare clic sui Progettazione pulsante nell'angolo del generatore di Query di stima per tornare alla griglia di compilazione query.

  2. Nel modello di Data Mining dal menu Query Singleton.

  3. Nel modello di Data Mining la finestra di dialogo, selezionare il associazione modello.

  4. Nella griglia, fare clic sulla cella vuota sotto origine e selezionare funzione di stima. Nella cella sotto campo, selezionare PredictAssociation.

  5. Nel modello di Data Mining riquadro, selezionare la tabella nidificata vAssocSeqLineItems, e trascinarla nella griglia, a di criteri/argomento casella per il PredictAssociation (funzione). Tipo ,3 dopo il nome della tabella nidificata come nella procedura precedente.

  6. Nel Input Query Singleton la finestra di dialogo, fare clic sul valore accanto alla casella vAssoc Seq Line Items, e quindi fare clic sul (...) pulsante.

  7. Nel Input tabella nidificata nella finestra di dialogo Touring Tire nel colonna chiave riquadro e quindi fare clic su Aggiungi.

  8. Fare clic su di risultati pulsante.

I risultati mostrano ora le stime relative ai prodotti che sono con la massima probabilità associati a Touring Tire.

Modello
Touring Tire Tube
Sport-100
Water Bottle

Dall'esplorazione del modello si è già appreso tuttavia che Touring Tire Tube viene frequentemente acquistato insieme a Touring Tire. Si è tuttavia maggiormente interessati a individuare i prodotti che è possibile consigliare ai clienti che acquistano questi articoli congiuntamente. Si modificherà quindi la query in modo da stimare i prodotti correlati in base ai due articoli inclusi tra gli acquisti, aggiungendovi inoltre la probabilità per ogni prodotto stimato.

Per aggiungere input e probabilità alla query di stima singleton

  1. Fare clic sui Progettazione pulsante nell'angolo del generatore di Query di stima per tornare alla griglia di compilazione query.

  2. Nel Input Query Singleton la finestra di dialogo, fare clic sul valore accanto alla casella vAssoc Seq Line Items, e quindi fare clic sul (...) pulsante.

  3. Nel colonna chiave selezionare Touring Tire, quindi fare clic su Aggiungi.

  4. Nella griglia, fare clic sulla cella vuota sotto origine e selezionare funzione di stima. Nella cella sotto campo, selezionare PredictAssociation.

  5. Nel modello di Data Mining riquadro, selezionare la tabella nidificata vAssocSeqLineItems, e trascinarla nella griglia, a di criteri/argomento casella per il PredictAssociation (funzione). Tipo ,3 dopo il nome della tabella nidificata come nella procedura precedente.

  6. Nel Input tabella nidificata nella finestra di dialogo Touring Tire Tube nel colonna chiave riquadro e quindi fare clic su Aggiungi.

  7. Nella griglia, nella riga per il PredictAssociation funzione, fare clic su di criteri/argomento casella e modificare gli argomenti per l'aggiunta di INCLUDE_STATISTICS.

    Il testo completo di criteri/argomento casella deve essere il seguente:

    [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

  8. Fare clic su di risultati pulsante.

I risultati nella tabella nidificata mostrano ora le stime, insieme al supporto e alla probabilità. Per ulteriori informazioni su come interpretare questi valori, vedere Mining Model Content per i modelli di associazione ( Analysis Services - Data Mining e 41 #;.

Modello $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291… 0.252…
Water Bottle 2866 0.192… 0.175…
Patch Kit 2113 0.142… 0.132

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 la query manualmente e aggiungere il FLATTENED (parola chiave).

Per convertire in formato flat i set di righe nidificati in una query di stima

  1. Fare clic su di SQL pulsante nell'angolo del generatore di 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 il selezionare (parola chiave), digitare FLATTENED.

    Il testo completo della query dovrebbe risultare analogo al seguente:

    SELECT FLATTENED  
      PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3)  
    FROM  
      [Association]  
    NATURAL PREDICTION JOIN  
    (SELECT (SELECT 'Touring Tire' AS [Model]  
      UNION SELECT 'Touring Tire Tube' AS [Model]) AS [v Assoc Seq Line Items]) AS t  
    
  3. Fare clic su di risultati pulsante nell'angolo superiore del generatore di Query di stima.

Si noti che dopo avere modificato manualmente una query, non sarà possibile tornare alla visualizzazione Progettazione senza perdere le modifiche apportate. Per salvare la query, è possibile copiare in un file di testo l'istruzione DMX creata manualmente. Tornando alla visualizzazione Progettazione, verrà ripristinata l'ultima versione della query valida in tale visualizzazione.

Creazione di più stime

Si supponga di voler conoscere le stime migliori per i singoli clienti in base agli acquisti passati. È possibile utilizzare dati esterni come input per la query di stima, ad esempio tabelle contenenti l'ID cliente e gli acquisti di prodotti più recenti. I requisiti prevedono che le tabelle di dati siano già definite come una vista origine dati di Analysis Services e che i dati di input contengano tabelle del case e nidificate analoghe a quelle utilizzate nel modello. Non è necessario che abbiano gli stessi nomi, ma la struttura deve essere simile. Ai fini di questa esercitazione, verranno utilizzate le tabelle originali sulle quali è stato eseguito il training del modello.

Per modificare il metodo di input per la query di stima

  1. Nel modello di Data Mining dal menu Query Singleton nuovamente, deselezionare la casella di controllo.

  2. Verrà visualizzato un messaggio di errore per avvisare che la query singleton andrà persa. Scegliere .

    Il nome nella finestra di dialogo di input viene modificato in Seleziona tabella/e Input.

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.

Per creare una query di stima tramite input di tabelle nidificate

  1. Nel riquadro Modello di data mining selezionare il modello Association Filtered.

  2. Nel Seleziona tabella/e di Input la finestra di dialogo, fare clic su Seleziona tabella del Case.

  3. Nel Seleziona tabella della finestra di dialogo per origine dati, selezionare AdventureWorksDW2008. Nel nome tabella/vista elenco, selezionare vAssocSeqOrders e quindi fare clic su OK.

    La tabella vAssocSeqOrders verrà aggiunta al riquadro.

  4. Nel Seleziona tabella/e di Input la finestra di dialogo, fare clic su Seleziona tabella nidificata.

  5. Nel Seleziona tabella della finestra di dialogo per origine dati, selezionare AdventureWorksDW2008. Nel nome tabella/vista elenco, selezionare vAssocSeqLineItems e quindi fare clic su OK.

    La tabella vAssocSeqLineItems verrà aggiunta al riquadro.

  6. Nel specifica Join nidificato la finestra di dialogo, trascinare il OrderNumber campo dalla tabella del case e rilasciarlo sul campo OrderNumber nella tabella nidificata.

    È inoltre possibile fare clic su Aggiungi relazione e creare la relazione selezionando le colonne da un elenco.

  7. Nel specificare la relazione finestra di dialogo, verificare che i campi OrderNumber vengono mappati correttamente e quindi fare clic su OK.

  8. Fare clic su OK per chiudere la specifica Join nidificato la finestra di dialogo.

    La tabella del case e la tabella nidificata verranno aggiornate nel riquadro di progettazione in modo da visualizzare i join che connettono le colonne dati esterne alle colonne del modello. Se le relazioni sono errate, è possibile fare clic sulla linea di join e selezionare Modifica connessioni per modificare la colonna mapping oppure è possibile fare clic sulla linea di join e selezionare eliminare per rimuovere completamente la relazione.

  9. Aggiungere una nuova riga alla griglia. Per origine, selezionare tabella vAssocSeqOrders. Per campo, selezionare CustomerKey.

  10. Aggiungere una nuova riga alla griglia. Per origine, selezionare tabella vAssocSeqOrders. Per campo, selezionare l'area.

  11. Aggiungere una nuova riga alla griglia. Per origine, selezionare funzione di stima, e per campo, selezionare PredictAssociation.

  12. Trascinare vAssocSeqLineItems nella criteri/argomento casella della finestra di PredictAssociation riga. Fare clic su fine il criteri/argomento e quindi digitare il testo seguente: INCLUDE_STATISTICS,3

    Il testo completo di criteri/argomento dovrebbe essere: [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

  13. Fare clic sui risultato pulsante per visualizzare le stime per ogni cliente.

È possibile provare a creare una query di stima simile in più modelli, per vedere se l'applicazione di filtri modifica i risultati della stima. Per ulteriori informazioni sulla creazione di stime e altri tipi di query, vedere esempi di Query del modello di associazione.

Vedere anche

Contenuto dei modelli di data mining per i modelli di associazione (Analysis Services - Data mining)
PredictAssociation (DMX)
Creare una query di stima utilizzando Generatore query di stima