Creazione di una struttura e di un modello di rete neurale (Esercitazione intermedia sul data mining)

Per creare un modello di data mining, è innanzitutto necessario utilizzare la Creazione guidata modello di data mining per creare una nuova struttura di data mining basata sulla nuova vista origine dati. In questa attività verrà utilizzata la procedura guidata per creare una struttura di data mining e, contemporaneamente, il modello di data mining associato basato sull'algoritmo Microsoft Neural Network.

Poiché le reti neurali sono estremamente flessibili e possono analizzare molte combinazioni di input e output, è necessario sperimentare diverse modalità di elaborazione dei dati per ottenere risultati ottimali. Potrebbe essere necessario, ad esempio, personalizzare il modo in cui l'obiettivo numerico per la qualità del servizio viene inserito in contenitori o raggruppato per soddisfare requisiti aziendali specifici. A tale scopo, è necessario aggiungere una nuova colonna alla struttura di data mining per raggruppare i dati numerici in modi diversi, quindi creare un modello che utilizzi la nuova colonna. Questi modelli di data mining verranno utilizzati per alcune attività di esplorazione.

Dopo avere identificato, grazie al modello di rete neurale, i fattori di maggiore impatto per le questioni aziendali, sarà infine necessario compilare un modello distinto per la stima e l'assegnazione dei punteggi. Verrà utilizzato l'algoritmo Microsoft Logistic Regression, basato sul modello di rete neurale, ma ottimizzato per la ricerca di una soluzione basata su input specifici.

Passaggi

  1. Creare la struttura di data mining di base utilizzando valori predefiniti

  2. Creare una copia della colonna stimabile e modificarla inserendo i valori in contenitori

  3. Aggiungere un nuovo modello e utilizzare la nuova colonna come output per tale modello

  4. Creare un alias per l'attributo stimabile modificato

  5. Assegnare un valore di inizializzazione in modo che i modelli vengano elaborati nello stesso modo; elaborare entrambi modelli

Creazione della struttura predefinita del call center

Per creare la struttura e il modello predefiniti di data mining basati su una rete neurale

  1. In Esplora soluzioni di SQL Server Data Tools (SSDT) fare clic con il pulsante destro del mouse su Strutture di data mining, quindi scegliere Nuova struttura di data mining.

  2. Nella pagina iniziale di Creazione guidata modello di data mining scegliere Avanti.

  3. Nella pagina Selezione metodo di definizione verificare che sia selezionato il pulsante di opzione Da database relazionale o data warehouse esistente e quindi scegliere Avanti.

  4. Nella pagina Crea la struttura di data mining verificare che l'opzione Crea struttura di data mining con un modello di data mining sia selezionata.

  5. Fare clic sull'elenco a discesa dell'opzione Selezionare la tecnica di data mining che si desidera utilizzare, quindi selezionare Microsoft Neural Network.

    Poiché i modelli di regressione logistica sono basati sulle reti neurali, è possibile riutilizzare la stessa struttura e aggiungere un nuovo modello di data mining.

  6. Scegliere Avanti.

    Verrà visualizzata la pagina Selezione vista origine dati.

  7. Selezionare Call Center in Viste origine dati disponibili, quindi scegliere Avanti.

  8. Nella pagina Impostazione tipi di tabelle selezionare la casella di controllo Case accanto alla tabella FactCallCenter. Non selezionare alcun valore per DimDate. Scegliere Avanti.

  9. Nella pagina Impostazione dati di training selezionare Chiave accanto alla colonna FactCallCenterID.

  10. Selezionare le caselle di controllo Stima e Input.

  11. Selezionare le caselle di controllo Chiave, Input e Stima come indicato nella tabella seguente:

    Tabelle/Colonne

    Chiave/Input/Stima

    AutomaticResponses

    Input

    AverageTimePerIssue

    Input/Stima

    Calls

    Input

    DateKey

    Non utilizzare

    DayOfWeek

    Input

    FactCallCenterID

    Chiave

    IssuesRaised

    Input

    LevelOneOperators

    Input/Stima

    LevelTwoOperators

    Input

    Orders

    Input/Stima

    ServiceGrade

    Input/Stima

    Shift

    Input

    TotalOperators

    Non utilizzare

    WageType

    Input

    Notare che sono state selezionate più colonne stimabili. Uno degli aspetti positivi dell'algoritmo Neural Network è la capacità di analizzare tutte le possibili combinazioni di attributi di input e output. Non è consigliabile effettuare questa operazione per un set di dati di grandi dimensioni, poiché potrebbe aumentare il tempo di elaborazione in modo esponenziale.

  12. Nella pagina Impostazione tipo di contenuto e dati delle colonne verificare che la griglia contenga le colonne, i tipi di contenuto e i tipi di dati indicati nella tabella seguente, quindi scegliere Avanti.

    Colonne

    Tipo di contenuto

    Tipi di dati

    AutomaticResponses

    Continuo

    Long

    AverageTimePerIssue

    Continuo

    Long

    Calls

    Continuo

    Long

    DayOfWeek

    Discreto

    Testo

    FactCallCenterID

    Chiave

    Long

    IssuesRaised

    Continuo

    Long

    LevelOneOperators

    Continuo

    Long

    LevelTwoOperators

    Continuo

    Long

    Orders

    Continuo

    Long

    ServiceGrade

    Continuo

    Double

    Shift

    Discreto

    Testo

    WageType

    Discreto

    Testo

  13. Nella pagina Crea set di testing cancellare il contenuto della casella Percentuale di dati per il testing. Scegliere Avanti.

  14. Nella pagina Completamento procedura guidata digitare Call Center in Nome struttura di data mining.

  15. In Nome modello di data mining digitare Call Center Default NN, quindi scegliere Fine.

    La casella Consenti drill-through è disattivata perché non è possibile eseguire il drill-through nei dati con i modelli di rete neurale.

  16. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome della struttura di data mining creata, quindi scegliere Elabora.

Informazioni sulla discretizzazione

Per impostazione predefinita, quando si crea un modello di rete neurale che include un attributo stimabile numerico, tramite l'algoritmo Microsoft Neural Network l'attributo viene considerato come un numero continuo. L'attributo ServiceGrade, ad esempio, è un numero che teoricamente varia da 0,00 (risposta a tutte le chiamate) a 1,00 (tutti i chiamanti riattaccano). In questo set di dati i valori hanno la distribuzione seguente:

Distribuzione dei valori del livello di servizio

Di conseguenza, quando si elabora il modello, gli output possono essere raggruppati in modo diverso dal previsto. Se si utilizza ad esempio il clustering per identificare gruppi di valori più efficaci, l'algoritmo divide i valori di ServiceGrade in intervalli, ad esempio 0,0748051948 - 0,09716216215. Benché questo raggruppamento sia matematicamente preciso, gli intervalli potrebbero non essere altrettanto significativi per gli utenti aziendali. Per raggruppare i valori numerici in modo diverso, è possibile creare una o più copie della colonna di dati numerici e specificare la modalità di elaborazione dei valori da parte dell'algoritmo di data mining. È possibile, ad esempio, specificare che l'algoritmo divida i valori in non più di cinque contenitori.

Analysis Services offre un'ampia gamma di metodi per suddividere in contenitori o elaborare dati numerici. Nella tabella seguente vengono illustrate le differenze tra i risultati quando l'attributo di output ServiceGrade viene elaborato in tre modi diversi, ovvero:

  • Considerandolo un numero continuo.

  • Lasciando che l'algoritmo utilizzi il clustering per identificare la migliore disposizione di valori.

  • Specificando che i numeri siano inseriti in contenitori in base al metodo delle aree uguali,

Modello predefinito (continuo)

Suddiviso tramite clustering

Suddiviso in base al metodo delle aree uguali

VALUE

SUPPORT

Mancante

0

0.09875

120

VALUE

SUPPORT

< 0.0748051948

34

0.0748051948 - 0.09716216215

27

0.09716216215 - 0.13297297295

39

0.13297297295 - 0.167499999975

10

>= 0.167499999975

10

VALUE

SUPPORT

< 0.07

26

0.07 - 0.00

22

0.09 - 0.11

36

>= 0.12

36

[!NOTA]

È possibile ottenere tali statistiche dal nodo delle statistiche marginali del modello al termine dell'elaborazione di tutti i dati. Per ulteriori informazioni sul nodo delle statistiche marginali, vedere Contenuto dei modelli di data mining per i modelli di rete neurale (Analysis Services - Data mining).

Nella colonna VALUE di questa tabella è indicato come è stato gestito il numero per ServiceGrade. Nella colonna SUPPORT è indicato quanti case avevano tale valore o rientravano in tale intervallo.

  1. Utilizzare numeri continui (valore predefinito)

    Se è stato utilizzato il metodo predefinito, l'algoritmo calcolerà i risultati per 120 valori distinti, il cui valore medio è 0,09875. È inoltre possibile visualizzare il numero di valori mancanti.

  2. Suddividere tramite clustering

    Quando si consente all'algoritmo Microsoft Clustering di determinare il raggruppamento facoltativo dei valori, i valori per ServiceGrade verranno raggruppati in cinque (5) intervalli. Il numero di case in ogni intervallo non viene distribuito uniformemente, come si vedere nella colonna Support.

  3. Suddividere in base al metodo delle aree uguali

    Quando si sceglie questo metodo, l'algoritmo forza i valori in bucket di uguale dimensione che a loro volta modificano i limiti superiori e inferiori di ogni intervallo. È possibile specificare il numero di bucket, ma è consigliabile evitare di avere bucket contenenti solo pochi valori.

Per ulteriori informazioni sulle opzioni di suddivisione in contenitori, vedere Metodi di discretizzazione (data mining).

In alternativa, anziché utilizzare valori numerici, è possibile aggiungere una colonna derivata distinta per la classificazione dei livelli di servizio in intervalli di destinazione predefiniti, quali Ottimo (ServiceGrade <= 0,05), Accettabile (0,10 > ServiceGrade > 0,05) e Scarso (ServiceGrade >= 0,10).

Creazione di una copia di una colonna e modifica del metodo di discretizzazione

Nel modello di data mining di Analysis Services è possibile modificare in modo semplice la modalità di suddivisione in contenitori dei dati numerici all'interno di una struttura di data mining aggiungendo una copia della colonna contenente i dati di destinazione e modificando il metodo di discretizzazione.

Nella procedura seguente viene illustrato come eseguire una copia della colonna di data mining che contiene l'attributo di destinazione ServiceGrade. Verranno quindi create più copie di qualsiasi colonna in una struttura di data mining, incluso l'attributo stimabile.

Verrà quindi personalizzato il raggruppamento dei valori numerici nella colonna copiata, in modo da ridurre la complessità dei raggruppamenti. Ai fini di questa esercitazione, verrà utilizzato il metodo di discretizzazione delle aree uguali e verranno specificati quattro bucket. I raggruppamenti risultanti da questo metodo sono piuttosto vicini ai valori di destinazione di interesse per gli utenti aziendali.

[!NOTA]

Durante l'esplorazione iniziale dei dati, è inoltre possibile sperimentare diversi metodi di discretizzazione oppure provare innanzitutto a raggruppare i dati.

Per creare una copia personalizzata di una colonna nella struttura di data mining

  1. In Esplora soluzioni fare doppio clic sulla struttura di data mining creata.

  2. Nella scheda Struttura di data mining fare clic su Aggiungi colonna per la struttura di data mining.

  3. Nella finestra di dialogo Seleziona colonna selezionare ServiceGrade nell'elenco in Colonna di origine, quindi fare clic su OK.

    Una nuova colonna verrà aggiunta all'elenco di colonne della struttura di data mining. Per impostazione predefinita, la nuova colonna di data mining avrà lo stesso nome della colonna esistente, seguito da un suffisso numerico, ad esempio ServiceGrade 1. È possibile modificare il nome della colonna in modo da renderlo più descrittivo.

    È inoltre necessario specificare il metodo di discretizzazione.

  4. Fare clic con il pulsante destro del mouse su ServiceGrade 1 e quindi scegliere Proprietà.

  5. Nella finestra Proprietà individuare la proprietà Name e modificare il nome in Service Grade Binned.

  6. Verrà visualizzata una finestra di dialogo in cui viene richiesto se si desidera apportare la stessa modifica al nome di tutte le colonne del modello di data mining correlate. Scegliere No.

  7. Nella finestra Proprietà individuare la sezione Tipo di dati ed espanderla, se necessario.

  8. Modificare il valore della proprietà Content da Continuous in Discretized.

    Sono ora disponibili le proprietà elencate di seguito. Modificare i valori delle proprietà come indicato nella tabella seguente:

    Proprietà

    Valore predefinito

    Nuovo valore

    DiscretizationMethod

    Continuous

    EqualAreas

    DiscretizationBucketCount

    Nessun valore

    4

    [!NOTA]

    In realtà, il valore predefinito di DiscretizationBucketCount è 0, che significa che l'algoritmo determina automaticamente il numero ottimale di bucket. Se, pertanto, si desidera reimpostare questa proprietà sul valore predefinito, digitare 0.

  9. In Progettazione modelli di data mining fare clic sulla scheda Modelli di data mining.

    Si noti che quando si aggiunge una copia di una colonna della struttura di data mining, il flag di utilizzo per la copia viene impostato automaticamente su Ignore. Quando si aggiunge una copia di una colonna a una struttura di data mining, la copia non viene in genere utilizzata per l'analisi insieme alla colonna originale perché, in caso contrario, l'algoritmo individuerebbe una stretta correlazione tra le due colonne, nascondendo altre relazioni.

Aggiunta di un nuovo modello di data mining alla struttura di data mining

Dopo avere creato un nuovo raggruppamento per l'attributo di destinazione, è necessario aggiungere un nuovo modello di data mining che utilizzi la colonna discretizzata. Al termine, la struttura di data mining CallCenter includerà due modelli di data mining:

  • Il modello di data mining Call Center Default NN che consente la gestione dei valori ServiceGrade come intervallo continuo.

  • Si creerà un nuovo modello di data mining, Call Center Binned NN che utilizzi come risultati di destinazione i valori della colonna ServiceGrade, distribuiti in quattro bucket di uguale dimensione.

Per aggiungere un modello di data mining basato sulla nuova colonna discretizzata

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sulla struttura di data mining creata, quindi scegliere Apri.

  2. Fare clic sulla scheda Modelli di data mining.

  3. Fare clic su Crea modello di data mining correlato.

  4. Nella finestra di dialogo Nuovo modello di data mining digitare Call Center Binned NN in Nome modello. Nell'elenco a discesa Nome algoritmo selezionare Microsoft Neural Network.

  5. Nell'elenco di colonne contenute nel nuovo modello di data mining individuare ServiceGrade, quindi modificare l'utilizzo da Predict a Ignore.

  6. Analogamente, individuare ServiceGrade Binned e modificare l'utilizzo da Ignore a Predict.

Non è in genere possibile confrontare modelli di data mining che utilizzano attributi stimabili diversi. È tuttavia possibile creare un alias per una colonna del modello di data mining. Ciò significa che è possibile rinominare la colonna ServiceGrade Binned all'interno del modello di data mining in modo che abbia lo stesso nome della colonna originale. È quindi possibile confrontare direttamente i due modelli in un grafico di accuratezza, anche se i dati vengono discretizzati in modo diverso.

Per aggiungere un alias per una colonna della struttura di data mining in un modello di data mining

  1. Nella scheda Modelli di data mining selezionare ServiceGrade Binned in Struttura.

    Nella finestra Proprietà verranno visualizzate le proprietà dell'oggetto, ovvero la colonna ScalarMiningStructure.

  2. Nella colonna ServiceGrade Binned NN per il modello di data mining fare clic sulla cella corrispondente alla colonna ServiceGrade Binned.

    Si noti che nella finestra Proprietà vengono ora visualizzate le proprietà dell'oggetto MiningModelColumn.

  3. Individuare la proprietà Name, quindi modificarne il valore in ServiceGrade.

  4. Individuare la proprietà Description e digitare Alias di colonna temporanea.

    Nella finestra Proprietà saranno incluse le informazioni seguenti:

    Proprietà

    Valore

    Descrizione

    Alias di colonna temporanea

    ID

    ServiceGrade Binned

    Flag di modellazione

      

    Nome

    Service Grade

    SourceColumn ID

    Service Grade 1

    Utilizzo

    Stima

  5. Fare clic in un punto qualsiasi della scheda Modello di data mining.

    La griglia verrà aggiornata per visualizzare il nuovo alias di colonna temporanea ServiceGrade, oltre all'utilizzo della colonna. La griglia contenente la struttura di data mining e i due modelli di data mining avranno un aspetto simile al seguente:

    Struttura

    Call Center Default NN

    Call Center Binned NN

      

    Microsoft Neural Network

    Microsoft Neural Network

    AutomaticResponses

    Input

    Input

    AverageTimePerIssue

    Stima

    Stima

    Calls

    Input

    Input

    DayOfWeek

    Input

    Input

    FactCallCenterID

    Chiave

    Chiave

    IssuesRaised

    Input

    Input

    LevelOneOperators

    Input

    Input

    LevelTwoOperators

    Input

    Input

    Orders

    Input

    Input

    ServiceGrade Binned

    Ignore

    Predict (ServiceGrade)

    ServiceGrade

    Stima

    Ignore

    Turno

    Input

    Input

    TotalOperators

    Input

    Input

    WageType

    Input

    Input

Elaborazione del modello

Per garantire che i modelli creati siano facilmente confrontabili, infine, è necessario impostare il parametro del valore di inizializzazione per entrambi i modelli. L'impostazione di un valore di inizializzazione fa sì che ciascun modello inizi a elaborare i dati dallo stesso punto.

[!NOTA]

Se non si specifica un valore numerico per il parametro del valore di inizializzazione, in SQL Server Analysis Services verrà generato un valore di inizializzazione basato sul nome del modello. Poiché i modelli hanno nomi diversi, è necessario impostare un valore di inizializzazione per garantire che elaborino i dati nello stesso ordine.

Per specificare il valore di inizializzazione ed elaborare i modelli

  1. Nella scheda Modello di data mining fare clic con il pulsante destro del mouse sulla colonna del modello denominato Call Center - LR, quindi scegliere Imposta parametri algoritmo.

  2. Nella riga del parametro HOLDOUT_SEED fare clic sulla cella vuota in Valore e digitare 1. Scegliere OK. Ripetere questo passaggio per ciascun modello associato alla struttura.

    [!NOTA]

    Il valore scelto come valore di inizializzazione non è importante, a condizione che si utilizzi lo stesso valore di inizializzazione per tutti i modelli correlati.

  3. Scegliere Elabora struttura di data mining e tutti i modelli dal menu Modelli di data mining. Fare clic su per distribuire il progetto di data mining aggiornato nel server.

  4. Nella finestra di dialogo Elabora modello di data mining fare clic su Esegui.

  5. Fare clic su Chiudi per chiudere la finestra di dialogo Stato elaborazione, quindi fare di nuovo clic su Chiudi per chiudere la finestra di dialogo Elabora modello di data mining.

Dopo avere creato i due modelli di data mining correlati, è necessario esplorare i dati per individuarvi le relazioni.

Attività successiva della lezione

Esplorazione del modello Call Center (Esercitazione intermedia sul data mining)

Vedere anche

Concetti

Strutture di data mining (Analysis Services – Data mining)