CREATE SNOWFLAKE.ML.ANOMALY_DETECTION¶
Erstellt ein neues Anomalieerkennungsmodell oder ersetzt ein bestehendes Modell unter Verwendung der von Ihnen bereitgestellten Trainingsdaten.
Syntax¶
CREATE [ OR REPLACE ] SNOWFLAKE.ML.ANOMALY_DETECTION <model_name>(
INPUT_DATA => <reference_to_training_data>,
[ SERIES_COLNAME => '<series_column_name>', ]
TIMESTAMP_COLNAME => '<timestamp_column_name>',
TARGET_COLNAME => '<target_column_name>',
LABEL_COLNAME => '<label_column_name>',
[ CONFIG_OBJECT => <config_object> ]
)
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
Parameter¶
model_name
Gibt den Bezeichner (model_name) für das Anomalieerkennungsobjekt an. Dieser muss für das Schema, in dem das Objekt erstellt wird, eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten. Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
Konstruktorargumente¶
Benötigt:
INPUT_DATA => reference_to_training_data
Gibt eine Referenz auf die Tabelle, Ansicht oder Abfrage an, die die Trainingsdaten für das Modell zurückgibt.
Um diesen Verweis zu erstellen, können Sie das Schlüsselwort TABLE mit dem Tabellennamen, dem Ansichtsnamen oder der Abfrage verwenden, oder Sie können die Funktion SYSTEM$REFERENCE oder SYSTEM$QUERY_REFERENCE aufrufen.
TIMESTAMP_COLNAME => 'timestamp_column_name'
Gibt den Namen der Spalte an, die in den Zeitreihendaten die Zeitstempel (TIMESTAMP_NTZ) enthält.
TARGET_COLNAME => 'target_column_name'
Gibt den Namen der Spalte an, die die zu analysierenden Daten enthält (NUMERIC oder FLOAT).
LABEL_COLNAME => 'label_column_name'
Gibt den Namen der Spalte an, die die Beschriftungen für die Daten enthält. Beschriftungen sind boolesche Werte (wahr/falsch), die angeben, ob eine bestimmte Zeile eine bekannte Anomalie ist. Wenn Sie keine beschrifteten Daten haben, übergeben Sie eine leere Zeichenfolge (
''
) für dieses Argument.
Optional:
SERIES_COLNAME => 'series_column_name'
Name der Spalte, die den Bezeichner für die Zeitreihe enthält (bei Daten aus mehreren Zeitreihen). Diese Spalte sollte vom Typ VARIANT sein, da sie jede Art von Wert oder eine Kombination von Werten aus mehr als einer Spalte in einem Array enthalten kann.
CONFIG_OBJECT => config_object
Ein OBJECT mit Schlüssel-Wert-Paaren, die zur Konfiguration des Modelltraining-Jobs verwendet werden.
Schlüssel
Typ
Standard
Beschreibung
aggregation_categorical
'MODE'
Die Aggregationsmethode für kategoriale Features Folgende Werte werden unterstützt:
'MODE'
: Der häufigste Wert.'FIRST'
: Der früheste Wert.'LAST'
: Der letzte Wert.
aggregation_numeric
'MEAN'
Die Aggregationsmethode für numerische Features Folgende Werte werden unterstützt:
'MEAN'
: Der Durchschnitt der Werte.'MEDIAN'
: Der mittlere Wert.MODE
: Der häufigste Wert.'MIN'
: Der kleinste Wert.'MAX'
: Der größte Wert.'SUM'
: Die Summe der Werte.'FIRST'
: Der früheste Wert.'LAST'
: Der letzte Wert.
aggregation_target
Wie
aggregation_numeric
oder'MEAN'
, wenn nicht angegebenDie Aggregationsmethode für den Zielwert. Folgende Werte werden unterstützt:
'MEAN'
: Der Durchschnitt der Werte.'MEDIAN'
: Der mittlere Wert.MODE
: Der häufigste Wert.'MIN'
: Der kleinste Wert.'MAX'
: Der größte Wert.'SUM'
: Die Summe der Werte.'FIRST'
: Der früheste Wert.'LAST'
: Der letzte Wert.
evaluate
TRUE
Gibt an, ob Bewertungskennzahlen erstellt werden sollen. Bei TRUE werden zusätzliche Modelle für die Kreuzvalidierung unter Verwendung der Parameter in
evaluation_config
trainiert.evaluation_config
Siehe Konfiguration der Bewertung.
Ein optionales Konfigurationsobjekt, das angibt, wie Bewertungskennzahlen für Daten generiert werden sollen, die außerhalb der Stichprobe liegen (out-of-sample). Siehe nächster Abschnitt.
frequency
k.A.
Die Frequenz der Zeitreihe Wenn nicht angegeben, ermittelt das Modell die Häufigkeit. Der Wert muss eine Zeichenfolge sein, die einen Zeitraum angibt, z. B.
'1 day'
. Zu den unterstützten Einheiten gehören Sekunden, Minuten, Stunden, Tage, Wochen, Monate, Quartale und Jahre. Sie können den Intervallnamen im Singular („Stunde“) oder im Plural („Stunden“) verwenden, dürfen ihn aber nicht abkürzen.on_error
'ABORT'
Zeichenfolge (Konstante), die die Fehlerbehandlungsmethode für das Training angibt. Dies ist besonders nützlich, wenn mehrere Zeitreihen trainiert werden. Folgende Werte werden unterstützt:
'abort'
: Training abbrechen, wenn in einer der Zeitreihen ein Fehler auftritt.'skip'
: Alle Zeitreihen überspringen, bei denen während des Trainings ein Fehler auftritt. Dies ermöglicht ein erfolgreiches Training für andere Zeitreihen. Um anzuzeigen, welche Zeitreihen während des Modelltrainings fehlgeschlagen sind, rufen Sie die Methode <Name_des_Modells>!SHOW_TRAINING_LOGS des Modells auf.
Konfiguration der Bewertung¶
Das Objekt evaluation_config
enthält Schlüssel-Wert-Paare zur Konfiguration der Kreuzvalidierung. Diese Parameter stammen aus dem TimeSeriesSplit-Kreuzvalidierer von scikit-learn.
Schlüssel |
Typ |
Standard |
Beschreibung |
---|---|---|---|
|
5 |
Anzahl der Splits. |
|
|
INTEGER oder NULL (kein Maximum). |
NULL |
Maximale Größe für ein einzelnes Trainingsset. |
|
INTEGER oder NULL. |
NULL |
Wird verwendet, um die Größe des Testsets zu begrenzen. |
|
0 |
Anzahl der Stichproben, die am Ende jedes Trainingsset vor dem Testset ausgeschlossen werden sollen. |
|
|
0,95 |
Das Vorhersageintervall, das bei der Berechnung von Intervall-Kennzahlen verwendet wird. |
Nutzungshinweise¶
Wenn die durch die Argumente TIMESTAMP_COLNAME, TARGET_COLNAME oder LABEL_COLNAME angegebenen Spaltennamen nicht in der Tabelle, Ansicht oder Abfrage enthalten sind, die im Argument INPUT_DATA angegebenen ist, tritt ein Fehler auf.
Die Replikation wird für Klasseninstanzen nicht unterstützt, außer für Instanzen der Klasse CUSTOM_CLASSIFIER.
Beispiele¶
Ein repräsentatives Beispiel finden Sie unter Beispiel zur Anomalieerkennung.