SystemGetCrossValidationResults (Analysis Services - Data mining)
Si applica a: SQL Server 2019 e versioni precedenti di Analysis Services Azure Analysis Services Fabric/Power BI Premium
Importante
Il data mining è stato deprecato in SQL Server 2017 Analysis Services e ora è stato interrotto in SQL Server 2022 Analysis Services. La documentazione non viene aggiornata per le funzionalità deprecate e non più disponibili. Per altre informazioni, vedere Compatibilità con le versioni precedenti di Analysis Services.
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
Questa stored procedure non può essere utilizzata per convalidare i modelli di clustering incrociati o i modelli compilati usando l'algoritmo Microsoft Time Series o l'algoritmo Microsoft Sequence Clustering. Per convalidare tra i modelli di clustering, è possibile usare la stored procedure separata 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
struttura di data mining
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 convalidare tra i modelli di clustering, è necessario usare una stored procedure separata , SystemGetClusterCrossValidationResults (Analysis Services - Data mining) .
(facoltativo).
conteggio di riduzione
Valore integer che specifica il numero di partizioni in cui separare il set di dati. Il valore minimo è 2. Il numero massimo di riduzioni è il numero intero massimo o il numero di case, a seconda di quale valore è inferiore.
Ogni partizione conterrà approssimativamente questo numero di case: numero massimo di casi/di riduzione.
Non è previsto alcun 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)
numero massimo di case
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.
Non è previsto alcun valore predefinito.
(obbligatorio)
attributo di destinazione
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 questo valore non è specificato oppure è 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).
targetthreshold
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 usato lo stato più probabile, indipendentemente dal punteggio di probabilità corrispondente.
Il valore predefinito è Null.
Nota
SQL Server Analysis Services non genererà un errore se si imposta la soglia di stato su 0,0, ma non usare mai 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 usi 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 colonna | Descrizione |
---|---|
ModelName | Nome del modello sottoposto a test. |
AttributeName | Nome della colonna stimabile. |
AttributeState | Valore di destinazione specificato nella colonna stimabile. Un valore Nullindica che è stata usata 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 Misure nel report di convalida incrociata. |
Misura | 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 Misure nel report di convalida incrociata. |
Valore | Valore della misura di test specificata. |
Commenti
Per restituire le metriche di accuratezza per il set di dati completo, usare 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 della convalida incrociata usando SystemGetAccuracyResults (Analysis Services - Data mining).
Esempio
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 numero massimo di case, tutti i case nella struttura di data mining vengono usati 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 | Misura | Valore |
---|---|---|---|---|---|---|---|
Target Mail DT | Bike Buyer | 1 | 1 | 500 | Classificazione | Veri positivi | 144 |
Target Mail DT | Bike Buyer | 1 | 1 | 500 | Classificazione | Falsi positivi | 105 |
Target Mail DT | Bike Buyer | 1 | 1 | 500 | Classificazione | Veri negativi | 186 |
Target Mail DT | Bike Buyer | 1 | 1 | 500 | Classificazione | Falsi negativi | 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 | Veri positivi | 162 |
Target Mail DT | Bike Buyer | 1 | 2 | 500 | Classificazione | Falsi positivi | 86 |
Target Mail DT | Bike Buyer | 1 | 2 | 500 | Classificazione | Veri negativi | 165 |
Target Mail DT | Bike Buyer | 1 | 2 | 500 | Classificazione | Falsi negativi | 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 a partire da SQL Server 2008.
Vedere anche
SystemGetCrossValidationResults
SystemGetAccuracyResults (Analysis Services - Data mining)
SystemGetClusterCrossValidationResults (Analysis Services - Data mining)
SystemGetClusterAccuracyResults (Analysis Services - Data mining)