본문 바로가기

[오라클 레퍼런스 함수] PREDICTION_SET - 예측 결과 세트 반환(확률 및 비용 포함)

by ㅇㅍㅍ 2023. 8. 14.
[오라클 레퍼런스 함수] PREDICTION_SET - 예측 결과 세트 반환(확률 및 비용 포함)
728x90

 

 

 

PREDICTION_SET

 

구문

PREDICTION_SET ( [ schema . ] model [ , bestN [ , cutoff ] ] 
                 [ cost_matrix_clause ] mining_attribute_clause )

 

분석 구문

PREDICTION_SET ( ( OF ANOMALY | FOR "expr" ) [ , bestN [ , cutoff ] ]
                 [ cost_matrix_clause ] mining_attribute_clause )
               OVER ( mining_analytic_clause )

 

cost_matrix_clause::=

COST
  { MODEL [AUTO]
  | ( class_value [, class_value]... )
        VALUES ( ( cost_value [, cost_value]...) 
                 [ , (cost_value [, cost_value]... ) ]...
               )
  }

 

mining_attribute_clause::=

USING
{ * 
| { [ schema . ] table . * 
  | expr [ AS alias ]
  }
    [, { [ schema . ] table . * 
       | expr [ AS alias ]
       }
    ]...
}

 

mining_analytic_clause::-

[ query_partition_clause ] [ order_by_clause ]

 

참고:

mining_analytic_clause에 대한 구문, 의미, 그리고 제한 사항에 대한 정보는 Analytic Functions에 대한 내용을 참조하세요.

 

목적

PREDICTION_SET 함수는 선택된 각 행에 대해 확률 또는 비용과 함께 예측 결과 세트를 반환합니다. 반환 값은 PREDICTION_IDPROBABILITY 또는 COST라는 필드 이름을 가진 객체의 varray입니다. 예측 식별자는 대상의 데이터 유형을 가집니다. 확률 및 비용 필드는 BINARY_DOUBLE입니다.

PREDICTION_SET 함수는 분류 또는 이상 탐지를 수행할 수 있습니다. 분류의 경우 반환 값은 예측된 대상 클래스를 나타냅니다. 이상 탐지의 경우 반환 값은 1(일반적인 행) 또는 0(이상한 행)의 분류를 나타냅니다.

 

bestN 및 cutoff

함수가 반환하는 예측의 수를 제한하려면 bestNcutoff을 지정할 수 있습니다. 기본적으로 bestNcutoff 모두 null이며 모든 예측이 반환됩니다.

  • bestN은 가장 확률이 높거나 비용이 적은 N개의 예측입니다. 여러 예측이 N번째 확률 또는 비용을 공유하는 경우, 함수는 그 중 하나를 선택합니다.
  • cutoff은 값의 임계치입니다. cutoff보다 크거나 같은 확률을 가진 예측 또는 cutoff보다 작거나 같은 비용을 가진 예측만 반환됩니다. cutoff으로만 필터링하려면 bestNNULL을 지정하십시오. 함수가 COST MODEL AUTO와 함께 cost_matrix_clause를 사용하는 경우 cutoff은 무시됩니다.

cutoff과 함께 bestN을 지정하여 cutoff 이상인 N개의 가장 확률이 높은 예측을 반환할 수 있습니다. 비용을 사용하는 경우에는 cutoff 이하인 N개의 가장 적은 비용을 가진 예측을 반환하도록 bestNcutoff을 지정하십시오.

 

cost_matrix_clause

cost_matrix_clause를 사용하여 가장 유해한 종류의 잘못된 분류를 최소화하기 위한 편향 요소를 지정할 수 있습니다. cost_matrix_clause는 "PREDICTION_COST"에 설명된대로 동작합니다.

 

구문 선택(Syntax Choice)

PREDICTION_SET은 데이터를 스코어링하는 두 가지 방법 중 하나를 적용할 수 있습니다: 데이터에 데이터 마이닝 모델 객체를 적용하거나, 분석 절을 실행하여 하나 이상의 일시적인 데이터 마이닝 모델을 구축하고 적용할 수 있습니다. 구문 또는 분석 구문 선택:

  • 구문: 사전 정의된 모델로 데이터를 스코어링하는 데에 이 구문을 사용합니다. 분류(Classification), 이상 탐지(Anomaly Detection)를 수행하는 모델의 이름을 제공합니다.
  • 분석 구문: 사전 정의된 모델 없이 데이터를 스코어링하는 데에 분석 구문을 사용합니다. 분석 구문은 mining_analytic_clause를 사용하며, 이는 데이터가 여러 모델 빌드를 위해 파티션화되어야 하는지를 지정합니다. mining_analytic_clausequery_partition_clauseorder_by_clause를 지원합니다. (참조: "analytic_clause::=")
    º 분류(Classification)의 경우, FOR expr을 지정하여 대상 열을 식별합니다. 여기서 expr은 character 데이터 유형을 갖는 대상 열입니다.
    º 이상 탐지(Anomaly Detection)의 경우, OF ANOMALY 키워드를 지정합니다.

PREDICTION_SET 함수의 구문은 파티션된 모델을 스코어링할 때 선택적인 GROUPING 힌트를 사용할 수 있습니다. GROUPING Hint를 참조하세요.

 

mining_attribute_clause

mining_attribute_clause는 스코어링에 사용할 열 속성을 식별합니다. 함수가 분석 구문과 함께 호출될 때 이러한 예측 변수는 일시적인 모델을 구축하는 데에도 사용됩니다. mining_attribute_clausePREDICTION 함수에 설명된대로 작동합니다. ("mining_attribute_clause::=" 참조)

 

참고:

 

노트: 다음 예제는 데이터 마이닝 샘플 프로그램에서 발췌되었습니다. 샘플 프로그램에 대한 자세한 정보는 Oracle Data Mining User's Guide의 별첨 A를 참조하십시오.

 

예제

이 예제는 ID가 100006 미만인 고객이 카드를 사용할 확률과 비용을 나열합니다. 이 예제는 이진 대상을 가지고 있지만, 이러한 질의는 낮음, 중간, 높음과 같은 다중 클래스 분류에도 유용합니다.

SELECT T.cust_id, S.prediction, S.probability, S.cost
  FROM (SELECT cust_id,
               PREDICTION_SET(dt_sh_clas_sample COST MODEL USING *) pset
          FROM mining_data_apply_v
         WHERE cust_id < 100006) T,
       TABLE(T.pset) S
ORDER BY cust_id, S.prediction;
 
   CUST_ID PREDICTION  PROBABILITY         COST
---------- ---------- ------------ ------------
    100001          0   .966183575   .270531401
    100001          1   .033816425   .966183575
    100002          0   .740384615  2.076923077
    100002          1   .259615385   .740384615
    100003          0   .909090909   .727272727
    100003          1   .090909091   .909090909
    100004          0   .909090909   .727272727
    100004          1   .090909091   .909090909
    100005          0   .272357724  5.821138211
    100005          1   .727642276   .272357724

 


출처: 오라클 레퍼런스

원문 링크: Oracle PREDICTION_SET 함수 문서

 

반응형

댓글