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>' ]
Copy

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

STRING

'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

STRING

'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

STRING

Wie aggregation_numeric oder 'MEAN', wenn nicht angegeben

Die 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

BOOLEAN

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

OBJECT

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

STRING

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

STRING

'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

n_splits

INTEGER

5

Anzahl der Splits.

max_train_size

INTEGER oder NULL (kein Maximum).

NULL

Maximale Größe für ein einzelnes Trainingsset.

test_size

INTEGER oder NULL.

NULL

Wird verwendet, um die Größe des Testsets zu begrenzen.

gap

INTEGER

0

Anzahl der Stichproben, die am Ende jedes Trainingsset vor dem Testset ausgeschlossen werden sollen.

prediction_interval

FLOAT

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.