본문 바로가기

[오라클 레퍼런스 함수] CLUSTER_ID - 클러스터 식별자 반환

by ㅇㅍㅍ 2023. 8. 1.
[오라클 레퍼런스 함수] CLUSTER_ID - 클러스터 식별자 반환
728x90

 

 

CLUSTER_ID

 

구문

CLUSTER_ID ( [ schema . ] model mining_attribute_clause )

 

분석 구문

CLUSTER_ID ( INTO n 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_ID는 선택된 각 행에 대해 가장 높은 확률 클러스터의 식별자를 반환합니다. 클러스터 식별자는 Oracle NUMBER 형식으로 반환됩니다.

 

구문 선택

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

 

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

 

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

 

mining_attribute_clause

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

 

참고:

 

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

 

예제

다음 예제는 mining_data_apply_v의 고객들이 그룹화된 클러스터들을 나열합니다.

SELECT CLUSTER_ID(km_sh_clus_sample USING *) AS clus, COUNT(*) AS cnt 
  FROM mining_data_apply_v
  GROUP BY CLUSTER_ID(km_sh_clus_sample USING *)
  ORDER BY cnt DESC;

      CLUS        CNT
---------- ----------
         2        580
        10        216
         6        186
         8        115
        19        110
        12        101
        18         81
        16         39
        17         38
        14         34

 

분석 예제

이 예제는 공통적인 특성에 따라 고객 데이터베이스를 네 개의 세그먼트로 분할합니다. 클러스터링 함수는 사전 정의된 클러스터링 모델 없이 클러스터를 계산하고 점수를 반환합니다.

SELECT * FROM (
     SELECT cust_id,
          CLUSTER_ID(INTO 4 USING *) OVER () cls,
          CLUSTER_DETAILS(INTO 4 USING *) OVER () cls_details
     FROM mining_data_apply_v)
WHERE cust_id <= 100003
ORDER BY 1; 
 
CUST_ID CLS CLS_DETAILS
------- --- -----------------------------------------------------------------------------
 100001   5 <Details algorithm="K-Means Clustering" cluster="5">
            <Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".349" rank="1"/>
            <Attribute name="BULK_PACK_DISKETTES" actualValue="0" weight=".33" rank="2"/>
            <Attribute name="CUST_INCOME_LEVEL" actualValue="G: 130\,000 - 149\,999"
               weight=".291" rank="3"/>
            <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".268" rank="4"/>
            <Attribute name="Y_BOX_GAMES" actualValue="0" weight=".179" rank="5"/>
            </Details>

 100002   6 <Details algorithm="K-Means Clustering" cluster="6">
            <Attribute name="CUST_GENDER" actualValue="F" weight=".945" rank="1"/>
            <Attribute name="CUST_MARITAL_STATUS" actualValue="NeverM" weight=".856" rank="2"/>
            <Attribute name="HOUSEHOLD_SIZE" actualValue="2" weight=".468" rank="3"/>
            <Attribute name="AFFINITY_CARD" actualValue="0" weight=".012" rank="4"/>
            <Attribute name="CUST_INCOME_LEVEL" actualValue="L: 300\,000 and above" 
               weight=".009" rank="5"/>
            </Details>
 
 100003   7 <Details algorithm="K-Means Clustering" cluster="7">
            <Attribute name="CUST_MARITAL_STATUS" actualValue="NeverM" weight=".862" rank="1"/>
            <Attribute name="HOUSEHOLD_SIZE" actualValue="2" weight=".423" rank="2"/>
            <Attribute name="HOME_THEATER_PACKAGE" actualValue="0" weight=".113" rank="3"/>
            <Attribute name="AFFINITY_CARD" actualValue="0" weight=".007" rank="4"/>
            <Attribute name="CUST_ID" actualValue="100003" weight=".006" rank="5"/>
            </Details>

 


출처: 오라클 레퍼런스

원문 링크: Oracle CLUSTER_ID 함수 문서

 

반응형

댓글