본문 바로가기

[오라클 레퍼런스 함수] PREDICTION_PROBABILITY - 예측 확률 반환 (분류 및 이상 탐지)

by ㅇㅍㅍ 2023. 8. 14.
[오라클 레퍼런스 함수] PREDICTION_PROBABILITY - 예측 확률 반환 (분류 및 이상 탐지)
728x90

 

PREDICTION_PROBABILITY

 

구문

PREDICTION_PROBABILITY ( [ schema . ] model [ , class ] mining_attribute_clause )

 

분석 구문

PREDICTION_PROBABILITY ( ( OF ANOMALY | FOR expr ) [ , class ]
                         mining_attribute_clause )
                       OVER (mining_analytic_clause )

 

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_PROBABILITY는 선택된 각 행에 대한 확률을 반환합니다. 확률은 가장 높은 확률 class 또는 지정된 class에 대한 것입니다. 반환된 확률의 데이터 형식은 BINARY_DOUBLE입니다.

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

PREDICTION_PROBABILITY 함수는 PREDICTION 함수와 함께 사용하여 예측과 해당 예측의 확률을 얻을 수 있습니다.

 

구문 선택

PREDICTION_PROBABILITY 함수는 두 가지 방법으로 데이터에 대한 스코어링을 수행할 수 있습니다. 첫 번째 방법은 데이터에 마이닝 모델 객체를 적용하는 것이고, 두 번째 방법은 분석 절을 실행하여 하나 이상의 일시적인 마이닝 모델을 구축하고 적용하는 것입니다. 구문 또는 분석 구문을 선택하세요:

 

  • 구문 - 사전 정의된 모델로 데이터를 스코어링하려면 첫 번째 구문을 사용합니다. 분류 또는 이상 감지를 수행하는 모델의 이름을 제공하십시오.
  • 분석 구문 - 사전 정의된 모델 없이 데이터를 스코어링하는 데 분석 구문을 사용합니다. 분석 구문은 mining_analytic_clause를 사용하며, 데이터가 여러 모델 빌드를 위해 파티션화되어야 하는지 여부를 지정합니다. mining_analytic_clausequery_partition_clauseorder_by_clause를 지원합니다. (analytic_clause::= 참조)
    º 분류의 경우 FOR expr을 지정하여 expr이 문자 데이터 유형을 갖는 대상 열을 식별하는 식을 지정합니다.
    º 이상 감지의 경우 키워드 OF ANOMALY를 지정합니다.

PREDICTION_PROBABILITY 함수의 구문은 분석된 모델에 대한 스코어링 시 선택적으로 GROUPING 힌트를 사용할 수 있습니다. GROUPING 힌트 참조.

 

mining_attribute_clause

mining_attribute_clause는 스코어링을 위해 예측 변수(predictors)로 사용할 열 속성들을 식별합니다. 함수가 분석 구문으로 호출될 때, 이러한 predictors는 임시 모델을 작성하는 데에도 사용됩니다. mining_attribute_clausePREDICTION 함수와 동일하게 동작합니다. (mining_attribute_clause::= 참조)

 

참고:

 

노트: 다음 예제들은 데이터 마이닝 샘플 프로그램에서 발췌한 것입니다. 샘플 프로그램에 대한 자세한 정보는 Oracle Data Mining User’s Guide의 부록 A를 참조하세요.

 

예제

다음 예제는 확률적으로 제휴 카드를 사용할 가능성이 가장 높은 이탈리아 거주 고객 10명을 반환합니다.

SELECT cust_id FROM (
   SELECT cust_id
   FROM mining_data_apply_v
   WHERE country_name = 'Italy'
   ORDER BY PREDICTION_PROBABILITY(DT_SH_Clas_sample, 1 USING *)
      DESC, cust_id)
   WHERE rownum < 11;
 
   CUST_ID
----------
    100081
    100179
    100185
    100324
    100344
    100554
    100662
    100733
    101250
    101306

 

분석 예제

이 예제는 mining_data_one_class_v에서 가장 일반적이지 않은 행을 식별합니다. 각 혼인 상태 유형은 개별적으로 고려되어 혼인 상태 그룹별로 가장 이상한 행이 반환됩니다.

쿼리는 이상한 행의 결정에 가장 큰 영향을 미치는 세 가지 속성을 반환합니다. PARTITION BY 절은 각 혼인 상태별로 별도의 모델이 구축되고 적용되도록 합니다. 상태가 Mabsent인 레코드는 하나뿐이므로 해당 파티션에 대한 모델이 생성되지 않습니다(따라서 세부 정보는 제공되지 않음).

SELECT cust_id, cust_marital_status, rank_anom, anom_det FROM
    (SELECT cust_id, cust_marital_status, anom_det,
            rank() OVER (PARTITION BY CUST_MARITAL_STATUS
                         ORDER BY ANOM_PROB DESC,cust_id) rank_anom FROM
     (SELECT cust_id, cust_marital_status,
            PREDICTION_PROBABILITY(OF ANOMALY, 0 USING *)
              OVER (PARTITION BY CUST_MARITAL_STATUS) anom_prob,
            PREDICTION_DETAILS(OF ANOMALY, 0, 3 USING *)
              OVER (PARTITION BY CUST_MARITAL_STATUS) anom_det
     FROM mining_data_one_class_v
    ))
   WHERE rank_anom < 3 order by 2, 3;

CUST_ID CUST_MARITAL_STATUS RANK_ANOM  ANOM_DET
------- ------------------- ---------- -----------------------------------------------------------
102366  Divorc.             1          <Details algorithm="Support Vector Machines" class="0">
                                       <Attribute name="COUNTRY_NAME" actualValue="United Kingdom"
                                        weight=".069" rank="1"/>
                                       <Attribute name="AGE" actualValue="28" weight=".013"
                                        rank="2"/>
                                       <Attribute name="YRS_RESIDENCE" actualValue="4"
                                        weight=".006" rank="3"/>
                                       </Details>

101817  Divorc.             2          <Details algorithm="Support Vector Machines" class="0">
                                       <Attribute name="YRS_RESIDENCE" actualValue="8"
                                        weight=".018" rank="1"/>
                                       <Attribute name="EDUCATION" actualValue="PhD" weight=".007"
                                        rank="2"/>
                                       <Attribute name="CUST_INCOME_LEVEL" actualValue="K:
                                        250\,000 - 299\,999" weight=".006" rank="3"/>
                                       </Details>
 
101713  Mabsent             1
 
101790  Married             1          <Details algorithm="Support Vector Machines" class="0">
                                       <Attribute name="COUNTRY_NAME" actualValue="Canada"
                                        weight=".063" rank="1"/>
                                       <Attribute name="EDUCATION" actualValue="7th-8th"
                                        weight=".011" rank="2"/>
                                       <Attribute name="HOUSEHOLD_SIZE" actualValue="4-5"
                                        weight=".011" rank="3"/>
                                       </Details>
. . .

 


출처: 오라클 레퍼런스

원문 링크: Oracle PREDICTION_PROBABILITY 함수 문서

 

반응형

댓글