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_clause는 query_partition_clause와 order_by_clause를 지원합니다. (analytic_clause::= 참조)
CLUSTER_ID 함수의 구문은 분할된 모델을 평가할 때 선택적으로 GROUPING 힌트를 사용할 수 있습니다. GROUPING Hint 참조.
mining_attribute_clause
mining_attribute_clause는 스코어링을 위해 예측 변수로 사용할 열 속성들을 식별합니다. 함수가 분석 구문으로 호출될 때, 이러한 predictors는 임시 모델을 작성하는 데에도 사용됩니다. mining_attribute_clause는 PREDICTION 함수와 동일하게 동작합니다. (mining_attribute_clause::= 참조)
참고:
- scoring에 대한 자세한 정보는 Oracle Data Mining User’s Guide를 참조하세요.
- clustering에 대한 정보는 Oracle Data Mining Concepts를 참조하세요.
노트: 다음 예제들은 데이터 마이닝 샘플 프로그램에서 발췌한 것입니다. 샘플 프로그램에 대한 자세한 정보는 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 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] CLUSTER_SET - 클러스터 ID와 확률 쌍의 집합 반환 (0) | 2023.08.01 |
---|---|
[오라클 레퍼런스 함수] CLUSTER_PROBABILITY - 클러스터 확률 반환 (0) | 2023.08.01 |
[오라클 레퍼런스 함수] CLUSTER_DISTANCE - 클러스터 거리 반환 (0) | 2023.08.01 |
[오라클 레퍼런스 함수] CLUSTER_DETAILS - 클러스터 세부 정보를 반환 (0) | 2023.08.01 |
[오라클 레퍼런스 함수] CHR - 캐릭터셋의 숫자 값을 문자로 변환 (0) | 2023.08.01 |
댓글