FORECAST¶
정규화된 이름: SNOWFLAKE.ML.FORECAST
예측 모델은 단일 또는 다중 시계열에 대한 예측을 생성합니다. CREATE SNOWFLAKE.ML.FORECAST 를 사용하여 예측 모델을 생성 및 학습한 다음 모델의 <model_name>!FORECAST 메서드를 사용하여 예측을 생성합니다. <model_name>!EXPLAIN_FEATURE_IMPORTANCE 메서드는 학습 데이터의 각 특징이 예측에 미치는 영향에 대한 정보를 제공합니다.
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>')
[ [ 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
에서 다중 시계열을 정의하는 열의 이름입니다. 이 열은 다중 계열에 대한 예측 에 표시된 것처럼 임의 유형의 값 또는 하나 이상의 다른 열의 값으로 구성된 배열일 수 있습니다.인자를 위치에 따라 제공하는 경우 이것은 두 번째 인자여야 합니다.
SHOW SNOWFLAKE.ML.FORECAST¶
모든 예측 모델을 나열합니다.
구문¶
SHOW SNOWFLAKE.ML.FORECAST [ LIKE <pattern> ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
매개 변수¶
LIKE 'pattern'
오브젝트 이름으로 명령 출력을 필터링합니다. 이 필터는 SQL 와일드카드 문자(
%
및_
) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.예를 들어, 다음 패턴은 같은 결과를 반환합니다.
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
[ IN ... ]
선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.
ACCOUNT
전체 계정의 레코드를 반환합니다.
DATABASE
, .DATABASE db_name
현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(
db_name
)의 레코드를 반환합니다.db_name
없이DATABASE
를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.SCHEMA
, .SCHEMA schema_name
, .schema_name
현재 사용 중인 스키마 또는 지정된 스키마(
schema_name
)의 레코드를 반환합니다.데이터베이스가 사용 중이거나 정규화된
schema_name
(예:db.schema
)을 지정하는 경우SCHEMA
는 선택 사항입니다.사용 중인 데이터베이스가 없으면
SCHEMA
를 지정해도 출력에 아무런 영향도 주지 않습니다.
기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.
데이터베이스:
DATABASE
가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).데이터베이스 없음:
ACCOUNT
가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).
출력¶
명령 출력은 다음 열에 모델 속성 및 메타데이터를 제공합니다.
열 |
설명 |
---|---|
created_on |
모델이 생성된 날짜 및 시간 |
name |
모델의 이름 |
데이터베이스_이름 |
모델이 저장되는 데이터베이스 |
스키마_이름 |
모델이 저장되는 스키마 |
current_version |
모델의 버전으로, 현재는 1임 |
comment |
모델에 대한 설명 |
owner |
모델을 소유한 역할 |
DROP SNOWFLAKE.ML.FORECAST¶
현재 스키마 또는 지정된 스키마에서 지정된 모델을 제거합니다.
구문¶
DROP SNOWFLAKE.ML.FORECAST [IF EXISTS] <name>;
매개 변수¶
name
삭제할 모델의 식별자를 지정합니다. 식별자에 공백, 특수 문자 또는 대/소문자가 혼합된 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
모델 식별자가 (
db_name.schema_name.name
또는schema_name.name
형식으로) 정규화되지 않은 경우 이 명령은 세션의 현재 스키마에서 모델을 찾습니다.
사용법 노트¶
삭제된 모델은 복구할 수 없으며, 다시 만들어야 합니다.
<model_name>!FORECAST¶
이전에 학습된 모델 model_name
에서 예측을 생성합니다.
구문¶
필요한 인자는 모델이 학습된 사용 사례에 따라 다릅니다.
외생 변수가 없는 단일 계열 모델의 경우:
<model_name>!FORECAST(
FORECASTING_PERIODS => <forecasting_periods>,
[CONFIG_OBJECT => <config_object>]
);
외생 변수가 있는 단일 계열 모델의 경우:
<model_name>!FORECAST(
INPUT_DATA => <input_data>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[CONFIG_OBJECT => <config_object>]
);
외생 변수가 없는 다중 계열 모델의 경우:
<model_name>!FORECAST(
SERIES_VALUE => <series>,
FORECASTING_PERIODS => <forecasting_periods>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[CONFIG_OBJECT => <config_object>]
);
외생 변수가 있는 다중 계열 모델의 경우:
<model_name>!FORECAST(
SERIES_VALUE => <series>,
SERIES_COLNAME => <series_colname>,
INPUT_DATA => <input_data>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[CONFIG_OBJECT => <config_object>]
);
인자¶
필수:
이전에 나열된 모든 사용 사례에 다음 인자가 모두 필요한 것은 아닙니다.
FORECASTING_PERIODS => forecasting_periods
외생 변수가 없는 예측에 필요합니다.
예측할 다음 단계의 수입니다. 단계 사이의 간격은 학습 중에 모델이 유추합니다.
INPUT_DATA => input_data
외생 변수가 있는 예측에 필요합니다. 외생 변수는 학습 단계에서 그랬던 것처럼 이 단계에서도 동일한 순서여야 합니다.
모델을 학습할 때
input_data
로 전달된 외생 변수(사용자가 추가로 제공한 특징)의 미래 타임스탬프와 값을 포함하는 테이블, 뷰 또는 쿼리에 대한 참조 입니다. 참조를 사용하면 제한된 권한으로 실행되는 예측 프로세스에서 사용자의 권한을 사용하여 데이터에 액세스할 수 있습니다. 열은 이 인자와 원래 외생 학습 데이터 간에 이름으로 매칭됩니다.TIMESTAMP_COLNAME => 'timestamp_colname'
외생 변수가 있는 예측에 필요합니다.
타임스탬프를 포함한
input_data
에 있는 열의 이름입니다.SERIES_COLNAME => 'series_colname'
외생 변수가 있는 다중 계열 예측에 필요합니다.
계열을 지정하는
input_data
에 있는 열의 이름입니다.SERIES_VALUE => series
다중 계열 예측에 필요합니다.
예측할 시계열입니다. 단일 값(예: 〈Series A〉::variant) 또는 VARIANT 일 수 있지만, 모델 학습의 기반이 된 계열을 지정해야 합니다. 지정하지 않으면 학습된 계열이 전부 예측됩니다.
선택 사항:
<model_name>!EXPLAIN_FEATURE_IMPORTANCE¶
모델에서 사용하는 각 특징의 상대적인 특징 중요도를 반환합니다.
구문¶
<model_name>!EXPLAIN_FEATURE_IMPORTANCE();
출력¶
열 |
타입 |
설명 |
---|---|---|
SERIES |
계열 값(모델이 다중 시계열로 학습된 경우에만 존재함) |
|
RANK |
특정 계열에 대한 특징의 중요도 순위 |
|
FEATURE_NAME |
모델 학습에 사용되는 특징의 이름입니다. |
|
IMPORTANCE_SCORE |
특징의 중요도 점수: [0, 1]의 값으로, 0은 가능한 가장 낮은 중요도이고 1은 가능한 가장 높은 중요도입니다. |
|
FEATURE_TYPE |
특징의 원본으로, 다음 중 하나입니다.
|