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à si userà la procedura guidata per creare una struttura di data mining e allo stesso tempo creare un 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. Ad esempio, è possibile personalizzare il modo in cui la destinazione numerica per la qualità del servizio è binata o raggruppata 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. Si userà l'algoritmo Microsoft Logistic Regression, basato sul modello di reti neurali, ma ottimizzato per trovare una soluzione in base a input specifici.
Passaggi
Creare la struttura di data mining e il modello predefiniti
Utilizzare la discretizzazione per categorizzare la colonna stimabile
Copiare la colonna e modificare il metodo di discretizzazione per un altro modello
Creare un alias per la colonna stimabile in modo da poter confrontare i modelli
Creare la struttura predefinita del call center
In Esplora soluzioni in SQL Server Data Tools (SSDT), fare clic con il pulsante destro del mouse su Strutture di data mining e scegliere Nuova struttura di data mining.
Nella pagina iniziale Creazione guidata modello di data mining fare clic su Avanti.
Nella pagina Selezionare il metodo di definizione verificare che sia selezionata l'opzione Da database relazionale o data warehouse esistente e quindi fare clic su Avanti.
Nella pagina Crea struttura di data mining verificare che sia selezionata l'opzione Crea struttura di data mining con un modello di data mining .
Fare clic sull'elenco a discesa per l'opzione Quale tecnica di data mining si vuole usare?, quindi selezionare Reti neurali Microsoft.
Poiché i modelli di regressione logistica sono basati sulle reti neurali, è possibile riutilizzare la stessa struttura e aggiungere un nuovo modello di data mining.
Fare clic su Avanti.
Viene visualizzata la pagina Selezione vista origine dati .
In Viste origine dati disponibili selezionare
Call Center
e fare clic su Avanti.Nella pagina Specifica tipi di tabella selezionare la casella di controllo Case accanto alla tabella FactCallCenter . Non selezionare nulla per DimDate. Fare clic su Avanti.
Nella pagina Specificare i dati di training selezionare Chiave accanto alla colonna FactCallCenterID.
Selezionare le
Predict
caselle di controllo e Input .Selezionare le caselle di controllo Key, Input e
Predict
, come illustrato nella tabella seguente:Tabelle/Colonne Chiave/Input/Stima AutomaticResponses Input AverageTimePerIssue Input/Stima Chiamate Input DateKey Non utilizzare DayOfWeek Input FactCallCenterID Chiave IssuesRaised Input LevelOneOperators Input/Stima LevelTwoOperators Input Orders Input/Stima ServiceGrade Input/Stima MAIUSC 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 eseguire questa operazione per un set di dati di grandi dimensioni, perché potrebbe aumentare in modo esponenziale il tempo di elaborazione.
Nella pagina Specifica contenuto e tipo di dati delle colonne verificare che la griglia contenga le colonne, i tipi di contenuto e i tipi di dati, come illustrato nella tabella seguente, quindi fare clic su Avanti.
Colonne Tipo di contenuto Tipi di dati AutomaticResponses Continua long AverageTimePerIssue Continua long Chiamate Continua long DayOfWeek Discrete Testo FactCallCenterID Chiave long IssuesRaised Continua long LevelOneOperators Continua long LevelTwoOperators Continua long Orders Continua long ServiceGrade Continua Double MAIUSC Discrete Testo WageType Discrete Testo Nella pagina Crea set di test deselezionare la casella di testo per l'opzione Percentuale di dati per il test. Fare clic su Avanti.
Nella pagina Completamento procedura guidata digitare per il nome
Call Center
della struttura di data mining .Per il nome del modello di data mining digitare
Call Center Default NN
e quindi fare clic su Fine.La casella Consenti drill-through è disabilitata perché non è possibile eseguire il drill-through ai dati con i modelli di rete neurale.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome della struttura di data mining appena creata e scegliere Elabora.
Utilizzare la discretizzazione per categorizzare la colonna di destinazione
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:
Di conseguenza, quando si elabora il modello, gli output possono essere raggruppati in modo diverso dal previsto. Ad esempio, se si usa il clustering per identificare i gruppi migliori di valori, l'algoritmo divide i valori in ServiceGrade in intervalli come questo: 0.0748051948 - 0.09716216215. Benché questo raggruppamento sia matematicamente preciso, gli intervalli potrebbero non essere altrettanto significativi per gli utenti aziendali.
In questo passaggio, per rendere il risultato più intuitivo, si raggruppano i valori numerici in modo diverso, creando copie della colonna di dati numerica.
Funzionamento della discretizzazione
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)
VALUE | SUPPORT |
---|---|
Missing | 0 |
0.09875 | 120 |
Suddiviso tramite clustering
VALUE | SUPPORT |
---|---|
< 0.0748051948 | 34 |
0.0748051948 - 0.09716216215 | 27 |
0.09716216215 - 0.13297297295 | 39 |
0.13297297295 - 0.167499999975 | 10 |
>= 0,1674999999975 | 10 |
Suddiviso in base al metodo delle aree uguali
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 altre informazioni sul nodo delle statistiche marginali, vedere Contenuto del modello 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.
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.
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.
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 altre informazioni sulle opzioni di binning, vedere Metodi di discretizzazione (data mining).
In alternativa, anziché usare i valori numerici, è possibile aggiungere una colonna derivata separata che classifica i voti del servizio in intervalli di destinazione predefiniti, ad esempio Best (ServiceGrade <= 0,05), Accettabile (0,10 > ServiceGrade > 0,05) e Poor (ServiceGrade >= 0,10).
Creare una copia di una colonna e modificare il metodo di discretizzazione
Si creerà una copia della colonna di data mining contenente l'attributo di destinazione ServiceGrade e si modificherà la modalità di raggruppamento dei numeri. Verranno quindi create più copie di qualsiasi colonna in una struttura di data mining, incluso l'attributo stimabile.
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.
Per creare una copia personalizzata di una colonna nella struttura di data mining
In Esplora soluzioni fare doppio clic sulla struttura di data mining creata.
Nella scheda Struttura di data mining fare clic su Aggiungi una colonna della struttura di data mining.
Nella finestra di dialogo Seleziona colonna selezionare ServiceGrade nell'elenco nella colonna Origine e 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.
Fare clic con il pulsante destro del mouse su ServiceGrade 1 e scegliere Proprietà.
Nella finestra Proprietà individuare la proprietà Name e modificare il nome in Service Grade Binned .
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. Fare clic su No.
Nella finestra Proprietà individuare la sezione Tipo di dati ed espanderla, se necessario.
Modificare il valore della proprietà
Content
daContinuous
inDiscretized
.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.
In Data mining Designer 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.
Aggiungere 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 gestisce i valori di ServiceGrade come intervallo continuo.
Verrà creato un nuovo modello di data mining, Call Center Binned NN, che usa come risultato di destinazione i valori della colonna ServiceGrade, distribuiti in quattro bucket di dimensioni uguali.
Per aggiungere un modello di data mining basato sulla nuova colonna discretizzata
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla struttura di data mining appena creata e scegliere Apri.
Fare clic sulla scheda Modelli di data mining .
Fare clic su Crea un modello di data mining correlato.
Nella finestra di dialogo Nuovo modello di data mining digitare per Nome
Call Center Binned NN
modello . Nell'elenco a discesa Nome algoritmo selezionare Microsoft Neural Network.Nell'elenco di colonne contenute nel nuovo modello di data mining individuare ServiceGrade, quindi modificare l'utilizzo da
Predict
aIgnore
.Analogamente, individuare ServiceGrade Binned e modificare l'utilizzo da
Ignore
aPredict
.
Creare un alias per la colonna di destinazione
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. Ovvero, è 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
Nella scheda Modelli di data mining , in Struttura, selezionare ServiceGrade Binned.
Si noti che nella finestra Proprietà vengono visualizzate le proprietà dell'oggetto, colonna ScalarMiningStructure.
Nella colonna ServiceGrade Binned NN per il modello di data mining fare clic sulla cella corrispondente alla colonna ServiceGrade Binned.
Si noti che ora nella finestra Proprietà vengono visualizzate le proprietà per l'oggetto MiningModelColumn.
Individuare la proprietà Name e modificare il valore in
ServiceGrade
.Individuare la proprietà Description e digitare Alias di colonna temporanea.
La finestra Proprietà deve contenere 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 Fare clic in un punto qualsiasi della scheda Modello di data mining .
La griglia viene aggiornata per visualizzare il nuovo alias di colonna temporaneo,
ServiceGrade
, accanto 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 Chiamate Input Input DayOfWeek Input Input FactCallCenterID Chiave Chiave IssuesRaised Input Input LevelOneOperators Input Input LevelTwoOperators Input Input Orders Input Input ServiceGrade Binned Ignora Predict (ServiceGrade) ServiceGrade Stima Ignora MAIUSC Input Input TotalOperators Input Input WageType Input Input
Elaborare tutti i modelli
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
Nella scheda Modello di data mining fare clic con il pulsante destro del mouse sulla colonna per il modello denominato Call Center - LR e scegliere Imposta parametri algoritmo.
Nella riga del parametro HOLDOUT_SEED fare clic sulla cella vuota in Valore e digitare
1
. Fare clic su 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.
Nel menu Modelli di data mining selezionare Elabora struttura di data mining e Tutti i modelli. Fare clic su Sì per distribuire il progetto di data mining aggiornato nel server.
Nella finestra di dialogo Modello di data mining di elaborazione fare clic su Esegui.
Fare clic su Chiudi per chiudere la finestra di dialogo Stato processo , quindi fare di nuovo clic su Chiudi nella finestra di dialogo Modello di data mining di elaborazione .
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)