본문 바로가기

[오라클 레퍼런스 함수] CLUSTER_SET - 클러스터 ID와 확률 쌍의 집합 반환

by ㅇㅍㅍ 2023. 8. 1.
[오라클 레퍼런스 함수] CLUSTER_SET - 클러스터 ID와 확률 쌍의 집합 반환
728x90

CLUSTER_SET

 

구문

CLUSTER_SET ( [ schema . ] model [ , topN [ , cutoff ] ] mining_attribute_clause )

 

분석 구분

CLUSTER_SET ( INTO n [, topN [, cutoff]] 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를 참조하시기 바랍니다.

 

목적

CLUSTER_SET은 선택된 각 행에 대해 클러스터 ID와 확률 쌍의 집합을 반환합니다. 반환 값은 CLUSTER_IDPROBABILITY라는 필드 이름을 가진 객체들의 varray입니다. 클러스터 식별자는 Oracle NUMBER 형식이며, 확률은 BINARY_DOUBLE 형식입니다.

 

topN and cutoff

topNcutoff을 지정하여 함수가 반환하는 클러스터의 수를 제한할 수 있습니다. 기본적으로 topNcutoff은 모두 null이며 모든 클러스터가 반환됩니다.

 

  • topN은 가장 확률이 높은 상위 N개의 클러스터를 지정합니다. 여러 클러스터가 N번째 확률을 공유하는 경우 함수는 그 중 하나를 선택합니다.
  • cutoff은 확률 임계값입니다. cutoff보다 크거나 같은 확률을 가진 클러스터만 반환됩니다. cutoff으로만 필터링하려면 topN에 대해 NULL을 지정하십시오.

 

cutoff보다 크거나 같은 최대 N개의 가장 확률이 높은 클러스터를 반환하려면 topNcutoff을 함께 지정하십시오.

 

구문 선택

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

 

  • 구문 - 미리 정의된 모델로 데이터를 평가하려면 첫 번째 구문을 사용합니다. clustering model의 이름을 지정합니다.
  • 분석 구문 - 미리 정의된 모델 없이 데이터를 평가하려면 INTO n과 mining_analytic_clause를 포함하는 분석적인 구문을 사용합니다. 여기서 n은 계산할 cluster 수를 나타내며, mining_analytic_clause는 데이터를 여러 모델 작성을 위해 분할할지 여부를 지정합니다. mining_analytic_clausequery_partition_clauseorder_by_clause를 지원합니다. (analytic_clause::= 참조)

 

CLUSTER_SET 함수의 구문은 분할된 모델을 평가할 때 선택적으로 GROUPING 힌트를 사용할 수 있습니다. GROUPING Hint 참조.

 

mining_attribute_clause

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

 

참고:

 

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

 

예제

이 예제는 clustering 모델인 em_sh_clus_sample을 적용하는 CLUSTER_DETAILSCLUSTER_SET 함수를 호출하여, 고객 ID 100955에 대한 클러스터 할당에 가장 큰 영향을 미치는 속성들(확률이 20% 이상)을 나열합니다.

SELECT S.cluster_id, probability prob,
       CLUSTER_DETAILS(em_sh_clus_sample, S.cluster_id, 5 USING T.*) det
FROM
  (SELECT v.*, CLUSTER_SET(em_sh_clus_sample, NULL, 0.2 USING *) pset
    FROM mining_data_apply_v v
   WHERE cust_id = 100955) T,
  TABLE(T.pset) S
ORDER BY 2 DESC;  
 
CLUSTER_ID  PROB DET
---------- ----- ------------------------------------------------------------------------------
        14 .6761 <Details algorithm="Expectation Maximization" cluster="14">
                 <Attribute name="AGE" actualValue="51" weight=".676" rank="1"/>
                 <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".557" rank="2"/>
                 <Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".412" rank="3"/>
                 <Attribute name="Y_BOX_GAMES" actualValue="0" weight=".171" rank="4"/>
                 <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight="-.003"rank="5"/>
                 </Details>
 
         3 .3227 <Details algorithm="Expectation Maximization" cluster="3">
                 <Attribute name="YRS_RESIDENCE" actualValue="3" weight=".323" rank="1"/>
                 <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".265" rank="2"/>
                 <Attribute name="EDUCATION" actualValue="HS-grad" weight=".172" rank="3"/>
                 <Attribute name="AFFINITY_CARD" actualValue="0" weight=".125" rank="4"/>
                 <Attribute name="OCCUPATION" actualValue="Crafts" weight=".055" rank="5"/>
                 </Details>

 


출처: 오라클 레퍼런스

원문 링크: Oracle CLUSTER_SET 함수 문서

 

반응형

댓글