ML.ROC_CURVE 함수

ML.ROC_CURVE 함수

ML.ROC_CURVE 함수를 사용하여 로지스틱 회귀 관련 통계를 평가합니다. ML.ROC_CURVE는 로지스틱 회귀 모형만 평가합니다.

출력 ML.ROC_CURVE 함수에는 모델의 다른 임계값 통계가 있는 여러 행이 포함됩니다. 다음과 같은 통계가 포함됩니다.

  • threshold
  • recall
  • false_positive_rate
  • true_positives
  • false_positives
  • true_negatives
  • false_negatives

ML.ROC_CURVE 구문

ML.ROC_CURVE(MODEL model_name,
            {TABLE table_name | (query_statement)},
            [GENERATE_ARRAY(thresholds)])

model_name

model_name은 평가할 모델의 이름입니다. 기본 프로젝트를 구성하지 않은 경우 프로젝트 ID를 모델 이름 앞에 `[PROJECT_ID].[DATASET].[MODEL]`(백틱 포함) 형식으로 추가합니다. 예를 들어 `myproject.mydataset.mymodel`과 같은 형식입니다.

모델의 입력 열 이름과 데이터 유형은 테이블의 열 이름 및 데이터 유형과 일치해야 합니다.

table_name

table_name은 평가 데이터가 포함된 입력 테이블의 이름입니다. 기본 프로젝트를 구성하지 않은 경우 프로젝트 ID를 테이블 이름 앞에 `[PROJECT_ID].[DATASET].[TABLE]`(백틱 포함) 형식으로 추가합니다. 예를 들어 `myproject.mydataset.mytable`과 같은 형식입니다.

모델의 입력 열 이름과 데이터 유형은 테이블의 열 이름 및 데이터 유형과 일치해야 합니다. 입력에는 학습 중 제공된 라벨 열 이름과 일치하는 열이 있어야 합니다. 이 값은 input_label_cols 옵션을 사용하여 제공됩니다. input_label_cols가 지정되지 않은 경우 학습 데이터의 'label'이라는 열이 사용됩니다.

query_statement

query_statement 절은 평가 데이터를 생성하는 데 사용되는 표준 SQL 쿼리를 지정합니다. query_statement 절의 지원되는 SQL 구문은 표준 SQL 쿼리 구문을 참조하세요.

query_statement에서 참조하는 모든 열은 모델의 입력으로 사용됩니다.

thresholds

(선택사항) thresholdsGENERATE_ARRAY 함수를 통해 제공된 예측 출력의 백분위수 값입니다. 제공된 값은 DOUBLE 유형이어야 합니다.

사용할 임계값을 지정하지 않은 경우 근사치 사분위수 100(APPROX_QUANTILES(predicted_label, 100))을 사용하여 예측 출력 값에 따라 자동으로 선택됩니다.

ML.ROC_CURVE

다음 예에서는 모델과 입력 테이블이 기본 프로젝트에 있다고 가정합니다.

로지스틱 회귀 모형의 ROC 곡선 평가

다음 쿼리는 threshold, recall, false_positive_rate, true_positives, false_positives, true_negatives, false_negatives 열을 반환합니다. 재현율 및 거짓양성률은 ROC 곡선의 그래프로 나타낼 수 있습니다. 반환된 임계값은 예측 출력의 백분위수 값에 따라 선택됩니다.

SELECT
  *
FROM
  ML.ROC_CURVE(MODEL `mydataset.mymodel`,
    TABLE `mydataset.mytable`)

커스텀 임계값으로 ROC 곡선 평가

다음 쿼리는 이전 예와 같은 열을 반환합니다. 반환된 임계값은 GENERATE_ARRAY 함수의 출력에 따라 선택됩니다.

SELECT
  *
FROM
  ML.ROC_CURVE(MODEL `mydataset.mymodel`,
    TABLE `mydataset.mytable`,
    GENERATE_ARRAY(0.4,0.6,0.01))

정밀도-재현율 곡선 평가

다음 쿼리는 ROC 곡선(재현율 대 거짓양성률) 대신, 정밀도-재현율 곡선을 참양성 및 거짓양성 수의 정밀도를 사용하여 계산합니다.

SELECT
  recall,
  true_positives / (true_positives + false_positives) AS precision
FROM
  ML.ROC_CURVE(MODEL `mydataset.mymodel`,
    TABLE `mydataset.mytable`)
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.