Condividi tramite


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.