Factorization Machines 회귀
Factorization Machines은(는) 일반 그라데이션 디센션 및 AdamW 솔버를 지원하는 회귀 학습 알고리즘입니다. 알고리즘은 S. Rendle(2010), "Factorization Machines"의 논문을 기반으로 합니다.
매개 변수
아래 표에는 Factorization Machines 회귀의 성능을 구성하고 최적화하기 위한 주요 매개 변수가 나와 있습니다.
| 매개변수 | 설명 | 기본 값 | 가능한 값 |
|---|---|---|---|
TOL | 이 매개 변수는 알고리즘에 대한 수렴 허용 범위를 지정합니다. 값이 높을수록 수렴은 빨라지지만 정밀도는 낮아질 수 있습니다. | 1E-6 | (>= 0) |
FACTOR_SIZE | 이 매개 변수는 요소의 차원성을 정의합니다. 값이 높을수록 모델 복잡성이 증가합니다. | 8 | (>= 0) |
FIT_INTERCEPT | 이 매개변수는 모델에 절편 항이 포함되어야 하는지 여부를 나타냅니다. | true | true, false |
FIT_LINEAR | 이 매개 변수는 모델에 선형 항(1방향 항이라고도 함)을 포함할지 여부를 지정합니다. | true | true, false |
INIT_STD | 이 파라미터는 모형에 사용된 초기 계수들의 표준편차를 정의한다. | 0.01 | (>= 0) |
MAX_ITER | 이 매개 변수는 알고리즘이 실행될 최대 반복 횟수를 지정합니다. | 10 | (>= 0) |
MINI_BATCH_FRACTION | 이 매개 변수는 각 배치에 사용되는 데이터 부분을 결정하는 미니 배치 분율을 설정합니다. (0, 1] 범위에 있어야 합니다. | 1.0 | (0, 1] |
REG_PARAM | 이 매개변수는 오버피팅을 방지하기 위해 규칙화 매개변수를 설정합니다. | 0.0 | (>= 0) |
SEED | 이 매개 변수는 모델 초기화에 사용되는 임의 시드를 지정합니다. | None | 모든 64비트 숫자 |
SOLVER | 이 매개 변수는 최적화에 사용되는 해결자 알고리즘을 지정합니다. | "adamW" | gd(그라데이션 디센트), adamW |
STEP_SIZE | 이 매개 변수는 첫 번째 최적화 단계에 대한 초기 단계 크기(또는 학습 속도)를 지정합니다. | 1.0 | 모든 양수 값 |
PREDICTION_COL | 이 매개 변수는 예측이 저장되는 열의 이름을 지정합니다. | "prediction" | 모든 문자열 |
예
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Generalized Linear 회귀
결과가 보통(가우시안) 분포를 따른다고 가정하는 선형 회귀와 달리, Generalized Linear 모델(GLM)을 사용하면 데이터의 특성에 따라 결과가 Poisson 또는 이항 같은 다양한 유형의 분포를 따르도록 할 수 있습니다.
매개 변수
아래 표에는 Generalized Linear 회귀의 성능을 구성하고 최적화하기 위한 주요 매개 변수가 나와 있습니다.
| 매개변수 | 설명 | 기본 값 | 가능한 값 |
|---|---|---|---|
MAX_ITER | 최대 반복 횟수를 설정합니다(irls 해 찾기를 사용할 때 적용 가능). | 25 | (>= 0) |
REG_PARAM | 정규화 매개 변수. | 설정되지 않음 | (>= 0) |
TOL | 수렴 허용 오차. | 1E-6 | (>= 0) |
AGGREGATION_DEPTH | treeAggregate에 대해 제안된 깊이입니다. | 2 | (>= 2) |
FAMILY | 모델에 사용되는 오류 분포를 설명하는 패밀리 매개변수입니다. 지원되는 옵션은 gaussian, binomial, poisson, gamma 및 tweedie입니다. | "가우스" | gaussian, binomial, poisson, gamma, tweedie |
FIT_INTERCEPT | 절편 용어에 맞는지 여부. | true | true, false |
LINK | 선형 예측 변수와 분포 함수의 평균 간의 관계를 정의하는 링크 함수. 지원되는 옵션은 identity, log, inverse, logit, probit, cloglog 및 sqrt입니다. | 설정되지 않음 | identity, log, inverse, logit, probit, cloglog, sqrt |
LINK_POWER | 이 매개 변수는 전원 링크 함수의 인덱스를 지정합니다. 매개 변수는 Tweedie 패밀리에만 적용됩니다. 설정하지 않으면 기본값이 1 - variancePower(R statmod 패키지에 맞게 조정됨)로 설정됩니다. 0, 1, -1 및 0.5의 특정 링크 파워는 각각 Log, Identity, Inverse 및 Sqrt 링크에 해당합니다. | 1 | 모든 숫자 값 |
SOLVER | 최적화에 사용되는 해 찾기 알고리즘. 지원되는 옵션: irls(반복적으로 재가중된 최소 제곱법). | "irls" | irls |
VARIANCE_POWER | 이 매개 변수는 Tweedie 분포의 분산 함수에서 파워를 지정하며 분산과 평균 간의 관계를 정의합니다. 지원되는 값은 0과 [1, inf)입니다. 분산력 0, 1, 2는 각각 가우시안, 포아송, 감마 패밀리에 해당한다. | 0.0 | 0, [1, inf) |
LINK_PREDICTION_COL | 링크 예측(선형 예측 변수) 열 이름입니다. | 설정되지 않음 | 모든 문자열 |
OFFSET_COL | 오프셋 열 이름입니다. 설정하지 않으면 모든 인스턴스 오프셋이 0.0으로 처리됩니다. 오프셋 피쳐의 상수 계수는 1.0입니다. | 설정되지 않음 | 모든 문자열 |
WEIGHT_COL | 가중치 열 이름. 설정되지 않았거나 비어 있으면 모든 인스턴스 가중치는 1.0(으)로 처리됩니다. 이항 패밀리에서 가중치는 시도 횟수에 해당하며 정수가 아닌 가중치는 AIC 계산에서 반올림됩니다. | 설정되지 않음 | 모든 문자열 |
예
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree 회귀
그래디언트 부스트 트리(GBT)는 여러 의사 결정 트리의 예측을 결합하여 예측 정확도와 모델 성능을 향상시키는 분류 및 회귀 분석에 효과적인 방법입니다.
매개 변수
아래 표에는 Gradient Boosted Tree 회귀의 성능을 구성하고 최적화하기 위한 주요 매개 변수가 나와 있습니다.
| 매개변수 | 설명 | 기본 값 | 가능한 값 |
|---|---|---|---|
MAX_BINS | 연속 피쳐를 개별 간격으로 분할하는 데 사용되는 최대 빈 수로, 각 결정 트리 노드에서 피쳐가 분할되는 방식을 결정하는 데 도움이 됩니다. 저장소가 많을수록 세부기간이 높아집니다. | 32 | 은(는) 적어도 2개이어야 하며 모든 카테고리 기능에 있는 카테고리 수보다 크거나 같아야 합니다. |
CACHE_NODE_IDS | false이면 알고리즘이 트리를 실행자에게 전달하여 인스턴스와 노드를 일치시킵니다. true이면 알고리즘에서 각 인스턴스에 대한 노드 ID를 캐시합니다. 캐싱은 더 깊은 트리의 훈련 속도를 높일 수 있습니다. | false | true, false |
CHECKPOINT_INTERVAL | 캐시된 노드 ID를 체크포인팅하는 빈도를 지정합니다. 예를 들어, 10은(는) 캐시가 10번 반복될 때마다 검사점을 지정함을 의미합니다. | 10 | (>= 1) |
MAX_DEPTH | 트리의 최대 깊이입니다(음수가 아님). 예를 들어, 깊이 0은(는) 리프 노드 1개를 의미하며, 깊이 1은(는) 리프 노드 2개를 가지는 내부 노드 1개를 의미합니다. | 5 | (>= 0) |
MIN_INFO_GAIN | 분할이 트리 노드에서 고려되는 데 필요한 최소 정보 이득입니다. | 0.0 | (>= 0.0) |
MIN_WEIGHT_FRACTION_PER_NODE | 분할 후 각 소아가 보유해야 하는 가중치가 적용된 표본 수의 최소 비율입니다. 분할로 인해 하위 항목 중 하나의 총 중량 비율이 이 값보다 작으면 해당 값이 무시됩니다. | 0.0 | (>= 0.0, <= 0.5) |
MIN_INSTANCES_PER_NODE | 분할 후 각 하위 항목이 가져야 하는 최소 인스턴스 수입니다. 분할로 인해 이 값보다 적은 인스턴스가 생성되면 분할이 무시됩니다. | 1 | (>= 1) |
MAX_MEMORY_IN_MB | 히스토그램 집계에 할당된 최대 메모리(MB)입니다. 이 값이 너무 작으면 반복당 하나의 노드만 분할되고 해당 집계는 이 크기를 초과할 수 있습니다. | 256 | 모든 양의 정수 값 |
PREDICTION_COL | 예측 출력의 열 이름입니다. | "prediction" | 모든 문자열 |
VALIDATION_INDICATOR_COL | 각 행이 교육 또는 유효성 검사에 사용되는지 여부를 나타내는 열 이름입니다. false은(는) 교육용, true은(는) 유효성 검사용 | 설정되지 않음 | 모든 문자열 |
LEAF_COL | 리프 인덱스의 열 이름입니다. 사전 순서에서 생성된 각 트리의 각 인스턴스에 대해 예측된 리프 인덱스입니다. | "" | 모든 문자열 |
FEATURE_SUBSET_STRATEGY | 이 매개변수는 각 트리 노드에서 분할에 고려할 피쳐 수를 지정합니다. | "auto" | auto, all, onethird, sqrt, log2 또는 0과 1.0 사이의 소수 |
SEED | 무작위 시드. | 설정되지 않음 | 모든 64비트 숫자 |
WEIGHT_COL | 열 이름(예: 가중치)입니다. 설정되지 않았거나 비어 있으면 모든 인스턴스 가중치는 1.0(으)로 처리됩니다. | 설정되지 않음 | 모든 문자열 |
LOSS_TYPE | 이 매개 변수는 Gradient Boosted Tree 모델이 최소화하는 손실 함수를 지정합니다. | "squared" | squared(L2) 및 absolute(L1). 참고: 값은 대소문자를 구분하지 않습니다. |
STEP_SIZE | 각 추정기의 기여도를 축소하는 데 사용되는 (0, 1] 범위의 단계 크기(학습 속도라고도 함)입니다. | 0.1 | (0, 1] |
MAX_ITER | 알고리즘에 대한 최대 반복 횟수입니다. | 20 | (>= 0) |
SUBSAMPLING_RATE | (0, 1] 범위에서 각 결정 트리를 학습하는 데 사용되는 교육 데이터의 비율입니다. | 1.0 | (0, 1] |
예
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Isotonic 회귀
Isotonic Regression은(는) 데이터의 상대적 불일치 순서를 유지하면서 거리를 반복적으로 조정하는 데 사용되는 알고리즘입니다.
매개 변수
아래 표에서는 Isotonic Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
| 매개변수 | 설명 | 기본 값 | 가능한 값 |
|---|---|---|---|
ISOTONIC | 출력 시퀀스가 true일 때 등장성(증가)이어야 하는지, false일 때 등장성(감소)이어야 하는지 여부를 지정합니다. | true | true, false |
WEIGHT_COL | 열 이름(예: 가중치)입니다. 설정되지 않았거나 비어 있으면 모든 인스턴스 가중치는 1.0(으)로 처리됩니다. | 설정되지 않음 | 모든 문자열 |
PREDICTION_COL | 예측 출력의 열 이름입니다. | "prediction" | 모든 문자열 |
FEATURE_INDEX | featuresCol이(가) 벡터 열인 경우 적용할 수 있는 기능의 인덱스입니다. 설정하지 않으면 기본값은 0입니다. 그렇지 않으면 효과가 없습니다. | 0 | 음이 아닌 정수 |
예
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear 회귀
Linear Regression은(는) 종속 변수와 독립 기능 간의 관계를 모델링하기 위해 데이터에 선형 방정식에 맞는 감독된 기계 학습 알고리즘입니다.
매개 변수
아래 표에서는 Linear Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
| 매개변수 | 설명 | 기본 값 | 가능한 값 |
|---|---|---|---|
MAX_ITER | 최대 반복 횟수입니다. | 100 | (>= 0) |
REGPARAM | 모델의 복잡성을 제어하는 데 사용되는 정규화 매개변수입니다. | 0.0 | (>= 0) |
ELASTICNETPARAM | L1(Lasso)과 L2(Ridge) 페널티 사이의 균형을 제어하는 ElasticNet 혼합 매개 변수입니다. 값이 0이면 L2 페널티가 적용되고, 값이 1이면 L1 페널티가 적용됩니다. | 0.0 | (>= 0, <= 1) |
예
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression
Random Forest Regression은(는) 훈련 중에 여러 결정 트리를 작성하고 회귀 작업에 대한 해당 트리의 평균 예측을 반환하는 앙상블 알고리즘으로, 과적합을 방지하는 데 도움이 됩니다.
매개 변수
아래 표에서는 Random Forest Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
| 매개변수 | 설명 | 기본 값 | 가능한 값 |
|---|---|---|---|
MAX_BINS | 연속 피쳐를 분할하고 각 노드에서 피쳐가 분할되는 방식을 결정하는 데 사용되는 최대 빈 수입니다. 저장소가 많을수록 세부기간이 높아집니다. | 32 | 모든 카테고리적 기능에 있는 카테고리 수와 같거나 2개 이상이어야 합니다. |
CACHE_NODE_IDS | false이면 알고리즘이 트리를 실행자에게 전달하여 인스턴스와 노드를 일치시킵니다. true이면 알고리즘이 각 인스턴스에 대한 노드 ID를 캐시하여 더 깊은 트리의 훈련 속도를 높입니다. | false | true, false |
CHECKPOINT_INTERVAL | 캐시된 노드 ID를 체크포인팅하는 빈도를 지정합니다. 예를 들어, 10은(는) 캐시가 10번 반복될 때마다 검사점을 지정함을 의미합니다. | 10 | (>= 1) |
IMPURITY | 정보 이익 계산에 사용되는 기준(대소문자 구분 안 함). | "entropy" | entropy, gini |
MAX_DEPTH | 트리의 최대 깊이입니다(음수가 아님). 예를 들어, 깊이 0은(는) 1개의 리프 노드, 깊이 1은(는) 1개의 내부 노드 및 2개의 리프 노드를 의미합니다. | 5 | 음이 아닌 정수 |
MIN_INFO_GAIN | 분할이 트리 노드에서 고려되는 데 필요한 최소 정보 이득입니다. | 0.0 | (>= 0.0) |
MIN_WEIGHT_FRACTION_PER_NODE | 분할 후 각 소아가 보유해야 하는 가중치가 적용된 표본 수의 최소 비율입니다. 분할로 인해 하위 항목 중 하나에 있는 총 중량의 일부가 이 값보다 작아지면 무시됩니다. | 0.0 | (>= 0.0, <= 0.5) |
MIN_INSTANCES_PER_NODE | 분할 후 각 하위 항목이 가져야 하는 최소 인스턴스 수입니다. 분할로 인해 이 값보다 적은 인스턴스가 생성되면 분할이 무시됩니다. | 1 | (>= 1) |
MAX_MEMORY_IN_MB | 히스토그램 집계에 할당된 최대 메모리(MB)입니다. 이 값이 너무 작으면 반복당 하나의 노드만 분할되고 해당 집계는 이 크기를 초과할 수 있습니다. | 256 | (>= 1) |
BOOTSTRAP | 수목을 조성할 때 부트스트랩 표본을 사용할지 여부. | 참 | true, false |
NUM_TREES | 교육할 나무 수(최소 1개). 1이면 부트스트래핑이 사용되지 않습니다. 1보다 큰 경우 부트스트래핑이 적용됩니다. | 20 | (>= 1) |
SUBSAMPLING_RATE | (0, 1] 범위에서 각 결정 트리를 학습하는 데 사용되는 교육 데이터의 비율입니다. | 1.0 | (>= 0.0, <= 1) |
LEAF_COL | 사전 순서에서 생성된 각 트리의 각 인스턴스에 대해 예측된 리프 인덱스인 리프 인덱스에 대한 열 이름입니다. | "" | 모든 문자열 |
PREDICTION_COL | 예측 출력의 열 이름입니다. | "prediction" | 모든 문자열 |
SEED | 무작위 시드. | 설정되지 않음 | 모든 64비트 숫자 |
WEIGHT_COL | 열 이름(예: 가중치)입니다. 설정되지 않았거나 비어 있으면 모든 인스턴스 가중치는 1.0(으)로 처리됩니다. | 설정되지 않음 | 모든 유효한 열 이름 또는 비워 둡니다. |
예
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset