BigQuery ML 모델 평가 개요
이 문서에서는 BigQuery ML이 머신러닝(ML) 모델 평가를 지원하는 방식을 설명합니다.
모델 평가 개요
다음과 같은 목적으로 ML 모델 평가 측정항목을 사용할 수 있습니다.
- 모델과 데이터 사이의 적합성 품질을 평가합니다.
- 여러 모델을 비교합니다.
- 모델 선택의 맥락에서 특정 데이터 세트에서 각 모델의 성능을 정확히 예측합니다.
지도 학습 모델 평가와 비지도 학습 모델 평가는 서로 다르게 작동합니다.
- 지도 학습 모델의 경우 모델 평가가 잘 정의된 방식으로 이뤄집니다. 모델에서 분석되지 않은 데이터에 해당하는 평가 세트는 일반적으로 학습 세트에서 제외되며 모델 성능을 평가하는 데 사용됩니다. 새 데이터에 대해 예측 결과를 일반화할 때 모델 성능이 저하되기 때문에 평가에 학습 세트를 사용하지 않는 것이 좋습니다. 이러한 결과를 과적합이라고 합니다.
- 비지도 학습 모델의 경우 모델 평가가 잘 정의되지 않은 방식으로 수행되고 일반적으로 모델마다 다르게 수행됩니다. 비지도 학습 모델에서는 평가 세트가 보존되지 않으므로 전체 입력 데이터 세트를 사용하여 평가 측정항목이 계산됩니다.
각 모델 유형에 지원되는 SQL 문과 함수에 대한 자세한 내용은 각 모델의 엔드 투 엔드 사용자 경험을 참조하세요.
모델 평가 함수
BigQuery ML은 ML 모델의 평가 측정항목 계산을 위해 다음과 같은 함수를 제공합니다.
모델 카테고리 | 모델 유형 | 모델 평가 함수 | 함수 기능 |
---|---|---|---|
지도 학습 | 선형 회귀 부스티드 트리 회귀 랜덤 포레스트 회귀 DNN 회귀 와이드 앤 딥 회귀 AutoML Tables 회귀 |
ML.EVALUATE |
다음 측정항목을 보고합니다.
|
로지스틱 회귀 부스티드 트리 분류 랜덤 포레스트 분류 DNN 분류 와이드 앤 딥 분류 AutoML Tables 분류 |
ML.EVALUATE |
다음 측정항목을 보고합니다.
|
|
ML.CONFUSION_MATRIX |
혼동 행렬을 보고합니다. | ||
ML.ROC_CURVE |
다음을 포함한 다양한 임곗값에 대한 측정항목을 보고합니다.
바이너리 클래스 분류 모델에만 적용됩니다. |
||
비지도 학습 | k-평균 | ML.EVALUATE |
데이비스-볼딘 색인, 데이터 포인트와 지정된 클러스터 중심 사이의 평균 제곱 거리를 보고합니다. |
행렬 분해 | ML.EVALUATE |
명시적인 피드백 기반 모델의 경우 다음 측정항목을 보고합니다.
|
|
암시적인 피드백 기반 모델의 경우 다음 측정항목을 보고합니다.
|
|||
PCA | ML.EVALUATE |
설명된 총 분산 비율을 보고합니다. | |
Autoencoder | ML.EVALUATE |
다음 측정항목을 보고합니다.
|
|
시계열 | ARIMA_PLUS | ML.EVALUATE
| 다음 측정항목을 보고합니다.
이 함수에는 새 데이터가 입력으로 필요합니다. |
ML.ARIMA_EVALUATE
| 다른 튜플(p, d, q, has_drift)로 특성화된 모든 ARIMA 후보 모델에 대해 다음 측정항목을 보고합니다.
또한 계절성, 휴일 효과, 급증 및 급감 이상치에 대해 다른 정보를 보고합니다. 이 함수는 새 데이터를 입력으로 사용할 필요가 없습니다. |
CREATE MODEL
문에서 자동 평가
BigQuery ML은 모델 생성 중 자동 평가를 지원합니다. 모델 유형, 데이터 분할 학습 옵션, 초매개변수 조정 사용 여부에 따라 예약된 테스트 데이터 세트 또는 전체 입력 데이터 세트에 대해 평가 측정항목이 계산됩니다.
k-평균, PCA, 자동 인코더, ARIMA_PLUS 모델의 경우 BigQuery ML은 모든 입력 데이터를 학습 데이터로 사용합니다. 평가 측정항목은 전체 입력 데이터 세트에 대해 계산됩니다.
선형 및 로지스틱 회귀의 경우 부스티드 트리, 랜덤 포레스트, DNN, 와이드 앤 딥, 행렬 분해 모델, 평가 모델은 다음
CREATE MODEL
옵션으로 지정된 데이터 세트에 대해 계산됩니다.초매개변수 조정을 사용하여 이러한 유형의 모델을 학습시킬 때는 또한
DATA_SPLIT_TEST_FRACTION
옵션을 통해 평가 측정항목을 계산할 데이터 세트를 정의할 수 있습니다. 자세한 내용은 데이터 분할을 참조하세요.AutoML Tables 모델의 경우 학습 및 평가는 데이터 분할 사용 방법을 참조하세요.
모델을 만드는 동안 평가 측정항목을 계산하려면 입력 데이터를 지정하지 않고 모델에서 ML.EVALUATE
와 같은 평가 함수를 사용합니다.
예를 들어 입력 데이터가 지정되지 않은 ML.EVALUATE
를 참조하세요.
새 데이터 세트로 평가
모델을 만든 후 평가할 새 데이터 세트를 지정할 수 있습니다. 새 데이터 세트를 제공하려면 입력 데이터가 지정된 모델에서 ML.EVALUATE
와 같은 평가 함수를 사용합니다. 예시를 보려면 커스텀 임곗값 및 입력 데이터를 사용하는 ML.EVALUATE
를 참조하세요.