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
- 입력 데이터에 대한 참조. 참조를 사용하면 제한된 권한으로 실행되는 학습 프로세스에서 사용자의 권한을 사용해 데이터에 액세스하도록 할 수 있습니다. 데이터가 해당 양식에 이미 있는 경우 테이블 또는 뷰에 대한 참조를 사용하거나, 쿼리 참조 를 사용하여 데이터를 얻기 위해 실행할 쿼리를 제공할 수 있습니다. - 이 참조를 생성하려면 테이블 이름, 뷰 이름 또는 쿼리와 함께 TABLE 키워드 를 사용하거나 SYSTEM$REFERENCE 또는 SYSTEM$QUERY_REFERENCE 함수를 호출하면 됩니다. - 참조 데이터는 예측 모델에서 사용하는 전체 학습 데이터입니다. - 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 입니다. - 키 - 타입 - 기본값 - 설명 - aggregation_categorical- 'MODE'- 카테고리형 특징에 대한 집계 메서드입니다. 지원되는 값은 다음과 같습니다. - 'MODE': 가장 빈번한 값입니다.
- 'FIRST': 가장 빠른 값입니다.
- 'LAST': 최신 값입니다.
 - aggregation_numeric- 'MEAN'- 숫자형 특징에 대한 집계 메서드입니다. 지원되는 값은 다음과 같습니다. - 'MEAN': 값의 평균입니다.
- 'MEDIAN': 중간값입니다.
- MODE: 가장 빈번한 값입니다.
- 'MIN': 가장 작은 값입니다.
- 'MAX': 가장 큰 값입니다.
- 'SUM': 값의 총합입니다.
- 'FIRST': 가장 빠른 값입니다.
- 'LAST': 최신 값입니다.
 - aggregation_target- aggregation_numeric과 동일하거나, 지정되지 않을 경우- 'MEAN'입니다.- 목표 값에 대한 집계 메서드입니다. 지원되는 값은 다음과 같습니다. - 'MEAN': 값의 평균입니다.
- 'MEDIAN': 중간값입니다.
- MODE: 가장 빈번한 값입니다.
- 'MIN': 가장 작은 값입니다.
- 'MAX': 가장 큰 값입니다.
- 'SUM': 값의 총합입니다.
- 'FIRST': 가장 빠른 값입니다.
- 'LAST': 최신 값입니다.
 - aggregation_column- 해당 없음 - 특정 열에 대한 집계 방법을 지정하는 키-값 페어(둘 다 문자열)를 포함하는 오브젝트입니다. 키는 열 이름이고 값은 집계 방법입니다. 열이 지정되지 않은 경우 모델은 - aggregation_numeric또는- aggregation_categorical로 지정된 방법을 사용하거나 해당 열 유형의 기본값(숫자형의 경우- MEAN, 카테고리형의 경우- MODE)을 사용합니다.- evaluate- TRUE - 평가 메트릭을 생성해야 하는지 여부입니다. TRUE인 경우 - evaluation_config의 매개 변수를 사용하여 교차 검증을 위해 추가 모델이 학습됩니다.- evaluation_config- 아래의 평가 구성 섹션을 참조하십시오. - 샘플 외부 평가 메트릭을 생성하는 방법을 지정하는 선택적 구성 오브젝트입니다. - frequency- 해당 없음 - 시계열의 빈도입니다. 지정하지 않으면 모델이 빈도를 추론합니다. 값은 - '1 day'와 같이 기간을 나타내는 문자열이어야 합니다. 지원되는 단위에는 초, 분, 시간, 일, 주, 월, 분기, 년이 있습니다. 간격 이름에는 단수형(“hour”) 또는 복수형(“hours”)을 사용할 수 있지만, 약어를 사용할 수는 없습니다.- method- 'best'- 모델 학습에 사용되는 알고리즘을 지정하는 문자열(상수)입니다. 지원되는 값은 다음과 같습니다. - 'best': 모델 앙상블을 사용하여 데이터에 가장 적합한 알고리즘을 결정합니다. 이 앙상블에는 Prophet, ARIMA, 지수 평활화, 그라데이션 부스팅 머신(GBM) 기반 알고리즘이 포함됩니다.
- 'fast': 단일 알고리즘(GBM 기반 알고리즘)을 사용하여 모델을 학습시킵니다. 이 선택 사항은- 'best'선택 사항보다 빠르지만 정확도가 떨어질 수 있습니다. 훈련 데이터에 10,000개 이상의 개별 시리즈가 있는 경우- 'fast'를 사용하는 것이 좋습니다.
 - lower_bound- FLOAT 또는 NULL - NULL - 목표 값의 하한입니다. 이 임계값을 지정하면 모델은 이 임계값 미만의 값을 예측하지 않습니다. - upper_bound- FLOAT 또는 NULL - NULL - 목표 값의 상한입니다. 이 임계값을 지정하면 모델은 이 임계값을 초과하는 값을 예측하지 않습니다. - on_error- 'ABORT'- 모델 학습 작업의 오류 처리 방법을 지정하는 문자열(상수)입니다. 이는 여러 계열을 학습할 때 가장 유용합니다. 지원되는 값은 다음과 같습니다. - 'abort': 시계열에서 오류가 발생하면 학습 작업을 중단합니다.
- 'skip': 학습에서 오류가 발생하는 시계열을 건너뜁니다. 이를 통해 다른 시계열에 대한 모델 학습이 성공할 수 있습니다. 어떤 계열이 실패했는지 확인하려면 모델의 <model_name>!SHOW_TRAINING_LOGS 메서드를 사용하십시오.
 
평가 구성¶
evaluation_config 오브젝트에는 교차 검증을 구성하는 키-값 페어가 포함되어 있습니다. 이러한 매개 변수는 scikit-learn의 TimeSeriesSplit 에서 가져온 것입니다.
사용법 노트¶
복제 는 CUSTOM_CLASSIFIER 클래스의 인스턴스에 대해서만 지원됩니다.
예¶
예 섹션을 참조하십시오.