회귀 알고리즘 regression-algorithms
이 문서에서는 고급 통계 모델에서 다양한 회귀 알고리즘의 구성, 주요 매개 변수 및 실제 사용에 초점을 맞춰 개요를 제공합니다. 회귀 알고리즘은 종속 변수와 독립 변수 간의 관계를 모델링하는 데 사용되며, 관측된 데이터를 기반으로 지속적인 결과를 예측한다. 각 섹션에는 선형, 랜덤 포레스트 및 생존 회귀와 같은 작업에 이러한 알고리즘을 구현하고 최적화하는 데 도움이 되는 매개 변수 설명 및 예제 코드가 포함되어 있습니다.
Decision Tree 회귀 decision-tree-regression
Decision Tree 학습은 통계, 데이터 마이닝 및 기계 학습에 사용되는 지도 학습 방법입니다. 이 접근법에서는 관측치 집합에 대한 결론을 도출하기 위한 예측 모형으로서 분류 또는 회귀 결정 트리가 사용된다.
매개 변수
아래 표에는 의사 결정 트리 모델의 성능을 구성하고 최적화하는 주요 매개 변수가 나와 있습니다.
MAX_BINSCACHE_NODE_IDSfalse이면 알고리즘이 트리를 실행자에게 전달하여 인스턴스와 노드를 일치시킵니다. true이면 알고리즘에서 각 인스턴스에 대한 노드 ID를 캐시하여 더 깊은 트리의 훈련 속도를 높일 수 있습니다. 사용자는 CHECKPOINT_INTERVAL을(를) 설정하여 캐시를 검사해야 하는 빈도를 구성하거나 캐시를 사용하지 않도록 설정할 수 있습니다.true 또는 falseCHECKPOINT_INTERVAL10(으)로 설정하면 캐시가 10번 반복될 때마다 검사점을 받습니다. CACHE_NODE_IDS이(가) true(으)로 설정되어 있고 검사점 디렉터리가 org.apache.spark.SparkContext에 구성된 경우에만 해당됩니다.IMPURITYentropy 및 gini입니다.ginientropy, giniMAX_DEPTH0의 깊이는 1개의 리프 노드를 의미하며, 1의 깊이는 1개의 내부 노드와 2개의 리프 노드를 의미합니다. 깊이는 [0, 30] 범위 내에 있어야 합니다.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0(으)로 처리됩니다.예
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Factorization Machines 회귀 factorization-machines-regression
Factorization Machines은(는) 일반 그라데이션 디센션 및 AdamW 솔버를 지원하는 회귀 학습 알고리즘입니다. 알고리즘은 S. Rendle(2010), "Factorization Machines"의 논문을 기반으로 합니다.
매개 변수
아래 표에는 Factorization Machines 회귀의 성능을 구성하고 최적화하기 위한 주요 매개 변수가 나와 있습니다.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1] 범위에 있어야 합니다.(0, 1]REG_PARAMSEEDSOLVERgd(그라데이션 디센트), adamWSTEP_SIZEPREDICTION_COL예
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Generalized Linear 회귀 generalized-linear-regression
결과가 보통(가우시안) 분포를 따른다고 가정하는 선형 회귀와 달리, Generalized Linear 모델(GLM)을 사용하면 데이터의 특성에 따라 결과가 Poisson 또는 이항 같은 다양한 유형의 분포를 따르도록 할 수 있습니다.
매개 변수
아래 표에는 Generalized Linear 회귀의 성능을 구성하고 최적화하기 위한 주요 매개 변수가 나와 있습니다.
MAX_ITERirls 해 찾기를 사용할 때 적용 가능).REG_PARAMTOL1E-6AGGREGATION_DEPTHtreeAggregate에 대해 제안된 깊이입니다.FAMILYgaussian, binomial, poisson, gamma 및 tweedie입니다.gaussian, binomial, poisson, gamma, tweedieFIT_INTERCEPTtruetrue, falseLINKidentity, log, inverse, logit, probit, cloglog 및 sqrt입니다.identity, log, inverse, logit, probit, cloglog, sqrtLINK_POWER1 - variancePower(R statmod 패키지에 맞게 조정됨)로 설정됩니다. 0, 1, -1 및 0.5의 특정 링크 파워는 각각 Log, Identity, Inverse 및 Sqrt 링크에 해당합니다.SOLVERirls(반복적으로 재가중된 최소 제곱법).irlsVARIANCE_POWER[1, inf)입니다. 분산력 0, 1, 2는 각각 가우시안, 포아송, 감마 패밀리에 해당한다.[1, inf)LINK_PREDICTION_COLOFFSET_COLWEIGHT_COL1.0(으)로 처리됩니다. 이항 패밀리에서 가중치는 시도 횟수에 해당하며 정수가 아닌 가중치는 AIC 계산에서 반올림됩니다.예
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree 회귀 gradient-boosted-tree-regression
그래디언트 부스트 트리(GBT)는 여러 의사 결정 트리의 예측을 결합하여 예측 정확도와 모델 성능을 향상시키는 분류 및 회귀 분석에 효과적인 방법입니다.
매개 변수
아래 표에는 Gradient Boosted Tree 회귀의 성능을 구성하고 최적화하기 위한 주요 매개 변수가 나와 있습니다.
MAX_BINSCACHE_NODE_IDSfalse이면 알고리즘이 트리를 실행자에게 전달하여 인스턴스와 노드를 일치시킵니다. true이면 알고리즘에서 각 인스턴스에 대한 노드 ID를 캐시합니다. 캐싱은 더 깊은 트리의 훈련 속도를 높일 수 있습니다.falsetrue, falseCHECKPOINT_INTERVAL10은(는) 캐시가 10번 반복될 때마다 검사점을 지정함을 의미합니다.MAX_DEPTH0은(는) 리프 노드 1개를 의미하며, 깊이 1은(는) 리프 노드 2개를 가지는 내부 노드 1개를 의미합니다.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse은(는) 교육용, true은(는) 유효성 검사용LEAF_COLFEATURE_SUBSET_STRATEGYauto, all, onethird, sqrt, log2 또는 0과 1.0 사이의 소수SEEDWEIGHT_COL1.0(으)로 처리됩니다.LOSS_TYPEsquared(L2) 및 absolute(L1). 참고: 값은 대소문자를 구분하지 않습니다.STEP_SIZE(0, 1] 범위의 단계 크기(학습 속도라고도 함)입니다.(0, 1]MAX_ITERSUBSAMPLING_RATE(0, 1] 범위에서 각 결정 트리를 학습하는 데 사용되는 교육 데이터의 비율입니다.(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 Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
ISOTONICtrue일 때 등장성(증가)이어야 하는지, false일 때 등장성(감소)이어야 하는지 여부를 지정합니다.truetrue, falseWEIGHT_COL1.0(으)로 처리됩니다.PREDICTION_COLFEATURE_INDEXfeaturesCol이(가) 벡터 열인 경우 적용할 수 있는 기능의 인덱스입니다. 설정하지 않으면 기본값은 0입니다. 그렇지 않으면 효과가 없습니다.예
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear 회귀 linear-regression
Linear Regression은(는) 종속 변수와 독립 기능 간의 관계를 모델링하기 위해 데이터에 선형 방정식에 맞는 감독된 기계 학습 알고리즘입니다.
매개 변수
아래 표에서는 Linear Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
MAX_ITERREGPARAMELASTICNETPARAM예
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression은(는) 훈련 중에 여러 결정 트리를 작성하고 회귀 작업에 대한 해당 트리의 평균 예측을 반환하는 앙상블 알고리즘으로, 과적합을 방지하는 데 도움이 됩니다.
매개 변수
아래 표에서는 Random Forest Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
MAX_BINSCACHE_NODE_IDSfalse이면 알고리즘이 트리를 실행자에게 전달하여 인스턴스와 노드를 일치시킵니다. true이면 알고리즘이 각 인스턴스에 대한 노드 ID를 캐시하여 더 깊은 트리의 훈련 속도를 높입니다.falsetrue, falseCHECKPOINT_INTERVAL10은(는) 캐시가 10번 반복될 때마다 검사점을 지정함을 의미합니다.IMPURITYentropy, giniMAX_DEPTH0은(는) 1개의 리프 노드, 깊이 1은(는) 1개의 내부 노드 및 2개의 리프 노드를 의미합니다.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBBOOTSTRAPtrue, falseNUM_TREES1이면 부트스트래핑이 사용되지 않습니다. 1보다 큰 경우 부트스트래핑이 적용됩니다.SUBSAMPLING_RATE(0, 1] 범위에서 각 결정 트리를 학습하는 데 사용되는 교육 데이터의 비율입니다.LEAF_COLPREDICTION_COLSEEDWEIGHT_COL1.0(으)로 처리됩니다.예
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression은(는) Weibull distribution을(를) 기반으로 하는 Accelerated Failure Time (AFT) 모델이라고 하는 매개 변수 생존 회귀 모델에 맞는 데 사용됩니다. 향상된 성능을 위해 인스턴스를 블록으로 스택할 수 있습니다.
매개 변수
아래 표에서는 Survival Regression의 성능을 구성하고 최적화하기 위한 주요 매개 변수에 대해 설명합니다.
MAX_ITERTOL1E-6AGGREGATION_DEPTHtreeAggregate에 대해 제안된 깊이입니다. 기능 차원 또는 파티션 수가 큰 경우 이 매개 변수를 더 큰 값으로 설정할 수 있습니다.FIT_INTERCEPTtrue, falsePREDICTION_COLCENSOR_COL1은(는) 이벤트가 발생했음을 나타내며, 0은(는) 이벤트가 차단되었음을 나타냅니다.MAX_BLOCK_SIZE_IN_MB0이면 자동 조정이 가능합니다.예
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
다음 단계
이 문서를 읽고 나면 이제 다양한 회귀 알고리즘을 구성하고 사용하는 방법을 알 수 있습니다. 다음으로 분류 및 클러스터링에 대한 문서를 참조하여 다른 유형의 고급 통계 모델에 대해 알아보십시오.