CREATE SNOWFLAKE.ML.FORECAST¶
根据所提供的训练数据创建新的预测模型,或替换同名预测模型。
语法¶
CREATE [ OR REPLACE ] SNOWFLAKE.ML.FORECAST [ IF NOT EXISTS ] <model_name>(
INPUT_DATA => <input_data>,
[ SERIES_COLNAME => '<series_colname>', ]
TIMESTAMP_COLNAME => '<timestamp_colname>',
TARGET_COLNAME => '<target_colname>',
[ CONFIG_OBJECT => <config_object> ]
)
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
备注
使用命名实参将导致实参顺序变得无关紧要,并生成更具可读性的代码。但也可以使用位置实参,如以下示例所示:
CREATE SNOWFLAKE.ML.FORECAST <name>(
'<input_data>', '<series_colname>', '<timestamp_colname>', '<target_colname>'
);
参数¶
model_name
指定模型的标识符;对于在其中创建模型的架构来说,此标识符必须唯一。
如果模型标识符不是完全限定的(以
db_name.schema_name.name
或schema_name.name
的形式),则该命令将在会话的当前架构中创建模型。此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object"
)。放在双引号内的标识符也区分大小写。有关更多详细信息,请参阅 标识符要求。
构造函数实参¶
必填:
INPUT_DATA => input_data
对输入数据的 引用。通过使用引用,即可允许以有限权限运行的训练过程使用您的权限访问数据。如果数据已采用相应形式,则可以使用对表或视图的引用,也可以使用 查询引用,来提供要执行的查询以获取数据。
引用的数据是预测模型所用的全部训练数据。如果
input_data
包含任何未命名为timestamp_colname
、target_colname
或series_colname
的列,则它们被视为外生变量(附加特征)。列在输入数据中的顺序并不重要。您的输入数据必须具备类型适合用例的列。有关各用例的详细信息,请参阅 示例。
用例
列和类型
单个时间序列
时间戳列:TIMESTAMP_NTZ。
目标值列:FLOAT。
多个时间序列
序列列:VARIANT 包含数值和文本。
时间戳列:TIMESTAMP_NTZ。
目标值列:FLOAT。
具有外生变量的单个时间序列
时间戳列:TIMESTAMP_NTZ。
目标值列:FLOAT。
具有外生变量的多个时间序列
序列列:VARIANT 包含数值和文本。
时间戳列:TIMESTAMP_NTZ。
目标值列:FLOAT。
TIMESTAMP_COLNAME => 'timestamp_colname'
input_data
中包含时间戳的列的名称。TARGET_COLNAME => 'target_colname'
input_data
中包含目标(依赖值)的列的名称。
可选:
SERIES_COLNAME => 'series_colname'
对于多个时间序列模型,定义
input_data
中的多个时间序列的列的名称。此列的值可为任何类型,也可以是来自一个或多个其他列的值数组,如 多系列预测 中所示。如果按位置提供实参,则此实参必须为 第二个 实参。
CONFIG_OBJECT => config_object
包含用于配置模型训练作业的键值对的 OBJECT。
键
类型
默认值
描述
on_error
'ABORT'
指定模型训练任务的错误处理方法的字符串(常量)。这在训练多个序列时最有用。支持的值包括:
'abort'
:如果在任何时间序列中遇到错误,则终止训练操作。'skip'
:跳过任何训练出现错误的时间序列。这样就可以成功对其他时间序列进行模型训练。要查看失败的系列,请使用模型的 <model_name>!SHOW_TRAINING_LOGS 方法。
evaluate
TRUE
是否应生成评估指标。如果是 TRUE,则会使用
evaluation_config
中的参数训练其他模型进行交叉验证。evaluation_config
请参阅下面的 评估配置。
可选配置对象,用于指定如何生成样本外评估指标。
评估配置¶
evaluation_config
对象包含配置交叉验证的键值对。这些参数来自 scikit-learn 的 TimeSeriesSplit (https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html)。
使用说明¶
目前不支持 复制 类实例。
示例¶
请参阅 示例。