CLUSTER_DETAILS
구문
CLUSTER_DETAILS ( [ schema . ] model
[ , cluster_id [ , topN ] ] [ DESC | ASC | ABS ]
mining_attribute_clause )
분석 구문
CLUSTER_DETAILS ( INTO n
[ , cluster_id [ , topN ] ] [ DESC | ASC | ABS ]
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_DETAILS 함수는 선택된 각 행에 대해 클러스터 세부 정보를 반환합니다. 반환 값은 가장 높은 확률 클러스터 또는 지정된 cluster_id의 속성을 설명하는 XML 문자열입니다.
topN
topN을 지정하면 함수는 클러스터 할당(스코어)에 가장 영향을 주는 N개의 속성을 반환합니다. topN을 지정하지 않으면 함수는 가장 영향력 있는 5개의 속성을 반환합니다.
DESC, ASC, 또는 ABS
반환된 속성들은 가중치에 따라 정렬됩니다. 속성의 가중치는 클러스터 할당에 대한 긍정적이거나 부정적인 영향을 나타냅니다. 긍정적인 가중치는 할당 가능성이 증가함을 나타내고, 부정적인 가중치는 할당 가능성이 감소함을 나타냅니다.
기본적으로, CLUSTER_DETAILS 함수는 가장 높은 긍정적인 가중치를 가진 속성을 반환합니다 (DESC). 만약 ASC를 지정하면, 가장 높은 부정적인 가중치를 가진 속성이 반환됩니다. ABS를 지정하면, 가장 큰 가중치를 가진 속성(부정적인 값이든 긍정적인 값이든)이 반환되며, 결과는 절대값에 따라 가장 높은 값부터 내림차순으로 정렬됩니다. 가중치가 0인 속성은 결과에 포함되지 않습니다.
구문 선택
CLUSTER_DETAILS 함수는 두 가지 방법으로 데이터에 대한 스코어링을 수행할 수 있습니다. 첫 번째 방법은 데이터에 마이닝 모델 객체를 적용하는 것이고, 두 번째 방법은 분석 절을 실행하여 하나 이상의 일시적인 마이닝 모델을 구축하고 적용하는 것입니다. 구문 또는 분석 구문을 선택하세요:
- 구문 - 미리 정의된 모델로 데이터를 평가하려면 첫 번째 구문을 사용합니다. clustering model의 이름을 지정합니다.
- 분석 구문 - 미리 정의된 모델 없이 데이터를 평가하려면 INTO n과 mining_analytic_clause를 포함하는 분석적인 구문을 사용합니다. 여기서 n은 계산할 cluster 수를 나타내며, mining_analytic_clause는 데이터를 여러 모델 작성을 위해 분할할지 여부를 지정합니다. mining_analytic_clause는 query_partition_clause와 order_by_clause를 지원합니다. (analytic_clause::= 참조)
CLUSTER_DETAILS 함수의 구문은 분할된 모델을 평가할 때 선택적으로 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를 참조하세요.
예제
이 예제는 고객 ID 100955에 대한 클러스터 할당에 가장 큰 영향을 미치는 속성들을 나열합니다. 이 쿼리는 클러스터링 모델 em_sh_clus_sample을 적용하는 CLUSTER_DETAILS 및 CLUSTER_SET 함수를 호출합니다.
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>
분석 예시
이 예시는 공통적인 특성을 기반으로 고객 데이터베이스를 네 개의 세그먼트로 분할합니다. 클러스터링 함수들은 미리 정의된 클러스터링 모델 없이 클러스터를 계산하고 점수를 반환합니다.
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_DETAILS 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] CLUSTER_ID - 클러스터 식별자 반환 (0) | 2023.08.01 |
---|---|
[오라클 레퍼런스 함수] CLUSTER_DISTANCE - 클러스터 거리 반환 (0) | 2023.08.01 |
[오라클 레퍼런스 함수] CHR - 캐릭터셋의 숫자 값을 문자로 변환 (0) | 2023.08.01 |
[오라클 레퍼런스 함수] CHARTOROWID - 문자열을 실제 ROWID로 변환 (0) | 2023.07.31 |
[오라클 레퍼런스 함수] CEIL - 숫자 올림 (0) | 2023.07.31 |
댓글