Convalida incrociata (Analysis Services - Data mining)

La convalida incrociata è un strumento standard di analisi e un'importante caratteristica che aiuta a sviluppare e ottimizzare i modelli di data mining. Viene utilizzata dopo la creazione di una struttura di data mining e dei relativi modelli per determinare la validità del modello e prevede le applicazioni seguenti:

  • Convalida dell'affidabilità di un determinato modello di data mining.

  • Valutazione di più modelli da una sola istruzione.

  • Compilazione di più modelli e successiva identificazione del miglior modello in base alle statistiche.

In questa sezione viene descritto come utilizzare le caratteristiche della convalida incrociata incluse in SQL Server 2008 e come interpretarne i risultati per un determinato modello o set di dati. È possibile eseguire la convalida incrociata come set di stored procedure. È anche possibile utilizzare la convalida incrociata dalla Progettazione modelli di data mining in Business Intelligence Development Studio.

Panoramica del processo di convalida incrociata

La convalida incrociata è costituita da due fasi, training e generazione dei risultati. Queste fasi includono i passaggi seguenti:

  • Selezione di una struttura di data mining di destinazione.

  • Specifica dei modelli da testare.

  • Specifica del numero di riduzioni in cui partizionare i dati della struttura.

  • Viene creato un numero di modelli equivalente al numero di riduzioni e ne viene eseguito il training.

  • Per generare i risultati, è necessario specificare i parametri per testare i modelli di cui è stato eseguito il training.

  • Specifica dell'origine dei dati di testing. Questa caratteristica è disponibile solo quando si utilizzano le stored procedure.

  • Specifica dell'attributo stimabile, del valore stimato e della soglia di accuratezza.

  • Viene quindi restituito un set di metriche di accuratezza per ogni riduzione di ogni modello. È anche possibile restituire le metriche di accuratezza per l'intero set di dati.

Utilizzo della convalida incrociata nella Progettazione modelli di data mining

Se si esegue la convalida incrociata utilizzando la scheda Convalida incrociata della vista Grafico accuratezza modello di data mining in Business Intelligence Development Studio, è possibile configurare i parametri dei risultati di accuratezza e di training in un unico form. Ciò semplifica la configurazione e la visualizzazione dei risultati. È possibile misurare l'accuratezza di tutti i modelli di data mining correlati a una sola struttura di data mining, quindi visualizzare immediatamente i risultati in un report HTML.

Per ulteriori informazioni sul formato dei report e sulla metrica di accuratezza fornita dalla convalida incrociata, vedere Report Convalida incrociata (Analysis Services - Data mining).

Per informazioni sulla configurazione dei parametri della convalida incrociata in Business Intelligence Development Studio, vedere Scheda Convalida incrociata (vista Grafico accuratezza modello di data mining).

Utilizzo delle stored procedure di convalida incrociata

Per gli utenti esperti, la convalida incrociata è anche disponibile sotto forma di quattro stored procedure di sistema. È possibile eseguire le stored procedure connettendosi a un'istanza di Analysis Services 2008 da SQL Server Management Studio o da qualsiasi applicazione con codice gestito.

Le stored procedure sono raggruppate per tipo di modello di data mining. La prima coppia di stored procedure può essere utilizzata solo con modelli di clustering. La seconda coppia di stored procedure può essere utilizzata con altri modelli di data mining.

Nota

La convalida incrociata non può essere utilizzata con modelli che contengono una colonna KEY TIME o KEY SEQUENCE.

Per ciascun tipo di modello di data mining, sono disponibili due stored procedure. La prima stored procedure crea tante partizioni quante specificate nel set di dati e restituisce i risultati di accuratezza per ciascuna partizione. Per ciascuna metrica, viene calcolata la media e la deviazione standard per le partizioni.

La seconda stored procedure non partiziona il set di dati, bensì genera risultati di accuratezza per l'intero set di dati specificato. È anche possibile utilizzare la seconda stored procedure se la struttura di data mining e i relativi modelli sono già stati partizionati ed elaborati.

Partizionamento dei dati e generazione delle metriche per le partizioni

SystemGetCrossValidationResults (Analysis Services - Data mining)

SystemGetClusterCrossValidationResults (Analysis Services - Data mining)

Generazione delle metriche per l'intero set di dati

SystemGetAccuracyResults (Analysis Services - Data mining)

SystemGetClusterAccuracyResults (Analysis Services - Data mining)

Configurazione della convalida incrociata

È possibile personalizzare la modalità di funzionamento della convalida incrociata per controllare il numero di sezioni incrociate, i modelli testati e la barra di accuratezza per le stime. Se si utilizzano le stored procedure della convalida incrociata, è anche possibile specificare il set di dati utilizzato per la convalida dei modelli. Queste numerose possibilità indicano che è possibile produrre facilmente molti set di risultati differenti che devono quindi essere confrontati e analizzati.

In questa sezione vengono fornite informazioni per consentire una configura appropriata della convalida incrociata.

Impostazione del numero di partizioni

Specificando il numero di partizioni, determinare il numero di modelli temporanei che verrà creato. Per ogni partizione, una sezione incrociata dei dati viene contrassegnata per l'utilizzo come set di test e viene creato un nuovo modello eseguendo il training sui dati rimanenti non presenti nella partizione. Questo processo viene ripetuto finché non viene creato e testato il numero specificato di modelli. I dati specificati come disponibili per la convalida incrociata vengono distribuiti in modo uniforme in tutte le partizioni.

Nell'esempio nel diagramma viene illustrato l'utilizzo dei dati se vengono specificate tre riduzioni.

Modalità di segmentazione dei dati tramite la convalida incrociata

Nello scenario nel diagramma, la struttura di data mining contiene un set di dati di controllo utilizzato per il testing, ma il set di dati di test non è stato incluso per la convalida incrociata. Di conseguenza, per la convalida incrociata vengono utilizzati tutti i dati nel set di dati di training, ovvero il 70% dei dati nella struttura di data mining. Il report della convalida incrociata mostra il numero totale di case utilizzato in ogni partizione.

È anche possibile specificare la quantità di dati utilizzata durante la convalida incrociata, specificando il numero totale di case da utilizzare. I case vengono distribuiti in modo uniforme in tutte le riduzioni.

Se la struttura di data mining viene archiviata in un'istanza di SQL Server Analysis Services, il valore massimo che è possibile impostare per il numero di riduzioni è 256 o il numero di case, a seconda del valore minore. Se si sta utilizzando una struttura di data mining della sessione, il numero massimo di riduzioni è 10.

Nota

Aumentando il numero di riduzioni, il tempo necessario per eseguire la convalida incrociata aumenta di conseguenza, poiché è necessario generare e testare un modello per ogni riduzione. Si possono verificare problemi di prestazioni se il numero di riduzioni è troppo elevato.

Definizione dei dati di testing

Quando si eseguono le stored procedure che calcolano l'accuratezza, SystemGetAccuracyResults (Analysis Services - Data mining) o SystemGetClusterAccuracyResults (Analysis Services - Data mining), è possibile specificare l'origine dei dati utilizzata per il testing durante la convalida incrociata, utilizzando combinazioni delle opzioni seguenti:

  • Utilizzare solo i dati di training.

  • Includere un set di dati di testing esistente.

  • Utilizzare solo il set di dati di testing.

  • Applicare i filtri esistenti a ogni modello.

  • Qualsiasi combinazione di set di training, set di testing e filtri dei modelli.

La composizione del set di dati di testing viene controllata fornendo un valore per il parametro DataSet.

Se si esegue la convalida incrociata utilizzando il report Convalida incrociata nella Progettazione modelli di data mining, non è possibile modificare il set di dati utilizzato. Per impostazione predefinita, vengono utilizzati i case di training per ogni modello. Se un filtro è associato a un modello, il filtro viene applicato.

Convalida incrociata di modelli di data mining filtrati

Se si stanno testando più modelli di data mining e i modelli dispongono di filtri, ogni modello viene filtrato separatamente. Non è possibile aggiungere un filtro a un modello o modificare il filtro per un modello durante la convalida incrociata.

Poiché per impostazione predefinita la convalida incrociata testa tutti i modelli di data mining associati a una struttura, si potrebbero ottenere risultati incoerenti se alcuni modelli dispongono di un filtro e altri no. Per confrontare solo i modelli che hanno lo stesso filtro, è necessario utilizzare le stored procedure e specificare un elenco di modelli di data mining. In alternativa, utilizzare solo il set di test della struttura di data mining senza filtri per assicurare che venga utilizzato un set di dati coerente per tutti i modelli.

Impostazione della soglia di accuratezza

La soglia di stato consente di impostare la barra di accuratezza per le stime. Per ogni case, il modello calcola una probabilità, denominata probabilità di stima di correttezza dello stato stimato. Se la probabilità di stima supera la barra di accuratezza, la stima viene conteggiata come corretta. In caso contrario, viene conteggiata come scorretta. Questo valore viene controllato impostando la Soglia di stato su un numero compreso tra 0,0 e 1,0, dove i numeri più vicini a 1 indicano un alto livello di confidenza nelle stime, mentre i numeri più vicini a 0 indicano che è meno probabile che la stima sia vera. Il valore predefinito della soglia di stato è NULL, che indica che lo stato stimato con la probabilità più elevata viene considerato come valore di destinazione.

Nota

È possibile impostare un valore di 0,0, ma non è significativo, in quanto ogni stima verrà conteggiata come corretta, anche quelle con probabilità zero. Fare attenzione a non impostare inavvertitamente la Soglia di stato su 0,0.

Sono presenti, ad esempio, tre modelli che stimano la colonna [Bike Buyer] (acquirente di biciclette). Il valore da stimare è 1, che indica che la bicicletta viene acquistata. I tre modelli restituiscono stime con probabilità di 0,05, 0,15 e 0,8. Se si imposta la soglia di stato su 0,10, due delle stime vengono conteggiate come corrette. Se si imposta la soglia di stato su 0,5, solo un modello viene conteggiato come modello che ha restituito una stima corretta. Se si utilizza il valore predefinito, null, la stima più probabile viene conteggiata come corretta. In questo caso, tutte e tre le stime verrebbero conteggiate come corrette.

Metrica utilizzata nella convalida incrociata

Vengono generate metriche di accuratezza differenti a seconda del determinato tipo di modello di data mining, del tipo di dati dell'attributo stimabile e del valore dell'attributo stimabile, se presente. In questa sezione vengono definite le metriche principali per riferimento. Per un elenco delle metriche di accuratezza restituite nel report per ogni modello, raggruppate per tipo, vedere Report Convalida incrociata (Analysis Services - Data mining).

Misura

Si applica a

Implementazione

Classificazione: vero positivo, falso positivo, vero negativo, falso negativo

Attributo discreto, il valore viene specificato

Conteggio delle righe o dei valori nella partizione in cui la probabilità di stima è superiore alla soglia di stato e lo stato stimato corrisponde allo stato di destinazione.

Classificazione: test superato/non superato

Attributo discreto, nessuna destinazione specificata

Conteggio delle righe o dei valori nella partizione in cui la probabilità di stima è superiore alla soglia di stato e il valore della probabilità di stima è superiore a 0.

Accuratezza

Attributo discreto. Il valore di destinazione può essere specificato ma non è obbligatorio.

Probabilità in forma logaritmica media per tutte le righe con valori per l'attributo di destinazione in cui la probabilità in forma logaritmica per ogni case viene calcolata come Log(ActualProbability/MarginalProbability). Per calcolare la media, la somma dei valori di probabilità in forma logaritmica viene divisa per il numero di righe nel set di dati di input, eccetto le righe con valori mancanti per attributo di destinazione. L'accuratezza può essere un valore negativo o positivo. Un valore positivo indica un modello valido che offre prestazioni più elevate rispetto all'ipotesi casuale.

Punteggio in forma logaritmica

Attributo discreto. Il valore di destinazione può essere specificato ma non è obbligatorio.

Logaritmo della probabilità effettiva per ogni case, sommato e poi diviso per il numero di righe nel set di dati di input, eccetto le righe con valori mancanti per l'attributo di destinazione. Poiché la probabilità viene rappresentata come frazione decimale, i punteggi in forma logaritmica sono sempre numeri negativi.

Probabilità del case

Cluster

Somma dei punteggi di probabilità del cluster per ogni case, divisa per il numero di case nella partizione, eccetto le righe con valori mancanti per l'attributo di destinazione.

Errore assoluto medio

Attributo continuo

Somma dell'errore assoluto per tutti i case nella partizione, divisa per il numero di case nella partizione, esclusi i case con valori mancanti.

Radice errore quadratico medio

Attributo continuo

Radice quadrata dell'errore quadratico medio della partizione.

Radice errore quadratico medio

Attributo discreto. Il valore di destinazione può essere specificato ma non è obbligatorio.

Radice quadrata della media dei quadrati di complemento del punteggio di probabilità, divisa per il numero di case nella partizione, eccetto le righe con valori mancanti per l'attributo di destinazione.

Radice errore quadratico medio

Attributo discreto, nessuna destinazione specificata.

Radice quadrata della media dei quadrati di complemento del punteggio di probabilità, divisa per il numero di case nella partizione, eccetto i case con valori mancanti per l'attributo di destinazione.