CREATE SNOWFLAKE.ML.ANOMALY_DETECTION¶
Crée un nouveau modèle de détection d’anomalies ou remplace un modèle existant à l’aide des données d’entraînement que vous fournissez.
Syntaxe¶
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>' ]
Paramètres¶
model_name
Spécifie l’identificateur (le nom_de_modèle) de l’objet de détection d’anomalies ; doit être unique pour le schéma dans lequel l’objet est créée.
De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple,
"My object"
). Les identificateurs entre guillemets doubles sont également sensibles à la casse. Pour plus de détails, voir Exigences relatives à l’identificateur.
Arguments du constructeur¶
Obligatoire :
INPUT_DATA => reference_to_training_data
Spécifie une référence à la table, à la vue ou à la requête qui renvoie les données d’entraînement pour le modèle.
Pour créer cette référence, vous pouvez utiliser le mot-clé TABLE avec le nom de la table, de la vue ou de la requête, ou vous pouvez appeler la fonction SYSTEM$REFERENCE ou SYSTEM$QUERY_REFERENCE.
TIMESTAMP_COLNAME => 'timestamp_column_name'
Spécifie le nom de la colonne contenant les horodatages (TIMESTAMP_NTZ) dans les données de séries temporelles.
TARGET_COLNAME => 'target_column_name'
Spécifie le nom de la colonne contenant les données (NUMERIC ou FLOAT) à analyser.
LABEL_COLNAME => 'label_column_name'
Spécifie le nom de la colonne contenant les balises des données. Les balises sont des valeurs booléennes (vrai/faux) indiquant si une ligne donnée est une anomalie connue. Si vous ne disposez pas de données balisées, indiquez une chaîne vide (
''
) pour cet argument.
Facultatif :
SERIES_COLNAME => 'series_column_name'
Nom de la colonne contenant l’identificateur de la série (pour les données multi-séries). Cette colonne doit être un VARIANT, car elle peut contenir n’importe quel type de valeur ou une combinaison de valeurs provenant de plusieurs colonnes d’un tableau.
CONFIG_OBJECT => config_object
OBJECT contenant des paires clé-valeur utilisées pour configurer la tâche d’entraînement des modèles.
Clé
Type
Par défaut
Description
aggregation_categorical
'MODE'
Méthode d’agrégation pour les fonctionnalités catégorielles. Valeurs prises en charge :
'MODE'
: valeur la plus fréquente.'FIRST'
: valeur la plus ancienne.'LAST'
: valeur la plus récente.
aggregation_numeric
'MEAN'
La méthode d’agrégation pour les fonctionnalités numériques. Valeurs prises en charge :
'MEAN'
: moyenne des valeurs.'MEDIAN'
: valeur moyenne.MODE
: valeur la plus fréquente.'MIN'
: valeur plus petite.'MAX'
: valeur la plus grande.'SUM'
: total des valeurs.'FIRST'
: valeur la plus ancienne.'LAST'
: valeur la plus récente.
aggregation_target
Même chose que
aggregation_numeric
, ou'MEAN'
si non spécifiéMéthode d’agrégation pour la valeur cible. Valeurs prises en charge :
'MEAN'
: moyenne des valeurs.'MEDIAN'
: valeur moyenne.MODE
: valeur la plus fréquente.'MIN'
: valeur plus petite.'MAX'
: valeur la plus grande.'SUM'
: total des valeurs.'FIRST'
: valeur la plus ancienne.'LAST'
: valeur la plus récente.
evaluate
TRUE
Si des mesures d’évaluation doivent être générées. Si cette valeur est définie sur TRUE, un apprentissage est effectué sur des modèles supplémentaires pour la validation croisée via les paramètres de
evaluation_config
.evaluation_config
Objet de configuration facultatif permettant de spécifier la manière dont les métriques d’évaluation hors échantillon doivent être générées. Voir la section suivante.
frequency
s/o
Fréquence des séries chronologiques. Si non spécifié, le modèle déduit la fréquence. La valeur doit être une chaîne représentant une période, telle que
'1 day'
. Les unités prises en charge incluent les secondes, les minutes, les heures, les jours, les semaines, les mois, les trimestres et les années. Vous pouvez utiliser le singulier (« heure ») ou le pluriel (« heures ») pour le nom de l’intervalle, mais vous ne pouvez pas l’abréger.on_error
'ABORT'
Chaîne (constante) qui spécifie la méthode de gestion des erreurs pour l’entraînement. Cette fonction est particulièrement utile lors de l’entraînement de plusieurs séries. Valeurs prises en charge :
'abort'
: abandonner l’entraînement si une erreur est rencontrée dans une série temporelle.'skip'
: ignorer toute série temporelle pour laquelle l’entraînement a rencontré une erreur. Cela permet de réussir l’entraînement pour d’autres séries temporelles. Pour connaître les séries qui ont échoué lors de l’entraînement du modèle, appelez la méthode <nom_du_modèle>!SHOW_TRAINING_LOGS du modèle.
Configuration de l’évaluation¶
L’objet evaluation_config
contient des paires clé-valeur qui configurent la validation croisée. Ces paramètres proviennent du validateur croisé TimeSeriesSplit scikit-learn.
Clé |
Type |
Par défaut |
Description |
---|---|---|---|
|
5 |
Nombre de fractionnements. |
|
|
INTEGER ou NULL (pas de maximum). |
NULL |
Taille maximale d’un seul ensemble d’entraînement. |
|
INTEGER ou NULL. |
NULL |
Utilisé pour limiter la taille de l’ensemble de tests. |
|
0 |
Nombre d’échantillons à exclure de la fin de chaque ensemble d’entraînement avant l’ensemble de test. |
|
|
0,95 |
L’intervalle de prédiction utilisé dans le calcul des métriques d’intervalle. |
Notes sur l’utilisation¶
Si les noms de colonnes spécifiés par les arguments TIMESTAMP_COLNAME, TARGET_COLNAME ou LABEL_COLNAME n’existent pas dans la table, la vue ou la requête spécifiée par l’argument INPUT_DATA, une erreur se produit.
La réplication n’est pas prise en charge pour les instances de classe, à l’exception des instances de la classe CUSTOM_CLASSIFIER.
Exemples¶
Pour un exemple représentatif, voir l”exemple de détection d’anomalies.