Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Cross-Validation ist ein Standardtool in der Analyse und ist ein wichtiges Feature, mit dem Sie Data Mining-Modelle entwickeln und optimieren können. Sie verwenden eine Kreuzvalidierung, nachdem Sie eine Miningstruktur und die zugehörigen Miningmodelle erstellt haben, um die Gültigkeit des Modells zu ermitteln. Die Kreuzüberprüfung umfasst die folgenden Anwendungen:
Überprüfen der Stabilität eines bestimmten Miningmodells.
Auswertung mehrerer Modelle anhand eines einzelnen Ausdrucks.
Erstellen mehrerer Modelle und Identifizieren des besten Modells basierend auf Statistiken.
In diesem Abschnitt wird beschrieben, wie Sie die für Data Mining bereitgestellten Überprüfungsfeatures verwenden und wie Sie die Ergebnisse der Kreuzüberprüfung für ein einzelnes Modell oder für mehrere Modelle basierend auf einem einzelnen Dataset interpretieren.
Übersicht über den prozessübergreifenden Validierungsprozess
Die Kreuzvalidierung besteht aus zwei Phasen, Schulungen und Ergebnisgenerierung. Zu diesen Phasen gehören die folgenden Schritte:
Sie wählen eine Ziel-Miningstruktur aus.
Sie geben die Modelle an, die Sie testen möchten. Dieser Schritt ist optional; Sie können auch die Bergbaustruktur testen.
Sie geben die Parameter zum Testen der trainierten Modelle an.
Das vorhersagbare Attribut, der vorhergesagte Wert und der Genauigkeitsschwellenwert.
Die Anzahl der Faltungen, in die die Struktur- oder Modelldaten aufgeteilt werden sollen.
Analysis Services erstellt und trainiert so viele Modelle wie Faltungen.
Analysis Services gibt eine Reihe von Genauigkeitsmetriken für jede Faltung in jedem Modell oder für das Dataset als Ganzes zurück.
Konfiguration der Cross-Validierung
Sie können die Art und Weise anpassen, wie die Kreuzüberprüfung funktioniert, um die Anzahl der Querschnitte, die getesteten Modelle und die Genauigkeitsbalken für Vorhersagen zu steuern. Wenn Sie die gespeicherten Prozeduren für die kreuzüberprüfung verwenden, können Sie auch den Datensatz angeben, der für die Überprüfung der Modelle verwendet wird. Diese Fülle von Auswahlmöglichkeiten bedeutet, dass Sie problemlos viele Verschiedene Ergebnisse produzieren können, die dann verglichen und analysiert werden müssen.
Dieser Abschnitt enthält Informationen, mit denen Sie die Kreuzvalidierung korrekt konfigurieren können.
Festlegen der Anzahl der Partitionen
Wenn Sie die Anzahl der Partitionen angeben, bestimmen Sie, wie viele temporäre Modelle erstellt werden sollen. Für jede Partition wird ein Querschnitt der Daten für die Verwendung als Testsatz gekennzeichnet, und ein neues Modell wird durch Schulungen zu den verbleibenden Daten erstellt, die nicht in der Partition enthalten sind. Dieser Vorgang wird wiederholt, bis Analysis Services die angegebene Anzahl von Modellen erstellt und getestet hat. Die Daten, die Sie als verfügbar für die Kreuzüberprüfung angegeben haben, werden gleichmäßig unter allen Partitionen verteilt.
Das Beispiel im Diagramm veranschaulicht die Verwendung von Daten, wenn drei Faltungen angegeben werden.
Im Szenario im Diagramm enthält die Miningstruktur einen Haltefelddatensatz, der für Tests verwendet wird, aber der Testdatensatz wurde nicht für die Kreuzüberprüfung einbezogen. Daher werden alle Daten im Schulungsdatensatz, 70 Prozent der Daten in der Miningstruktur, für die Kreuzüberprüfung verwendet. Der Kreuzvalidierungsbericht zeigt die Gesamtanzahl der Fälle, die in jeder Partition verwendet werden.
Sie können auch die Datenmenge angeben, die während der Kreuzüberprüfung verwendet wird, indem Sie die Anzahl der zu verwendenden Gesamtfälle angeben. Die Fälle werden gleichmäßig über alle Teilmengen verteilt.
Bei Miningstrukturen, die in einer Instanz von SQL Server Analysis Services gespeichert sind, beträgt der Maximalwert, den Sie für die Anzahl der Faltungen festlegen können, 256 oder die Anzahl der Fälle, je nachdem, welcher Wert kleiner ist. Wenn Sie eine Session Mining-Struktur verwenden, beträgt die maximale Anzahl von Faltungen 10.
Hinweis
Wenn Sie die Anzahl der Faltungen erhöhen, erhöht sich die zeitaufwendige Überprüfung, da ein Modell für jede Faltung generiert und getestet werden muss. Es können Leistungsprobleme auftreten, wenn die Anzahl der Faltungen zu hoch ist.
Festlegen des Genauigkeitsschwellenwerts
Mit dem Zustandsschwellenwert können Sie den Genauigkeitsmaßstab für Vorhersagen festlegen. Für jeden Fall berechnet das Modell die Vorhersagewahrscheinlichkeit, d. h. die Wahrscheinlichkeit, dass der vorhergesagte Zustand korrekt ist. Wenn die Vorhersagewahrscheinlichkeit den Genauigkeitsbalken überschreitet, wird die Vorhersage als richtig gezählt. wenn nicht, wird die Vorhersage als falsch gezählt. Sie steuern diesen Wert, indem Sie den Statusschwellenwert auf eine Zahl zwischen 0,0 und 1,0 festlegen, wobei Zahlen, die näher an 1 liegen, einen starken Konfidenzfaktor in den Vorhersagen angeben, und Zahlen näher an 0 deuten darauf hin, dass die Vorhersage weniger wahrscheinlich wahr ist. Der Standardwert für den Statusschwellenwert ist NULL, was bedeutet, dass der vorhergesagte Zustand mit der höchsten Wahrscheinlichkeit als Zielwert betrachtet wird.
Beachten Sie, dass sich die Einstellung für den Zustandsschwellenwert auf Kennzahlen der Modellgenauigkeit auswirkt. Angenommen, Sie haben drei Modelle, die Sie testen möchten. Alle basieren auf derselben Bergbaustruktur und alle prognostizieren die Spalte [Bike Buyer]. Darüber hinaus möchten Sie einen einzelnen Wert von 1 vorhersagen, was bedeutet "ja, wird kaufen". Die drei Modelle geben Vorhersagen mit Vorhersagewahrscheinlichkeiten von 0,05, 0,15 und 0,8 zurück. Wenn Sie den Statusschwellenwert auf 0,10 festlegen, werden zwei der Vorhersagen als richtig gezählt. Wenn Sie den Statusschwellenwert auf 0,5 festlegen, wird nur ein Modell gezählt, da eine korrekte Vorhersage zurückgegeben wurde. Wenn Sie den Standardwert verwenden, wird null, die wahrscheinlichste Vorhersage als richtig gezählt. In diesem Fall werden alle drei Vorhersagen als richtig gezählt.
Hinweis
Sie können einen Wert von 0,0 für den Schwellenwert festlegen, aber der Wert ist bedeutungslos, da jede Vorhersage als richtig gezählt wird, auch diejenigen mit Nullwahrscheinlichkeit. Achten Sie darauf, den Zustandsschwellenwert nicht versehentlich auf 0,0 festzulegen.
Auswählen von Zu überprüfenden Modellen und Spalten
Wenn Sie die Registerkarte "Kreuzüberprüfung " im Data Mining-Designer verwenden, müssen Sie zuerst die vorhersagbare Spalte aus einer Liste auswählen. In der Regel kann eine Miningstruktur viele Miningmodelle unterstützen, von denen nicht alle dieselbe vorhersagbare Spalte verwenden. Wenn Sie eine überprüfungsübergreifende Ausführung ausführen, können nur die Modelle, die dieselbe vorhersagbare Spalte verwenden, in den Bericht einbezogen werden.
Um ein vorhersagbares Attribut auszuwählen, klicken Sie auf "Zielattribute ", und wählen Sie die Spalte aus der Liste aus. Wenn es sich bei dem Ziel-Attribut um eine geschachtelte Spalte oder eine Spalte in einer geschachtelten Tabelle handelt, müssen Sie den Namen der geschachtelten Spalte mit dem Format <"Geschachtelter Tabellenname>(Schlüssel)" eingeben.<Geschachtelte Spalte>. Wenn die einzige aus der geschachtelten Tabelle verwendete Spalte die Schlüsselspalte ist, können Sie "Geschachtelter Tabellenname>(Schlüssel)" verwenden<.
Nachdem Sie das vorhersagbare Attribut ausgewählt haben, testet Analysis Services automatisch alle Modelle, die dasselbe vorhersagbare Attribut verwenden. Nachdem Sie die vorhersagbare Spalte ausgewählt haben, können Sie optional einen Zielzustand eingeben, wenn das Zielattribut diskrete Werte enthält und ein bestimmter Wert vorhanden ist, den Sie vorhersehen möchten.
Die Auswahl des Zielzustands wirkt sich auf die zurückgegebenen Maßnahmen aus. Wenn Sie ein Zielattribute angeben, d. h. einen Spaltennamen und keinen bestimmten Wert auswählen, den das Modell vorherzusagen soll, wird das Modell standardmäßig für die Vorhersage des wahrscheinlichsten Zustands ausgewertet.
Wenn Sie die Kreuzüberprüfung mit Clustermodellen verwenden, gibt es keine vorhersagbare Spalte. Stattdessen wählen Sie #Cluster aus der Liste im Listenfeld "Zielattribute " aus. Nachdem Sie diese Option ausgewählt haben, sind andere Optionen deaktiviert, die für Clusteringmodelle, z. B. den Zielstatus, nicht relevant sind. Analysis Services testt dann alle Clusteringmodelle, die der Miningstruktur zugeordnet sind.
Tools für die Kreuzvalidierung
Sie können die Kreuzüberprüfung aus dem Data Mining-Designer verwenden, oder Sie können eine Kreuzüberprüfung durchführen, indem Sie gespeicherte Prozeduren ausführen.
Wenn Sie die Data Mining-Designer-Tools verwenden, um eine Kreuzüberprüfung durchzuführen, können Sie die Parameter für Schulungen und Genauigkeitsergebnisse in einem einzigen Dialogfeld konfigurieren. Dies erleichtert das Einrichten und Anzeigen von Ergebnissen. Sie können die Genauigkeit aller Miningmodelle messen, die mit einer einzelnen Miningstruktur zusammenhängen, und dann sofort die Ergebnisse in einem HTML-Bericht anzeigen. Die gespeicherten Prozeduren bieten jedoch einige Vorteile, z. B. hinzugefügte Anpassungen und die Möglichkeit, den Prozess zu skripten.
Kreuzvalidierung im Data Mining Designer
Sie können eine Kreuzvalidierung durchführen, indem Sie die Registerkarte Kreuzvalidierung der Ansicht "Mining-Genauigkeitsdiagramm" in SQL Server Management Studio oder SQL Server Development Studio verwenden.
Ein Beispiel zum Erstellen eines überprüfungsübergreifenden Berichts mithilfe der Benutzeroberfläche finden Sie unter Erstellen eines Überprüfungsberichts.
Gespeicherte Prozeduren mit Kreuzvalidierung
Bei erweiterten Benutzern steht auch die Kreuzüberprüfung in Form von vollständig parametrisierten gespeicherten Systemprozeduren zur Verfügung. Sie können die gespeicherten Prozeduren ausführen, indem Sie eine Verbindung mit einer Instanz von SQL Server 2014 Analysis Services (SSAS) aus SQL Server Management Studio oder aus einer beliebigen verwalteten Codeanwendung herstellen.
Die gespeicherten Prozeduren werden nach dem Miningmodelltyp gruppiert. Eine Reihe gespeicherter Prozeduren funktioniert nur mit Clusteringmodellen. Die anderen gespeicherten Prozeduren funktionieren mit anderen Miningmodellen.
Für jeden Miningmodelltyp, gruppiert oder nicht gruppiert, führen die gespeicherten Prozeduren eine Kreuzüberprüfung in zwei separaten Phasen durch.
Partitionsdaten und Generieren von Metriken für Partitionen
Für die erste Phase rufen Sie eine gespeicherte Systemprozedur auf, die so viele Partitionen erstellt, wie Sie innerhalb des Datasets angeben, und gibt Genauigkeitsergebnisse für jede Partition zurück. Für jede Metrik berechnet Analysis Services dann die Mittel- und Standardabweichung für die Partitionen.
SystemGetCrossValidationResults (Analysis Services - Data Mining)
SystemGetClusterCrossValidationResults (Analyse-Dienste - Data-Mining)
Generieren von Metriken für den gesamten Datensatz
In der zweiten Phase rufen Sie eine andere Gruppe gespeicherter Prozeduren auf. Diese gespeicherten Prozeduren partitionieren den Datensatz nicht, generieren jedoch Genauigkeitsergebnisse für das angegebene Dataset als Ganzes. Wenn Sie bereits eine Miningstruktur partitioniert und verarbeitet haben, können Sie diesen zweiten Satz gespeicherter Prozeduren aufrufen, um nur die Ergebnisse zu erhalten.
Definieren der Testdaten
Wenn Sie die gespeicherten Prozeduren für die Kreuzüberprüfung ausführen, die die Genauigkeit berechnen (SystemGetAccuracyResults oder SystemGetClusterAccuracyResults), können Sie die Quelle der Daten angeben, die während der Überprüfung zum Testen verwendet werden. Diese Option ist in der Benutzeroberfläche nicht verfügbar.
Sie können eine der folgenden Optionen als Testdatenquelle angeben:
Verwenden Sie nur die Schulungsdaten.
Schließen Sie einen vorhandenen Testdatensatz ein.
Verwenden Sie nur den Testdatensatz.
Anwenden vorhandener Filter auf jedes Modell.
Eine beliebige Kombination aus Schulungssätzen, Testsätzen und Modellfiltern.
Um eine Testdatenquelle anzugeben, geben Sie einen ganzzahligen Wert für den DataSet Parameter der gespeicherten Prozedur an. Eine Liste der Argumentwerte finden Sie im Abschnitt "Hinweise" des relevanten Referenzthemas für gespeicherte Prozeduren.
Wenn Sie die Kreuzüberprüfung mithilfe des Berichts "Kreuzüberprüfung" im Data Mining-Designer durchführen, können Sie den verwendeten Datensatz nicht ändern. Standardmäßig werden die Schulungsfälle für jedes Modell verwendet. Wenn ein Filter einem Modell zugeordnet ist, wird der Filter angewendet.
Ergebnisse der Kreuzüberprüfung
Wenn Sie den Data Mining-Designer verwenden, werden diese Ergebnisse in einem rasterähnlichen Web viewer angezeigt. Wenn Sie die gespeicherten Prozeduren für die kreuzüberprüfung verwenden, werden dieselben Ergebnisse als Tabelle zurückgegeben.
Der Bericht enthält zwei Arten von Maßnahmen: Aggregate, die die Variabilität des Datensatzes angeben, wenn er in Teilmengen unterteilt ist, und modellspezifische Genauigkeitsmaße für jede Teilmenge. Die folgenden Themen enthalten weitere Informationen zu diesen Metriken:
Listet die Maßnahmen für jeden Testtyp auf. Beschreibt im Allgemeinen, wie die Maßnahmen interpretiert werden können.
Maßnahmen im Cross-Validation-Bericht
Beschreibt die Formeln für die Berechnung der einzelnen Measures und listet den Typ des Attributs auf, auf das jedes Measure angewendet werden kann.
Einschränkungen bei der Kreuzvalidierung
Wenn Sie eine Kreuzvalidierung mithilfe des Kreuzvalidierungsberichts in SQL Server Development Studio durchführen, gibt es einige Einschränkungen bei den Modellen, die Sie testen können, und den Parametern, die Sie einstellen können.
Standardmäßig werden alle Modelle, die der ausgewählten Miningstruktur zugeordnet sind, cross-validiert. Sie können das Modell oder eine Liste von Modellen nicht angeben.
Die Kreuzüberprüfung wird für Modelle, die auf dem Microsoft Time Series-Algorithmus oder dem Microsoft Sequence Clustering-Algorithmus basieren, nicht unterstützt.
Der Bericht kann nicht erstellt werden, wenn Ihre Miningstruktur keine Modelle enthält, die durch kreuzüberprüfung getestet werden können.
Wenn die Miningstruktur sowohl Clustering- als auch Nicht-Clustering-Modelle enthält und Sie die Option #Cluster nicht auswählen, werden die Ergebnisse für beide Modelltypen im selben Bericht angezeigt, obwohl das Attribut, der Status und die Schwellenwerteinstellungen für die Clusteringmodelle möglicherweise nicht geeignet sind.
Einige Parameterwerte sind eingeschränkt. Beispielsweise wird eine Warnung angezeigt, wenn die Anzahl der Faltungen mehr als 10 beträgt, da das Generieren so vieler Modelle dazu führen kann, dass der Bericht langsam angezeigt wird.
Wenn Sie mehrere Miningmodelle testen und die Modelle Filter haben, wird jedes Modell separat gefiltert. Sie können einem Modell keinen Filter hinzufügen oder den Filter für ein Modell während der Kreuzüberprüfung ändern.
Da die Kreuzvalidierung standardmäßig alle Miningmodelle testet, die einer Struktur zugeordnet sind, erhalten Sie möglicherweise inkonsistente Ergebnisse, wenn einige Modelle über einen Filter verfügen und andere nicht. Um sicherzustellen, dass Sie nur die Modelle vergleichen, die denselben Filter aufweisen, sollten Sie die gespeicherten Prozeduren verwenden und eine Liste der Miningmodelle angeben. Oder verwenden Sie nur den Testsatz für die Miningstruktur ohne Filter, um sicherzustellen, dass für alle Modelle eine konsistente Datenmenge verwendet wird.
Wenn Sie eine Cross-Validierung mithilfe gespeicherter Prozeduren durchführen, haben Sie die zusätzliche Möglichkeit, die Quelle der Testdaten auszuwählen. Wenn Sie eine Cross-Validierung mithilfe des Data Mining-Designers durchführen, müssen Sie den Testdatensatz verwenden, der dem Modell oder der Struktur zugeordnet ist, falls vorhanden. Wenn Sie erweiterte Einstellungen angeben möchten, sollten Sie im Allgemeinen die gespeicherten Prozeduren für die kreuzüberprüfung verwenden.
Die Kreuzüberprüfung kann nicht mit Zeitreihen- oder Sequenzclusteringmodellen verwendet werden. Insbesondere kann kein Modell, das eine KEY TIME-Spalte oder eine KEY SEQUENCE-Spalte enthält, in die Kreuzüberprüfung einbezogen werden.
Verwandte Inhalte
Weitere Informationen zur Cross-Validierung oder zu verwandten Methoden zur Überprüfung von Data-Mining-Modellen, wie z. B. Genauigkeitsdiagrammen, finden Sie in den folgenden Themen.
| Themen | Verknüpfungen |
|---|---|
| Beschreibt, wie Kreuzvalidierungsparameter in SQL Server Development Studio festgelegt werden. | Registerkarte "Kreuzvalidierung" (Ansicht des Genauigkeitsdiagramms für Mining) |
| Beschreibt die Metriken, die von der Kreuzüberprüfung bereitgestellt werden. | Kreuzvalidierungsformeln |
| Erläutert das Format des überprüfungsübergreifenden Berichts und definiert die für jeden Modelltyp vorgesehenen statistischen Kennzahlen. | Maßnahmen im Cross-Validation-Bericht |
| Listet die gespeicherten Prozeduren für die Berechnung von Validierungsstatistiken auf. | Gespeicherte Data Mining-Prozeduren (Analysis Services - Data Mining) |
| Beschreibt, wie ein Testdatensatz für Miningstrukturen und zugehörige Modelle erstellt wird. | Schulungs- und Testdatensätze |
| Beispiele für andere Genauigkeitsdiagrammtypen. |
Klassifizierungsmatrix (Analysis Services - Data Mining) Lift-Chart (Analysis Services - Data Mining) Gewinndiagramm (Analysis Services - Data Mining) Punktdiagramm (Analysis Services - Data Mining) |
| Beschreibt die Schritte zum Erstellen verschiedener Genauigkeitsdiagramme. | Test- und Validierungsaufgaben und Vorgehensweisen (Data Mining) |