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 Genaugkeitsmetriken 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.
Hinweis 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.
Hinweis 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 Übergreifende Überprüfung (Analysis Services - Data Mining). Eine Liste der für die einzelnen vorhersagbaren Typen zurückgegebenen Measures finden Sie unter Bericht für die Kreuzvalidierung (Analysis Services – Data Mining). |
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.