SystemGetClusterCrossValidationResults (Analysis Services – Data Mining)

Partitioniert die Miningstruktur in die angegebene Anzahl an Querschnitten, trainiert ein Modell für jede Partition und gibt anschließend Genauigkeitsmetriken für jede Partition zurück.

Hinweis   Diese gespeicherte Prozedur kann nur mit einer Miningstruktur verwendet werden, die mindestens ein Clustering-Modell enthält. Zur Kreuzvalidierung von Nicht-Clustermodellen müssen Sie SystemGetCrossValidationResults (Analysis Services – Data Mining) verwenden.

Syntax

SystemGetClusterCrossValidationResults(
<structure name>, 
[,<mining model list>]
,<fold count>}
,<max cases>
<test list>])

Argumente

  • mining structure
    Name einer Miningstruktur in der aktuellen Datenbank.

    (erforderlich)

  • mining model list
    Durch Trennzeichen getrennte Liste von Miningmodellen, die überprüft werden sollen.

    Wenn keine Liste mit Miningmodellen angegeben wird, erfolgt die Kreuzvalidierung für alle Clustering-Modelle, die mit der angegebenen Struktur verknüpft sind.

    HinweisHinweis

    Zur Kreuzvalidierung von Modellen, die keine Clustering-Modelle sind, müssen Sie eine separate gespeicherte Prozedur, SystemGetCrossValidationResults (Analysis Services – Data Mining), verwenden.

    (optional)

  • fold count
    Ganzzahliger Wert, der die Anzahl der Partitionen angibt, in die Dataset geteilt werden soll. Der Mindestwert beträgt 2. Die maximale Anzahl von Aufteilungen ist maximum integer oder die Anzahl von Fällen, wobei der jeweils niedrigere Wert gilt.

    Jede Partition enthält in etwa diese Anzahl von Fällen: max cases/fold count.

    Es gibt keinen Standardwert.

    HinweisHinweis

    Die Anzahl der Aufteilungen wirkt sich erheblich auf die Zeit aus, die für die Kreuzvalidierung benötigt wird. Wenn Sie eine zu hohe Zahl auswählen, kann die Ausführung der Abfrage sehr lang dauern, und in manchen Fällen reagiert der Server möglicherweise nicht mehr oder ein Timeout tritt ein.

    (erforderlich)

  • max cases
    Ganzzahliger Wert, der die maximale Anzahl von Fällen angibt, die getestet werden können.

    Der Wert 0 gibt an, dass alle Fälle in der Datenquelle verwendet werden.

    Wenn Sie eine Zahl angeben, die größer ist als die tatsächliche Anzahl der Fälle im Dataset ist, werden alle Fälle in der Datenquelle verwendet.

    (erforderlich)

  • test list
    Eine Zeichenfolge, die Testoptionen angibt.

    Hinweis   Dieser Parameter ist für die zukünftige Verwendung reserviert.

    (optional)

Rückgabetyp

Die Tabelle mit den Rückgabetypen enthält Bewertungen für jede einzelne Partition und Aggregate für alle Modelle.

In der folgenden Tabelle werden diese zurückgegebenen Spalten beschrieben.

Spaltenname

Beschreibung

ModelName

Name des Modells, das getestet wurde.

AttributeName

Der Name der vorhersagbaren Spalte. Bei Clustermodellen immer null.

AttributeState

Ein angegebener Zielwert in der vorhersagbaren Spalte. Bei Clustermodellen immer null..

PartitionIndex

Ein 1-basierter Index, der angibt, für welche Partition die Ergebnisse gelten.

PartitionSize

Ein ganzzahliger Wert, der angibt, wie viele Fälle in jeder Partition enthalten waren.

Test

Der Typ von Test, der ausgeführt wurde.

Measure

Der Name des Measures, der vom Test zurückgegeben wurde. Measures für die einzelnen Modelle richten sich nach dem Typ des vorhersagbaren Werts. Eine Definition der einzelnen Measures finden Sie unter Kreuzvalidierung (Analysis Services - Data Mining).

Eine Liste der für die einzelnen vorhersagbaren Typen zurückgegebenen Measures finden Sie unter Measures im Kreuzvalidierungsbericht.

Wert

Der Wert des angegebenen Testmeasures.

Hinweise

Um Genauigkeitsmetriken für das ganze Dataset zurückzugeben, verwenden Sie SystemGetClusterAccuracyResults (Analysis Services – Data Mining).

Wenn das Miningmodell bereits in Aufteilungen partitioniert wurde, können Sie außerdem die Verarbeitung umgehen und nur die Ergebnisse der Kreuzvalidierung zurückgeben, indem Sie SystemGetClusterAccuracyResults (Analysis Services – Data Mining) verwenden.

Beispiele

Das folgende Beispiel veranschaulicht, wie man eine Miningstruktur in drei Aufteilungen partitioniert und dann zwei Clustering-Modelle testet, die mit der Miningstruktur verknüpft sind.

In Zeile 3 des Codes sind die spezifischen Miningmodelle aufgelistet, die Sie testen möchten. Wenn Sie die Liste nicht angeben, werden alle der Struktur zugeordneten Clustering-Modelle verwendet.

In Zeile 4 des Codes ist die Anzahl der Aufteilungen und in Zeile 5 die Höchstzahl der zu verwendenden Fälle angegeben.

Da es sich hierbei um Clustering-Modelle handelt, brauchen Sie kein vorhersagbares Attribut oder Wert anzugeben.

CALL SystemGetClusterCrossValidationResults(
[v Target Mail],
[Cluster 1], [Cluster 2],
3,
10000
)

Beispielergebnisse:

ModelName

AttributeName

AttributeState

PartitionIndex

PartitionSize

Test

Measure

Wert

Cluster 1

 

 

1

3025

Clustering

Fallwahrscheinlichkeit

0.930524511864121

Cluster 1

 

 

2

3025

Clustering

Fallwahrscheinlichkeit

0.919184178430778

Cluster 1

 

 

3

3024

Clustering

Fallwahrscheinlichkeit

0.929651120490248

Cluster 2

 

 

1

1289

Clustering

Fallwahrscheinlichkeit

0.922789726933607

Cluster 2

 

 

2

1288

Clustering

Fallwahrscheinlichkeit

0.934865535691068

Cluster 2

 

 

3

1288

Clustering

Fallwahrscheinlichkeit

0.924724595688798

Anforderungen

Die Kreuzvalidierung in SQL Server Enterprise ist erst ab SQL Server 2008 verfügbar.

Siehe auch

Verweis

SystemGetCrossValidationResults (Analysis Services – Data Mining)

SystemGetAccuracyResults (Analysis Services - Data Mining)

SystemGetClusterCrossValidationResults (Analysis Services – Data Mining)

SystemGetClusterAccuracyResults (Analysis Services – Data Mining)