Condividi tramite


Stima delle associazioni (Esercitazione intermedia sul data mining)

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 generare 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 generare query di stima mediante modelli di associazione. Per ulteriori informazioni sull'utilizzo del generatore delle query di stima, vedere Creazione di query di stima DMX.

Creazione di una query di stima singleton

La stima associativa può essere eseguita per diversi scopi, ad esempio per consigliare un articolo a un cliente o per individuare relazioni tra prodotti. Per generare 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 generare 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 sulla scheda Stima modello di data mining in Progettazione modelli di data mining.

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

  3. Nella finestra di dialogo Seleziona modello di data mining espandere il nodo che rappresenta la struttura di data mining Associazione, quindi selezionare il modello Association. 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.

    È possibile utilizzare anche la funzione Predict per stimare le associazioni. In tal caso, assicurarsi di scegliere la versione della funzione Predict che accetta una colonna di tabella come argomento.

  5. Nel riquadro Modello di data mining selezionare la tabella nidificata vAssocSeqLineItems e trascinarla nella griglia, nella casella Criteri/Argomento della funzione PredictAssociation.

    Il trascinamento dei nomi di tabella e colonna consente di creare 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 PredictAssociation. Per visualizzare gli altri argomenti, è possibile aggiungere temporaneamente una seconda istanza della funzione alla griglia per riferimento.

  6. Fare clic sulla casella Criteri/Argomento e digitare il testo seguente dopo il nome della tabella: ,3

    Il testo completo della casella Criteri/Argomento dovrebbe risultare analogo al seguente:

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

  7. Fare clic sul pulsante Risultati 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 una sola 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

Si utilizzerà ora il riquadro Input query singleton per specificare un prodotto come input della query e per visualizzare i prodotti che sono con maggiore probabilità associati a tale articolo.

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

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

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

  3. Nella finestra di dialogo Modello di data mining selezionare il modello Association.

  4. Nella griglia fare clic sulla cella vuota sotto Origine e selezionare Funzione di stima. Nella cella sotto Campo selezionare PredictAssociation.

  5. Nel riquadro Modello di data mining selezionare la tabella nidificata vAssocSeqLineItems e trascinarla nella griglia, nella casella Criteri/Argomento della funzione PredictAssociation. Digitare ,3 dopo il nome della tabella nidificata analogamente alla procedura precedente.

  6. Nella finestra di dialogo Input query singleton fare clic sulla casella Valore accanto a VAssoc Seq Line Items, quindi fare clic sul pulsante (…).

  7. Nella finestra di dialogo Input tabella nidificata selezionare Touring Tire nel riquadro Colonna chiave, quindi fare clic su Aggiungi.

  8. Fare clic sul pulsante Risultati.

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 isteressati 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 sul pulsante Progettazione nell'angolo del generatore delle query di stima per tornare alla griglia di generazione query.

  2. Nella finestra di dialogo Input query singleton fare clic sulla casella Valore accanto a VAssoc Seq Line Items, quindi fare clic sul pulsante (…).

  3. Nel riquadro 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 riquadro Modello di data mining selezionare la tabella nidificata vAssocSeqLineItems e trascinarla nella griglia, nella casella Criteri/Argomento della funzione PredictAssociation. Digitare ,3 dopo il nome della tabella nidificata analogamente alla procedura precedente.

  6. Nella finestra di dialogo Input tabella nidificata selezionare Touring Tire Tube nel riquadro Colonna chiave, quindi fare clic su Aggiungi.

  7. Nnella riga della funzione PredictAssociation della griglia fare clic sulla casella Criteri/Argomento e modificare gli argomenti mediante l'aggiunta di INCLUDE_STATISTICS..

    Il testo completo della casella Criteri/Argomento dovrebbe risultare analogo al seguente:

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

  8. Fare clic sul pulsante Risultati.

I risultati nella tabella nidificata mostrano ora le stime, insieme al supporto e alla probabilità. Per ulteriori informazioni su come interpretare questi valori, vedere Contenuto dei modelli di data mining per i modelli di associazione (Analysis Services - Data mining).

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 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 SQL 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
      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 sul pulsante Risultati nell'angolo superiore del generatore delle 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. Scegliere nuovamente Query singleton dal menu Modello di data mining per rimuovere il segno di spunta.

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

    Il nome della finestra di dialogo di input verrà modificato in Seleziona tabella/e di 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 con gli input della tabella nidificata

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

  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 AdventureWorksDW2008 in Origine dati. Nell'elenco Nome tabella/vista selezionare vAssocSeqOrders e fare clic su OK.

    La tabella vAssocSeqOrders verrà aggiunta al riquadro.

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

  5. Nella finestra di dialogo Seleziona tabella selezionare AdventureWorksDW2008 in Origine dati. Nell'elenco Nome tabella/vista selezionare vAssocSeqLineItems e fare clic su OK.

    La tabella vAssocSeqLineItems verrà aggiunta al riquadro.

  6. Nella finestra di dialogo Specifica join nidificato trascinare il campo OrderNumber 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 appropriate da un elenco.

  7. Nella finestra di dialogo Specifica relazione verificare che i campi OrderNumber siano mappati correttamente, quindi fare clic su OK.

  8. Fare clic su OK per chiudere la finestra di dialogo Specifica join nidificato.

    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 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.

  9. Aggiungere una nuova riga alla griglia. In Origine selezionare Tabella vAssocSeqOrders. In Campo selezionare CustomerKey.

  10. Aggiungere una nuova riga alla griglia. In Origine selezionare Tabella vAssocSeqOrders. In Campo selezionare Region.

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

  12. Trascinare vAssocSeqLineItems nella casella Criteri/Argomento della riga PredictAssociation. Fare clic alla fine della casella Criteri/Argomento, quindi digitare il testo seguente: INCLUDE_STATISTICS,3

    Il testo completo della casella Criteri/Argomento dovrebbe essere analogo al seguente: [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

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

È possibile provare a creare una query di stima simile nei diversi modelli, per vedere se l'applicazione di filtri modifica i risultati della stima. Per ulteriori informazioni sulla creazione di stime e di altri tipi di query, vedere Esecuzione di query su un modello di associazione (Analysis Services - Data mining).