Misurazione dell'accuratezza di un modello di data mining (Analysis Services - Data mining)

In SQL ServerAnalysis Services sono disponibili diverse modalità per determinare l'accuratezza dei modelli di data mining.

  • È possibile utilizzare i grafici per rappresentare visivamente l'accuratezza di un modello di data mining. Un grafico di accuratezza confronta l'accuratezza delle stime di ogni modello. Un grafico dei profitti visualizza l'aumento teorico dei profitti associato all'utilizzo di ciascun modello. Un grafico a dispersione confronta i valori effettivi rispetto ai valori stimati e viene utilizzato per modelli di regressione o altri modelli che eseguono la stima di attributi continui utilizzando input continui.

  • È possibile utilizzare una matrice di classificazione per tabulare stime accurate e non accurate.

  • È possibile utilizzare la convalida incrociata per convalidare statisticamente l'affidabilità del modello di data mining.

Per ulteriori informazioni, vedere Strumenti per la creazione di grafici di accuratezza dei modelli (Analysis Services - Data mining). Tutti i tipi di grafico descritti in questo argomento possono essere creati anche a livello di codice utilizzando XML/A o AMO. Per ulteriori informazioni sulla programmazione di soluzioni Analysis Services, vedere Guida per gli sviluppatori (Analysis Services - Data mining).

[!NOTA]

Dopo avere determinato che il modello è ragionevolmente accurato, è necessario valutarne i risultati nel contesto del problema aziendale per la cui risoluzione è stato progettato il modello.

In questo argomento viene illustrato il flusso di lavoro generale in Business Intelligence Development Studio o SQL Server Management Studio per misurare l'accuratezza di un modello di data mining. A seconda del tipo di modello di data mining utilizzato e del grafico scelto, alcune opzioni potrebbero essere leggermente diverse, non disponibili o configurate per impostazione predefinita, ma il processo complessivo sarà il seguente:

  1. Scegliere un modello o una struttura da testare.

  2. Scegliere i dati di test.

  3. Filtrare i dati di test (facoltativo).

  4. Scegliere un tipo di grafico e aprirlo nel visualizzatore appropriato.

  5. Personalizzare il grafico (facoltativo).

Per una procedura dettagliata, vedere Procedura: Creazione di un grafico di accuratezza per un modello di data mining.

Scelta di un modello o di una struttura

È in genere consigliabile creare diversi modelli di data mining per ogni struttura di data mining e fare in modo che ciascun modello utilizzi un algoritmo o un set di parametri diverso. Analysis Services semplifica l'esecuzione di test di più modelli di data mining correlati nello stesso grafico. È tuttavia possibile selezionare anche un singolo modello di data mining come output in un grafico di accuratezza.

In Business Intelligence Development Studio selezionare una struttura di data mining, quindi fare clic sulla scheda Grafico accuratezza modello di data mining per aprire un'area di progettazione per i grafici di accuratezza. In SQL Server Management Studio fare clic con il pulsante destro del mouse sulla struttura di data mining, quindi scegliere Visualizza grafico di accuratezza per aprire la stessa area di progettazione e creare qualsiasi tipo di grafico di accuratezza.

Se si aggiungono più modelli di data mining a un grafico, è necessario scegliere modelli di data mining che includono lo stesso attributo stimabile. Se si crea un grafico di accuratezza, un grafico dei profitti, un grafico a dispersione o una matrice di classificazione, è possibile scegliere i modelli di cui tracciare il grafico utilizzando la scheda Selezione input. Se, tuttavia, si crea un report di convalida incrociata, in Analysis Services verranno analizzati tutti i modelli che includono lo stesso attributo stimabile.

Scelta dei dati di test

Prima di creare un grafico di accuratezza, un grafico dei profitti o un grafico a dispersione, è necessario specificare i dati da utilizzare per valutare il modello. Poiché i dati utilizzati per la valutazione influiscono significativamente sui risultati, in SQL Server 2008Analysis Services sono disponibili le opzioni seguenti per specificare i dati di test:

  • Utilizzo di una partizione di dati di controllo definita come set di test durante la creazione della struttura di data mining. Se si utilizza una parte dei dati della struttura di data mining come dati di test, è possibile valutare tutti i modelli della struttura in modo coerente.

  • Definizione di un'origine dati esterna da utilizzare come dati di test.

  • Definizione di un'origine dati esterna e applicazione di filtri per limitare i dati a un subset pertinente di case. Se si definisce un filtro, è possibile selezionare dati di test che soddisfano condizioni specifiche o che contengono case di particolare interesse.

  • Utilizzo di un filtro applicato ai case di training utilizzati dal modello. Se si definisce un filtro del modello, è possibile limitare i case a un subset di dati e garantire che un modello specifico venga sempre valutato in base a dati simili.

Se si crea un report di convalida incrociata in Business Intelligence Development Studio o SQL Server Management Studio, Analysis Services utilizza per impostazione predefinita la partizione di dati di controllo definita per il modello, se presente. Se non è stata definita alcuna partizione di dati di controllo, Analysis Services utilizza l'intero set di case di training.

Se si crea un grafico di accuratezza, un grafico dei profitti, un grafico a dispersione o una matrice di classificazione in Business Intelligence Development Studio o SQL Server Management Studio, utilizzare la scheda Selezione input nella vista Grafico accuratezza modello di data mining di Progettazione modelli di data mining per specificare i dati da utilizzare per il testing dei modelli di data mining. Sono disponibili le opzioni seguenti:

Utilizza test case del modello di data mining

I test case del modello di data mining vengono acquisiti dagli stessi dati presenti nella struttura di data mining, ma al modello viene applicato un filtro per limitare i case utilizzati per il testing. Per filtro del modello si intende un insieme di condizioni create e archiviate con il modello di data mining. Poiché la condizione di filtro viene salvata con il modello di data mining, viene applicata per impostazione predefinita durante il training del modello. Quando si esegue il testing di un modello, è possibile utilizzare il filtro come è stato definito oppure utilizzare un diverso set di dati per il testing ignorando il filtro del modello. Se si desidera modificare il filtro applicato a un modello di data mining, è possibile modificarlo e quindi rielaborare il modello. In alternativa, è possibile creare una copia del modello e quindi applicare un filtro diverso alla copia.

Per ulteriori informazioni sui filtri dei modelli, vedere Creazione di filtri per i modelli di data mining (Analysis Services - Data mining).

Per una descrizione della creazione di un filtro su un modello di data mining, vedere Procedura: Applicazione di un filtro a un modello di data mining.

Utilizza test case della struttura di data mining

È possibile utilizzare questa opzione per misurare l'accuratezza se durante la creazione della struttura di data mining è stato specificato un set di dati di testing definendo una percentuale di dati di controllo o un numero massimo di case da utilizzare per il controllo. Poiché la definizione del set di testing viene archiviata con la struttura, il set può essere utilizzato con qualsiasi modello basato sulla struttura stessa.

[!NOTA]

Non è possibile creare un filtro direttamente sui dati di controllo della struttura di data mining. Se tuttavia si desidera applicare un filtro a tali dati, una soluzione consiste nel riutilizzare la vista origine dati iniziale come origine dati esterna e applicare un filtro a quest'ultima.

Per ulteriori informazioni, vedere Partizionamento dei dati in set di training e in set di testing (Analysis Services - Data mining).

Specifica un set di dati diverso

In SQL Server 2005 l'accuratezza di un modello di data mining può essere valutata esclusivamente utilizzando un set di dati esterno. Questa opzione è ancora disponibile in SQL Server 2008, ma in questa edizione è possibile definire anche un filtro sui dati esterni.

Per utilizzare un'origine dati esterna, tutte le colonne dei dati esterni che si desidera utilizzare per l'input devono essere mappate alle colonne del modello di data mining. È possibile scegliere di ignorare alcune colonne, ma il set di dati esterno deve contenere almeno una colonna che possa essere mappata alla colonna stimabile del modello di data mining. A seconda del modello, può inoltre essere necessario eseguire il mapping di una o più colonne nei dati esterni che includono gli attributi necessari per la stima.

In Progettazione modelli di data mining è possibile utilizzare la scheda Selezione input e la finestra di dialogo Specifica mapping colonne per selezionare la tabella di input in base a cui convalidare i modelli. Quando si seleziona una tabella di input, viene automaticamente eseguito il mapping tra le colonne delle tabelle Struttura di data mining e Seleziona tabella/e di input. È possibile modificare i mapping in base alle esigenze facendo clic su una colonna della tabella Struttura di data mining e trascinandola nella tabella Seleziona tabella/e di input. Se i dati di input contengono una tabella nidificata, è inoltre possibile includere tale tabella utilizzando il collegamento Seleziona tabella nidificata.

[!NOTA]

La colonna stimabile deve sempre essere mappata. Le colonne non mappate vengono incluse nel modello di data mining come valori NULL.

Dopo avere eseguito il mapping delle colonne corrispondenti, è eventualmente possibile specificare uno stato di destinazione per la colonna stimabile. Se non si specifica alcun valore per lo stato della colonna stimabile, il grafico di accuratezza stima l'accuratezza del modello indipendentemente da tale stato. Per ulteriori informazioni sulle differenze tra la creazione di grafici di accuratezza con o senza l'impostazione di uno stato della colonna stimabile, vedere Grafico di accuratezza (Analysis Services - Data mining).

È inoltre possibile creare un filtro sui dati esterni. Per una descrizione della creazione di un filtro, vedere Procedura: Filtraggio delle righe di input per un grafico di accuratezza.

L'opzione Sincronizza colonne e valori di stima consente di coordinare gli attributi stimabili nell'origine dati esterna e nel modello di data mining in modo che, se i rispettivi nomi sono diversi, gli attributi vengano derivati dalla stessa colonna stimabile durante il training del modello. Questa operazione risulta particolarmente utile quando si dispone di due colonne della struttura di data mining che puntano agli stessi dati sottostanti ma che potrebbero essere identificate in modo diverso.

Se si deseleziona la casella di controllo Sincronizza colonne e valori di stima, è possibile selezionare qualsiasi colonna e valore stimabile valido e i risultati vengono rappresentati insieme, anche se privi di significato. È possibile deselezionare questa opzione se si tenta di confrontare due attributi stimabili che non eseguono esplicitamente il mapping allo stesso set di valori. È tuttavia necessario tenere presente che i due attributi potrebbero non essere confrontabili relativamente all'accuratezza. Un modello che discretizza il reddito in bucket quali Elevato, Medio e Basso potrebbe essere confrontabile ad esempio con un modello che raggruppa il reddito in intervalli di valori superiori a 150.000, valori compresi tra 50.000 e 100.000 e valori compresi tra 10.000 e 50.000. Prima di deselezionare la casella di controllo, è tuttavia necessario verificare che gli attributi siano confrontabili.

Per ulteriori informazioni:Procedura: Selezione di una colonna stimabile per un grafico di accuratezza, Utilizzo degli strumenti di data mining

Applicazione di filtri ai dati

Per filtrare i dati utilizzati per eseguire il training e il testing di un modello di data mining, è possibile utilizzare i metodi seguenti:

  • Creare un filtro archiviato con il modello.

  • Applicare un filtro a un'origine dati esterna.

La definizione di un filtro consiste essenzialmente nella creazione di una clausola WHERE sui dati in entrata. Se si applica un filtro a un set di dati di input utilizzato per la valutazione di un modello, l'espressione di filtro viene convertita in un'istruzione Transact-SQL e applicata alla tabella di input durante la creazione del grafico. Di conseguenza, il numero di test case può rivelarsi significativamente minore.

Quando si applica un filtro a un modello di data mining, l'espressione di filtro creata viene invece convertita in istruzione DMX (Data Mining Extensions) e applicata al singolo modello. Quando si applica un filtro a un modello, solo un subset dei dati originali viene utilizzato per il training del modello. Se durante la creazione della struttura è stato definito un set di dati di testing, i case del modello utilizzati per il training includono solo quelli presenti nel set di training della struttura di data mining e che soddisfano le condizioni del filtro. Quando si seleziona l'opzione Utilizza test case del modello di data mining, inoltre, i test case includono solo i case presenti nel set di test della struttura di data mining che soddisfano le condizioni del filtro. Le condizioni del filtro si applicano anche alle query drill-through sui case del modello.

Se, tuttavia, non è stato definito un set di dati di controllo, i case del modello utilizzati per il testing includono tutti i case presenti nel set di dati che soddisfano le condizioni del filtro.

Di conseguenza, è possibile che più modelli, anche se basati sulla stessa struttura di data mining, dispongano di filtri diversi e siano pertanto in grado di utilizzare dati diversi per il training e il testing. Se si seleziona l'opzione Utilizza test case del modello di data mining quando si crea il grafico di accuratezza, tenere presente che il numero complessivo di case nei set di training e di testing può variare in modo significativo tra i modelli testati.

[!NOTA]

Se si aggiunge un filtro a un modello di data mining esistente o si modificano le condizioni del filtro, è necessario rielaborare il modello per osservare gli effetti del filtro.

Per esaminare gli effettivi case di training utilizzati, è possibile creare una query DMX sul contenuto simile alla seguente:

SELECT * from <model>.CASES WHERE IsTrainingCase()

oppure:

SELECT * from <model>.CASES WHERE IsTestCase()

Per confrontare questi case con quelli presenti nella struttura, creare la query DMX sul contenuto seguente:

SELECT * FROM <structure>.CASES WHERE IsTestCase()

[!NOTA]

Per eseguire una query sul contenuto per i case del modello, è necessario abilitare Drillthough nel modello.

Per informazioni sui tipi di filtri che è possibile applicare e sulle modalità di valutazione delle espressioni di filtro, vedere Sintassi ed esempi di filtri dei modelli (Analysis Services – Data mining).

Scelta di un tipo di grafico e visualizzazione del grafico

A seconda del tipo di grafico scelto, è possibile configurare ulteriormente le opzioni, esplorare il grafico o copiare il grafico negli Appunti e utilizzare i dati in Excel.

Nota   I grafici e le relative definizioni non vengono salvati. Se si chiude la finestra che contiene un grafico, questo dovrà essere creato di nuovo.

Grafico di accuratezza

Dopo avere configurato le opzioni per i modelli e i dati di testing, fare clic sulla scheda Grafico di accuratezza per visualizzare i risultati. È inoltre possibile copiare il grafico negli Appunti o visualizzare i dettagli di singole linee di tendenza o punti dati in Legenda data mining.

Per ulteriori informazioni, vedere Grafico di accuratezza (Analysis Services - Data mining) e Scheda Grafico di accuratezza (vista Grafico di accuratezza modello di data mining).

Grafico dei profitti

Dopo avere configurato le opzioni per i modelli e i dati di testing, fare clic sulla scheda Grafico di accuratezza, selezionare Grafico profitti nell'elenco Tipo di grafico per impostare le opzioni del grafico dei profitti, quindi scegliere OK per visualizzare i risultati. È possibile utilizzare la finestra di dialogo Impostazioni grafico profitti tutte le volte che lo si desidera per provare diverse opzioni relative ai costi e quindi visualizzare di nuovo il grafico. Legenda data mining contiene informazioni dettagliate sui profitti stimati per ciascun modello. È inoltre possibile copiare il grafico e il contenuto di Legenda data mining negli Appunti per utilizzarli in Excel.

Per ulteriori informazioni, vedere Grafico profitti (Analysis Services - Data mining) e Finestra di dialogo Impostazioni grafico profitti (visualizzazione Grafico accuratezza modello di data mining).

Grafico a dispersione

Se è stato selezionato il tipo di modello appropriato, quando si fa clic sulla scheda Grafico di accuratezza il tipo di grafico viene automaticamente impostato su Grafico a dispersione e viene visualizzato un grafico a dispersione. Non è possibile effettuare altre operazioni di configurazione. È inoltre possibile copiare il grafico negli Appunti e incollarlo come elemento grafico in Excel o in un'altra applicazione.

Per ulteriori informazioni, vedere Grafico a dispersione (Analysis Services - Data mining).

Matrice di classificazione

Per una matrice di classificazione, utilizzare la scheda Selezione input per scegliere i modelli e i dati di testing, quindi fare clic sulla scheda Matrice di classificazione per visualizzare i risultati. Il contenuto di una matrice di classificazione è lo stesso per tutti i tipi di modello e non può essere configurato. È inoltre possibile copiare i dati del grafico negli Appunti e quindi utilizzarli in Excel.

Per ulteriori informazioni, vedere Matrice di classificazione (Analysis Services - Data mining) o Scheda Matrice di classificazione (visualizzazione Grafico accuratezza modello di data mining).

Report Convalida incrociata

Per un report di convalida incrociata, dopo avere selezionato una struttura di data mining o un modello di data mining in Esplora soluzioni, fare clic sulla scheda Convalida incrociata, configurare tutte le opzioni pertinenti, quindi fare clic su Ottieni risultati per generare il report. Non è possibile effettuare altre operazioni di configurazione. Il formato del report di convalida incrociata è lo stesso per tutti i tipi di modello e non può essere configurato. Il contenuto del report varia tuttavia in base al tipo di modello analizzato e al tipo di dati dell'attributo stimabile. È inoltre possibile copiare i risultati del report negli Appunti e utilizzare i dati in Excel.

Per ulteriori informazioni, vedere Convalida incrociata (Analysis Services - Data mining) o Report Convalida incrociata (Analysis Services - Data mining).