SystemGetCrossValidationResults (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 |
---|
Die gespeicherte Prozedur kann nicht für die Kreuzvalidierung von Clustering-Modellen oder Modellen verwendet werden, die mithilfe des Microsoft Time Series-Algorithmus oder des Microsoft Sequence Clustering-Algorithmus erstellt wurden. Zur Kreuzvalidierung von Clustering-Modellen können Sie die separate gespeicherte Prozedur SystemGetClusterCrossValidationResults (Analysis Services - Data Mining) verwenden. |
Syntax
SystemGetCrossValidationResults(
<mining structure>
[, <mining model list>]
,<fold count>
,<max cases>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<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 ein Modellname Zeichen enthält, die im Namen eines Bezeichners nicht gültig sind, muss der Name in Klammern gesetzt werden.
Wenn keine Liste mit Miningmodellen angegeben wird, erfolgt die Kreuzvalidierung für alle Clustering-Modelle, die mit der angegebenen Struktur verknüpft sind und ein vorhersagbares Attribut enthalten.
Hinweis Zur Kreuzvalidierung von Clustering-Modellen müssen Sie eine separate gespeicherte Prozedur, SystemGetClusterCrossValidationResults (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 ist kein Standardwert vorhanden.
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 über alle Aufteilungen hinweg getestet werden können.Der Wert 0 gibt an, dass alle Fälle in der Datenquelle verwendet werden.
Wenn Sie einen Wert angeben, der größer ist als die tatsächliche Anzahl der Fälle im Dataset ist, werden alle Fälle in der Datenquelle verwendet.
Es gibt keinen Standardwert.
(erforderlich)
target attribute
Zeichenfolge, die den Namen des vorhersagbaren Attributs enthält. Ein vorhersagbares Attribut kann eine Spalte, eine verschachtelte Tabellenspalte oder eine Schlüsselspalte für eine geschachtelte Tabelle eines Miningmodells sein.Hinweis Das Vorhandensein des Zielattributs wird nur zur Laufzeit überprüft.
(erforderlich)
target state
Formel, die den Wert angibt, der vorhergesagt werden soll. Wenn ein Zielwert angegeben ist, werden Metriken nur für den angegebenen Wert aufgelistet.Wenn kein Wert oder null angegeben ist, werden die Metriken für den wahrscheinlichsten Status der einzelnen Vorhersagen berechnet.
Der Standardwert lautet null.
Während der Überprüfung wird ein Fehler ausgelöst, wenn der angegebene Wert für das angegebene Attribut nicht gültig ist oder die Formel nicht der richtige Typ für das angegebene Attribut ist.
(optional)
target threshold
Double größer als 0 und kleiner als 1. Gibt das minimale Wahrscheinlichkeitsergebnis an, das für die Vorhersage des angegebenen Zielstatus erreicht werden muss, damit er als richtig gewertet wird.Eine Vorhersage, deren Wahrscheinlichkeit niedriger als dieser Wert ist oder damit übereinstimmt, wird als falsch erachtet.
Wenn kein Wert oder null angegeben ist, wird der wahrscheinlichste Status unabhängig von seinem Wahrscheinlichkeitsergebnis verwendet.
Der Standardwert lautet null.
Hinweis In Analysis Services wird kein Fehler ausgelöst, wenn Sie state threshold auf 0,0 setzen; allerdings sollten Sie diesen Wert niemals verwenden. Tatsächlich bedeutet eine Schwelle von 0,0, dass Vorhersagen mit einer Wahrscheinlichkeit von 0 (null) Prozent als richtig gewertet werden.
(optional)
test list
Eine Zeichenfolge, die Testoptionen angibt.Hinweis Dieser Parameter ist für die zukünftige Verwendung reserviert.
(optional)
Rückgabetyp
Das Rowset, das zurückgegeben wird, enthält Bewertungen für jede Partition in jedem Modell.
In der folgenden Tabelle werden die Spalten in diesem Rowset beschrieben.
Spaltenname |
Beschreibung |
---|---|
ModelName |
Name des Modells, das getestet wurde. |
AttributeName |
Der Name der vorhersagbaren Spalte. |
AttributeState |
Ein angegebener Zielwert in der vorhersagbaren Spalte. Wenn dieser Wert null ist, wurde die wahrscheinlichste Vorhersage verwendet. Wenn diese Spalte einen Wert enthält, wird die Genauigkeit des Modells nur für diesen Wert bewertet. |
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 |
Kategorie des Tests, der ausgeführt wurde. Eine Beschreibung der Kategorien und der in jeder Kategorie enthaltenen Tests finden Sie unter Bericht für die Kreuzvalidierung (Analysis Services – Data Mining). |
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 vollständige Dataset zurückzugeben, verwenden Sie SystemGetAccuracyResults (Analysis Services - Data Mining).
Wenn das Miningmodell bereits in Aufteilungen partitioniert wurde, können Sie die Verarbeitung umgehen und nur die Ergebnisse der Kreuzvalidierung zurückgeben, indem Sie SystemGetAccuracyResults (Analysis Services - Data Mining) verwenden.
Beispiele
Das folgende Beispiel veranschaulicht, wie man eine Miningstruktur zur Kreuzvalidierung in zwei Aufteilungen partitioniert und dann zwei Miningmodelle testet, die mit der Miningstruktur, [v Target Mail], verknüpft sind.
In Zeile 3 des Codes sind die Miningmodelle aufgelistet, die Sie testen möchten. Wenn Sie die Liste nicht angeben, werden alle der Struktur zugeordneten Nicht-Clustermodelle verwendet. In Zeile 4 des Codes ist die Anzahl der Partitionen angegeben. Da für max cases kein Wert angegeben ist, werden alle Fälle in der Miningstruktur verwendet und gleichmäßig auf die Partitionen verteilt.
In Zeile 5 ist das vorhersehbare Attribut, Bike Buyer, angegeben, und in Zeile 6 der vorherzusagende Wert, nämlich 1 (was heißt: "Ja, will kaufen").
Der Wert NULL in Zeile 7 gibt an, dass keine minimale Wahrscheinlichkeitsschwelle erreicht werden muss. Deshalb wird die erste Vorhersage, die eine Wahrscheinlichkeit von ungleich 0 (null) hat, zur Bewertung der Genauigkeit verwendet.
CALL SystemGetCrossValidationResults(
[v Target Mail],
[Target Mail DT], [Target Mail NB],
2,
'Bike Buyer',
1,
NULL
)
Beispielergebnisse:
ModelName |
AttributeName |
AttributeState |
PartitionIndex |
PartitionSize |
Test |
Measure |
Wert |
---|---|---|---|---|---|---|---|
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Klassifizierung |
Wahr positiv |
144 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Klassifizierung |
Falsch positiv |
105 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Klassifizierung |
Wahr negativ |
186 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Klassifizierung |
Falsch negativ |
65 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Wahrscheinlichkeit |
Protokollergebnis |
-0.619042807138345 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Wahrscheinlichkeit |
Prognose |
0.0740963734002671 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Wahrscheinlichkeit |
Wurzel des mittleren Fehlers zum Quadrat |
0.346946279977653 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Klassifizierung |
Wahr positiv |
162 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Klassifizierung |
Falsch positiv |
86 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Klassifizierung |
Wahr negativ |
165 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Klassifizierung |
Falsch negativ |
87 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Wahrscheinlichkeit |
Protokollergebnis |
-0.654117781086519 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Wahrscheinlichkeit |
Prognose |
0.038997399132084 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Wahrscheinlichkeit |
Wurzel des mittleren Fehlers zum Quadrat |
0.342721344892651 |
Anforderungen
Die Kreuzvalidierung in SQL Server Enterprise ist erst ab SQL Server 2008 verfügbar.