SystemGetCrossValidationResults (Analysis Services - Data mining)
Partiziona la struttura di data mining nel numero specificato di sezioni incrociate, esegue il training di un modello per ogni partizione, quindi restituisce la metrica di accuratezza per ogni partizione.
Nota
Non è possibile utilizzare questa stored procedure per la convalida incrociata di modelli di clustering o di modelli compilati mediante l'algoritmo Microsoft Time Series o Microsoft Sequence Clustering. Per eseguire la convalida incrociata di modelli di clustering, è possibile utilizzare la stored procedure specifica, ovvero SystemGetClusterCrossValidationResults (Analysis Services - Data mining).
Sintassi
SystemGetCrossValidationResults(
<mining structure>
[, <mining model list>]
,<fold count>
,<max cases>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])
Argomenti
mining structure
Nome di una struttura di data mining nel database corrente.(obbligatorio)
mining model list
Elenco delimitato da virgole dei modelli di data mining da convalidare.Se un nome di modello contiene eventuali caratteri non validi nel nome di un identificatore, è necessario racchiudere il nome tra parentesi.
Se non si specifica un elenco di modelli di data mining, la convalida incrociata viene eseguita su tutti i modelli associati alla struttura specificata e che contengono un attributo stimabile.
Nota
Per eseguire la convalida incrociata di modelli di clustering, è necessario utilizzare una stored procedure specifica, ovvero SystemGetClusterCrossValidationResults (Analysis Services - Data mining).
(facoltativo)
fold count
Valore integer che specifica il numero di partizioni in cui separare il set di dati. Il valore minimo è 2. Il numero massimo di riduzioni è maximum integer o il numero di case, a seconda del valore inferiore.Ogni partizione conterrà all'incirca questo numero di case: max cases/fold count.
Nessun valore predefinito.
Nota
Il numero di riduzioni influisce in modo significativo sul tempo richiesto per l'esecuzione della convalida incrociata. Se si seleziona un numero troppo elevato, l'esecuzione della query potrebbe richiedere molto tempo e in alcuni casi potrebbe verificarsi il blocco o il timeout del server.
(obbligatorio)
max cases
Valore integer che specifica il numero massimo di case che è possibile sottoporre a test in tutte le riduzioni.Il valore 0 indica che verranno utilizzati tutti i case nell'origine dati.
Se si specifica un valore maggiore del numero effettivo di case nel set di dati, verranno utilizzati tutti i case nell'origine dati.
Nessun valore predefinito.
(obbligatorio)
target attribute
Stringa che contiene il nome dell'attributo stimabile. Un attributo stimabile può essere una colonna, una colonna della tabella nidificata o una colonna chiave della tabella nidificata di un modello di data mining.Nota
L'esistenza dell'attributo di destinazione viene convalidata solo in fase di esecuzione.
(obbligatorio)
target state
Formula che specifica il valore da stimare. Se si specifica un valore di destinazione, viene raccolta la metrica solo per il valore specificato.Se non si specifica un valore oppure il valore è null, viene calcolata la metrica per lo stato più probabile per ogni stima.
Il valore predefinito è null.
Durante la convalida viene generato un errore se il valore specificato non è valido per l'attributo specificato oppure se la formula non è del tipo corretto per l'attributo specificato.
(facoltativo)
target threshold
Double è maggiore di 0 e minore di 1. Indica il punteggio di probabilità minimo che deve essere ottenuto per la stima dello stato di destinazione specificato affinché venga conteggiata come corretta.Una stima con una probabilità minore o uguale a questo valore viene considerata non corretta.
Se non si specifica alcun valore oppure il valore è null, viene utilizzato lo stato più probabile, indipendentemente dal punteggio di probabilità corrispondente.
Il valore predefinito è null.
Nota
Analysis Services non genererà un errore se si imposta state threshold su 0.0, sebbene non sia mai consigliabile utilizzare questo valore. Con una soglia di 0.0, le stime con una probabilità dello 0 percento vengono di fatto conteggiate come corrette.
(facoltativo)
test list
Stringa che specifica le opzioni di testing.Nota Questo parametro è riservato per utilizzi futuri.
(facoltativo)
Tipo restituito
Il set di righe restituito contiene punteggi per ogni partizione in ogni modello.
Nella tabella seguente vengono descritte le colonne nel set di righe.
Nome della colonna |
Descrizione |
---|---|
ModelName |
Nome del modello sottoposto a test. |
AttributeName |
Nome della colonna stimabile. |
AttributeState |
Valore di destinazione specificato nella colonna stimabile. Un valore null indica che è stata utilizzata la stima più probabile. Se questa colonna contiene un valore, l'accuratezza del modello viene valutata solo rispetto a questo valore. |
PartitionIndex |
Indice in base 1 che identifica la partizione a cui si applicano i risultati. |
PartitionSize |
Valore integer che indica il numero di case inclusi in ogni partizione. |
Test |
Categoria del test eseguito. Per una descrizione delle categorie e dei test inclusi in ogni categoria, vedere Report Convalida incrociata (Analysis Services - Data mining). |
Measure |
Nome della misura restituita dal test. Le misure per ogni modello dipendono dal tipo del valore stimabile. Per una definizione di ogni misura, vedere Convalida incrociata (Analysis Services - Data mining). Per un elenco delle misure restituite per ogni tipo stimabile, vedere Report Convalida incrociata (Analysis Services - Data mining). |
Value |
Valore della misura di test specificata. |
Osservazioni
Per restituire la metrica di accuratezza per l'intero set di dati, utilizzare SystemGetAccuracyResults (Analysis Services - Data mining).
Se il modello di data mining è già stato partizionato in riduzioni, è possibile ignorare l'elaborazione e restituire solo i risultati di convalida incrociata utilizzando SystemGetAccuracyResults (Analysis Services - Data mining).
Esempi
Nell'esempio seguente viene illustrato come partizionare una struttura di data mining per la convalida incrociata in due riduzioni, quindi come sottoporre a test i due modelli di data mining associati alla struttura di data mining, ovvero [v Target Mail].
Nella terza riga del codice sono elencati i modelli di data mining che si desidera sottoporre a test. Se non si specifica l'elenco, vengono utilizzati tutti i modelli non di clustering associati alla struttura. La quarta riga del codice specifica il numero di partizioni. Poiché non è stato specificato alcun valore per max cases, tutti i case nella struttura di data mining vengono utilizzati e distribuiti in modo uniforme nelle partizioni.
La quinta riga del codice specifica l'attributo stimabile, ovvero Bike Buyer, mentre la sesta riga specifica il valore da stimare, ovvero 1, indicando che l'acquisto verrà effettuato.
Il valore NULL nella settima riga indica che non è presente alcuna barra di probabilità minima da soddisfare. Nella valutazione dell'accuratezza verrà pertanto utilizzata la prima stima che dispone di una probabilità diversa da zero.
CALL SystemGetCrossValidationResults(
[v Target Mail],
[Target Mail DT], [Target Mail NB],
2,
'Bike Buyer',
1,
NULL
)
Risultati dell'esempio:
ModelName |
AttributeName |
AttributeState |
PartitionIndex |
PartitionSize |
Test |
Measure |
Value |
---|---|---|---|---|---|---|---|
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Classificazione |
Vero positivo |
144 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Classificazione |
Falso positivo |
105 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Classificazione |
Vero negativo |
186 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Classificazione |
Falso negativo |
65 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Probabilità |
Punteggio in forma logaritmica |
-0.619042807138345 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Probabilità |
Accuratezza |
0.0740963734002671 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Probabilità |
Radice errore quadratico medio |
0.346946279977653 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Classificazione |
Vero positivo |
162 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Classificazione |
Falso positivo |
86 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Classificazione |
Vero negativo |
165 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Classificazione |
Falso negativo |
87 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Probabilità |
Punteggio in forma logaritmica |
-0.654117781086519 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Probabilità |
Accuratezza |
0.038997399132084 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Probabilità |
Radice errore quadratico medio |
0.342721344892651 |
Requisiti
La convalida incrociata è disponibile solo in SQL Server Enterprise Edition a partire da SQL Server 2008.