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.
Das Trennen von Daten in Schulungs- und Testsätze ist ein wichtiger Bestandteil der Auswertung von Data Mining-Modellen. Wenn Sie einen Datensatz in einen Schulungs- und Testsatz aufteilen, werden die meisten Daten für Schulungen verwendet, und ein kleinerer Teil der Daten wird für Tests verwendet. Analysis Services untersucht zufällig die Daten, um sicherzustellen, dass die Test- und Schulungssätze ähnlich sind. Durch die Verwendung ähnlicher Daten für Schulungen und Tests können Sie die Auswirkungen von Datenabweichungen minimieren und die Merkmale des Modells besser verstehen.
Nachdem ein Modell mithilfe des Schulungssatzes verarbeitet wurde, testen Sie das Modell, indem Sie Vorhersagen für den Testsatz erstellen. Da die Daten im Testsatz bereits bekannte Werte für das Attribut enthalten, das Sie vorhersagen möchten, ist es einfach zu bestimmen, ob die Vermutungen des Modells korrekt sind.
Erstellen von Test- und Schulungssätzen für Data Mining-Strukturen
In SQL Server 2014 trennen Sie den ursprünglichen Datensatz auf der Ebene der Miningstruktur. Die Informationen über die Größe der Trainings- und Testdatensätze und darüber, zu welchen Datenmengen die jeweiligen Zeilen gehören, werden mit der Struktur gespeichert, und alle Modelle, die auf dieser Struktur basieren, können diese Datensätze zum Training und Testen verwenden.
Sie können einen Testdatensatz für eine Miningstruktur auf folgende Weise definieren:
Verwenden Sie den Data Mining-Assistenten, um die Miningstruktur während der Erstellung zu unterteilen.
Ändern von Struktureigenschaften auf der Registerkarte "Miningstruktur " des Data Mining-Designers.
Programmgesteuertes Erstellen und Ändern von Strukturen mithilfe von Analysis Management Objects (AMO) oder XML Data Definition Language (DDL).
Verwendung des Data Mining-Assistenten zum Aufteilen einer Miningstruktur
Nachdem Sie die Datenquellen für eine Miningstruktur definiert haben, teilt der Data Mining-Assistent die Daten standardmäßig in zwei Gruppen auf: eine mit 70 Prozent der Quelldaten, zum Trainieren des Modells und eine mit 30 Prozent der Quelldaten zum Testen des Modells. Diese Standardeinstellung wurde ausgewählt, da ein Verhältnis von 70 bis 30 häufig im Data Mining verwendet wird, aber mit Analysis Services können Sie dieses Verhältnis entsprechend Ihren Anforderungen ändern.
Sie können den Assistenten auch so konfigurieren, dass eine maximale Anzahl von Trainingsfällen festgelegt wird, oder die Grenzwerte kombinieren, um einen maximalen Prozentsatz der Fälle innerhalb einer bestimmten Höchstzahl zu ermöglichen. Wenn Sie sowohl einen maximalen Prozentsatz von Fällen als auch eine maximale Anzahl von Fällen angeben, verwendet Analysis Services die kleineren der beiden Grenzwerte als Größe des Testsatzes. Wenn Sie beispielsweise für die Testfälle 30 Prozent Holdout und die maximale Anzahl der Testfälle als 1000 angeben, wird die Größe des Testsatzes niemals 1000 Fälle überschreiten. Dies kann hilfreich sein, wenn Sie sicherstellen möchten, dass die Größe Ihres Testsatzes konsistent bleibt, auch wenn dem Modell weitere Schulungsdaten hinzugefügt werden.
Wenn Sie dieselbe Datenquellenansicht für unterschiedliche Miningstrukturen verwenden und sicherstellen möchten, dass die Daten für alle Miningstrukturen und deren Modelle ungefähr auf die gleiche Weise aufgeteilt werden, sollten Sie den Seed angeben, der zum Initialisieren der Zufälligen Sampling verwendet wird. Wenn Sie einen Wert für HoldoutSeedangeben, verwendet Analysis Services diesen Wert, um mit dem Sampling zu beginnen. Andernfalls verwendet Sampling einen Hashingalgorithmus für den Namen der Miningstruktur, um den Seedwert zu erstellen.
Hinweis
Wenn Sie eine Kopie der Miningstruktur mithilfe der Anweisungen EXPORT und IMPORT erstellen, wird die neue Miningstruktur dieselben Schulungs- und Testdatensätze haben, da beim Exportvorgang eine neue ID erstellt wird, jedoch derselbe Name verwendet wird. Wenn jedoch zwei Miningstrukturen dieselbe zugrunde liegende Datenquelle nutzen, aber unterschiedliche Namen haben, unterscheiden sich die für jede Miningstruktur erstellten Sets.
Ändern von Struktureigenschaften zum Erstellen eines Testdatensatzes
Wenn Sie eine Miningstruktur erstellen und verarbeiten und später entscheiden, dass Sie einen Testdatensatz beiseite setzen möchten, können Sie die Eigenschaften der Miningstruktur ändern. Um die Partitionierung von Daten zu ändern, bearbeiten Sie die folgenden Eigenschaften:
| Eigentum | BESCHREIBUNG |
|---|---|
HoldoutMaxCases |
Gibt die maximale Anzahl von Fällen an, die in den Testsatz aufgenommen werden sollen. |
HoldoutMaxPercent |
Gibt die Anzahl der Fälle an, die in den Testsatz als Prozentsatz des vollständigen Datasets aufgenommen werden sollen. Damit kein Dataset vorhanden ist, geben Sie "0" an. |
HoldoutSeed |
Gibt einen ganzzahligen Wert an, der als Ausgangswert beim zufälligen Auswählen von Daten für die Partitionen verwendet werden soll. Dieser Wert wirkt sich nicht auf die Anzahl der Fälle im Schulungssatz aus. Stattdessen wird sichergestellt, dass die Partition wiederholt werden kann. |
Wenn Sie einer vorhandenen Struktur einen Testdatensatz hinzufügen oder ändern, müssen Sie die Struktur und alle zugehörigen Modelle neu verarbeiten. Da das Dividieren der Quelldaten dazu führt, dass das Modell auf eine andere Teilmenge der Daten trainiert wird, werden möglicherweise unterschiedliche Ergebnisse von Ihrem Modell angezeigt.
Programmgesteuertes Angeben des Holdouts
Sie können Test- und Trainingsdatensätze für eine Miningstruktur definieren, indem Sie DMX-Anweisungen, AMO oder XML DDL verwenden. Die ALTER MINING STRUCTURE-Anweisung unterstützt nicht die Verwendung von Holdout-Parametern.
In der Data Mining Extensions (DMX)-Sprache wurde die CREATE MINING STRUCTURE-Anweisung um eine WITH HOLDOUT-Klausel erweitert.
ASSL Sie können entweder eine neue Miningstruktur erstellen oder einen Testdatensatz zu einer vorhandenen Miningstruktur hinzufügen, indem Sie die Analysis Services Scripting Language (ASSL) verwenden.
AMO Sie können auch Aufbewahrungsdatensätze mithilfe von AMO anzeigen und ändern.
Sie können Informationen zum Haltefelddatensatz in einer vorhandenen Miningstruktur anzeigen, indem Sie das Data Mining-Schema-Rowset abfragen. Sie können dies tun, indem Sie einen DISCOVER ROWSET-Aufruf machen oder eine DMX-Abfrage verwenden.
Abrufen von Informationen zu Haltedaten
Standardmäßig werden alle Informationen zu den Schulungs- und Testdatensätzen zwischengespeichert, sodass Sie vorhandene Daten verwenden können, um neue Modelle zu trainieren und zu testen. Sie können auch Filter definieren, die auf zwischengespeicherte Aufbewahrungsdaten angewendet werden sollen, damit Sie das Modell in Teilmengen der Daten auswerten können.
Die Art und Weise, wie Fälle in Schulungs- und Testdatensätze unterteilt werden, hängt von der Art und Weise ab, wie Sie das Halteverbot konfigurieren, und von den von Ihnen bereitgestellten Daten. Wenn Sie die Anzahl der Fälle ermitteln möchten, die für Schulungen oder zum Testen verwendet werden, oder wenn Sie weitere Details zu den In den Schulungs- und Testsätzen enthaltenen Fällen finden möchten, können Sie die Modellstruktur abfragen, indem Sie eine QUERY-Abfrage erstellen. Die folgende Abfrage gibt beispielsweise die Fälle zurück, die im Schulungssatz des Modells verwendet wurden.
SELECT * from <structure>.CASES WHERE IsTrainingCase()
Um nur die Testfälle abzurufen und zusätzlich die Testfälle nach einer der Spalten in der Miningstruktur zu filtern, verwenden Sie die folgende Syntax:
SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'
Einschränkungen bei der Verwendung von Testdaten
Zum Verwenden des Holdouts muss die MiningStructureCacheMode, Eigenschaft der Miningstruktur auf den Standardwert
KeepTrainingCasesfestgelegt werden. Wenn Sie die EigenschaftCacheModeinClearAfterProcessingändern und dann die Miningstruktur erneut verarbeiten, wird die Partition verloren gehen.Sie können keine Daten aus einem Zeitreihenmodell entfernen; Daher können Sie die Quelldaten nicht in Schulungs- und Testsätze trennen. Wenn Sie mit der Erstellung einer Miningstruktur und eines Modells beginnen und den Microsoft Time Series-Algorithmus auswählen, ist die Option zum Erstellen eines Haltevorgangsdatensatzes deaktiviert. Die Verwendung von Holdout-Daten ist auch deaktiviert, wenn die Miningstruktur eine KEY TIME-Spalte auf der Fall- oder geschachtelten Tabellenebene enthält.
Es ist möglich, versehentlich den Holdout-Datensatz so zu konfigurieren, dass der vollständige Datensatz zum Testen verwendet wird und keine Daten für das Training übrig bleiben. Wenn Sie dies tun, löst Analysis Services jedoch einen Fehler aus, damit Sie das Problem beheben können. Analysis Services warnt Sie auch beim Verarbeiten der Struktur, wenn mehr als 50 Prozent der Daten zu Testzwecken zurückgehalten werden.
In den meisten Fällen bietet der Standard-Haltewert 30 ein gutes Gleichgewicht zwischen Schulungs- und Testdaten. Es gibt keine einfache Möglichkeit, zu bestimmen, wie groß die Datenmenge sein soll, um ausreichend zu trainieren, oder wie wenig der Trainingssatz sein kann und trotzdem Überanpassung zu vermeiden. Nachdem Sie jedoch ein Modell erstellt haben, können Sie die Kreuzüberprüfung verwenden, um die Datenmenge in Bezug auf ein bestimmtes Modell zu bewerten.
Zusätzlich zu den in der vorherigen Tabelle aufgeführten Eigenschaften wird eine schreibgeschützte Eigenschaft
HoldoutActualSizein AMO und XML DDL bereitgestellt. Da die tatsächliche Größe einer Partition jedoch erst genau bestimmt werden kann, nachdem die Struktur verarbeitet wurde, sollten Sie überprüfen, ob das Modell verarbeitet wurde, bevor Sie den Wert derHoldoutActualSizeEigenschaft abrufen.
Verwandte Inhalte
| Themen | Verknüpfungen |
|---|---|
| Beschreibt, wie Filter auf einem Modell mit Schulungs- und Testdatensätzen interagieren. | Filter für Miningmodelle (Analysis Services - Data Mining) |
| Beschreibt, wie sich die Verwendung von Schulungs- und Testdaten auf die Kreuzüberprüfung auswirkt. | Kreuzvalidierung (Analysis Services - Data Mining) |
| Enthält Informationen zu den programmgesteuerten Schnittstellen für die Arbeit mit Schulungs- und Testsätzen in einer Miningstruktur. |
AMO-Konzepte und -Objektmodell MiningStructure-Element (ASSL) |
| Stellt DMX-Syntax zum Erstellen von Haltesätzen bereit. | CREATE MINING STRUCTURE (DMX) |
| Rufen Sie Informationen zu Fällen in den Schulungs- und Testsätzen ab. |
Data Mining-Schema-Rowsets Abfragen der Data Mining-Schema-Rowsets (Analysis Services - Data Mining) |
Siehe auch
Data Mining Tools
Data Mining-Konzepte
Data Mining-Projektmappen
Testen und Überprüfen (Data Mining)