BigQuery ML 모델 평가 개요
이 문서에서는 BigQuery ML이 머신러닝(ML) 모델 평가를 지원하는 방식을 설명합니다.
모델 평가 개요
다음과 같은 목적으로 ML 모델 평가 측정항목을 사용할 수 있습니다.
- 모델과 데이터 사이의 적합성 품질을 평가합니다.
- 여러 모델을 비교합니다.
- 모델 선택의 맥락에서 특정 데이터 세트에서 각 모델의 성능을 정확히 예측합니다.
지도 학습 모델 평가와 비지도 학습 모델 평가는 서로 다르게 작동합니다.
- 지도 학습 모델의 경우 모델 평가가 잘 정의된 방식으로 이뤄집니다. 모델에서 분석되지 않은 데이터에 해당하는 평가 세트는 일반적으로 학습 세트에서 제외되며 모델 성능을 평가하는 데 사용됩니다. 새 데이터에 대해 예측 결과를 일반화할 때 모델 성능이 저하되기 때문에 평가에 학습 세트를 사용하지 않는 것이 좋습니다. 이러한 결과를 과적합이라고 합니다.
- 비지도 학습 모델의 경우 모델 평가가 잘 정의되지 않은 방식으로 수행되고 일반적으로 모델마다 다르게 수행됩니다. 비지도 학습 모델에서는 평가 세트가 보존되지 않으므로 전체 입력 데이터 세트를 사용하여 평가 측정항목이 계산됩니다.
모델 평가 함수
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
를 참조하세요.
다음 단계
평가를 지원하는 모델에 지원되는 SQL 문과 함수에 대한 자세한 내용은 다음 문서를 참고하세요.