본문 바로가기

[오라클 레퍼런스 함수] FEATURE_DETAILS - 데이터 마이닝 특성 세부 정보 반환

by ㅇㅍㅍ 2023. 8. 5.
[오라클 레퍼런스 함수] FEATURE_DETAILS - 데이터 마이닝 특성 세부 정보 반환
728x90

FEATURE_DETAILS

 

구문

FEATURE_DETAILS ( [ schema . ] model
                  [ , feature_id [ , topN ] ] [ DESC | ASC | ABS ]
                  mining_attribute_clause )

 

분석 구문

FEATURE_DETAILS ( INTO n
                  [ , feature_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"에 대한 내용을 참조하세요.

 

목적

FEATURE_DETAILS 함수는 선택된 각 행에 대해 특성 세부 정보를 반환합니다. 반환 값은 가장 높은 값 특성 또는 지정된 feature_id의 속성을 설명하는 XML 문자열입니다.

 

topN

만약 topN에 대한 값을 지정하면, 함수는 해당 특성 값에 가장 큰 영향을 미치는 N개의 속성을 반환합니다. topN에 대한 값을 지정하지 않으면, 함수는 영향력이 가장 큰 5개의 속성을 반환합니다.

 

DESC, ASC, 또는 ABS

반환된 속성들은 가중치에 따라 정렬됩니다. 속성의 가중치는 해당 속성이 특성 값에 어떤 영향을 주는지(긍정적 또는 부정적)를 나타냅니다. 양수 가중치는 더 높은 특성 값을 나타내며, 음수 가중치는 더 낮은 특성 값을 나타냅니다.

FEATURE_DETAILS는 기본적으로 가장 높은 양수 가중치를 가진 속성들을 반환합니다(DESC). 만약 ASC를 지정하면, 가장 높은 음수 가중치를 가진 속성들이 반환됩니다. ABS를 지정하면, 음수든 양수든 가장 큰 가중치를 가진 속성들이 반환되며, 결과는 절대값에 따라 높은 순서로 정렬됩니다. 가중치가 0인 속성들은 결과에 포함되지 않습니다.

 

구문 선택

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

 

  • 구문 - 사전 정의된 모델로 데이터를 스코어링하려면 첫 번째 구문을 사용합니다. 특성 추출 모델의 이름을 제공하십시오.
  • 분석 구문 - 사전 정의된 모델 없이 데이터를 스코어링하려면 INTO n과 mining_analytic_clause를 포함하는 분석 구문을 사용합니다. 여기서 n은 추출할 특성의 개수를 나타내며, mining_analytic_clause는 데이터를 여러 모델 작성을 위해 분할할지 여부를 지정합니다. mining_analytic_clausequery_partition_clauseorder_by_clause를 지원합니다. (analytic_clause::= 참조)

 

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

 

mining_attribute_clause

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

 

참고:

 

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

 

예제

이 예제는 feature extraction 모델 nmf_sh_sample을 사용하여 데이터를 점수화합니다. 이 쿼리는 고객 100002를 가장 잘 대표하는 세 가지 특성과 해당 특성에 가장 영향을 미치는 속성을 반환합니다.

SELECT S.feature_id fid, value val,
       FEATURE_DETAILS(nmf_sh_sample, S.feature_id, 5 using T.*) det
   FROM
     (SELECT v.*, FEATURE_SET(nmf_sh_sample, 3 USING *) fset
         FROM mining_data_apply_v v
         WHERE cust_id = 100002) T,
   TABLE(T.fset) S
ORDER BY 2 DESC;
 
 FID    VAL  DET
---- ------  ------------------------------------------------------------------------------------
   5  3.492  <Details algorithm="Non-Negative Matrix Factorization" feature="5">
             <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".077" rank="1"/>
             <Attribute name="OCCUPATION" actualValue="Prof." weight=".062" rank="2"/>
             <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight=".001" rank="3"/>
             <Attribute name="OS_DOC_SET_KANJI" actualValue="0" weight="0" rank="4"/>
             <Attribute name="YRS_RESIDENCE" actualValue="4" weight="0" rank="5"/>
             </Details>
   3  1.928  <Details algorithm="Non-Negative Matrix Factorization" feature="3">
             <Attribute name="HOUSEHOLD_SIZE" actualValue="2" weight=".239" rank="1"/>
             <Attribute name="CUST_INCOME_LEVEL" actualValue="L: 300\,000 and above" 
              weight=".051" rank="2"/>
             <Attribute name="FLAT_PANEL_MONITOR" actualValue="1" weight=".02" rank="3"/>
             <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".006" rank="4"/>
             <Attribute name="AGE" actualValue="41" weight=".004" rank="5"/>
             </Details>
   8   .816  <Details algorithm="Non-Negative Matrix Factorization" feature="8">
             <Attribute name="EDUCATION" actualValue="Bach." weight=".211" rank="1"/>
             <Attribute name="CUST_MARITAL_STATUS" actualValue="NeverM" weight=".143" rank="2"/>
             <Attribute name="FLAT_PANEL_MONITOR" actualValue="1" weight=".137" rank="3"/>
             <Attribute name="CUST_GENDER" actualValue="F" weight=".044" rank="4"/>
             <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".032" rank="5"/>
             </Details>

 

분석 예제

이 예제는 고객 속성을 동적으로 여섯 개의 특성으로 매핑하고, 고객 100001에 대한 특성 매핑을 반환합니다.

SELECT feature_id, value
  FROM (
     SELECT cust_id, feature_set(INTO 6 USING *) OVER () fset
        FROM mining_data_apply_v),
  TABLE (fset)
  WHERE cust_id = 100001
  ORDER BY feature_id;
 
FEATURE_ID    VALUE
---------- --------
         1    2.670
         2     .000
         3    1.792
         4     .000
         5     .000
         6    3.379

 


출처: 오라클 레퍼런스

원문 링크: Oracle FEATURE_DETAILS 함수 문서

 

반응형

댓글