SELECT FROM <model>.CONTENT(DMX)
지정한 데이터 마이닝 모델의 마이닝 모델 스키마 행 집합을 반환합니다.
구문
SELECT [FLATTENED] [TOP <n>] <expression list> FROM <model>.CONTENT
[WHERE <condition expression>]
[ORDER BY <expression> [DESC|ASC]]
인수
n
선택 사항입니다. 반환할 행의 수를 지정하는 정수입니다.expression list
Content 스키마 행 집합에서 파생된 열의 쉼표로 구분된 목록입니다.model
모델 식별자입니다.condition expression
선택 사항입니다. 열 목록에서 반환되는 값을 제한하는 조건입니다.expression
선택 사항입니다. 스칼라 값을 반환하는 식입니다.
주의
SELECT FROM <model>.CONTENT 문은 각 알고리즘에 관련된 내용을 반환합니다. 예를 들어 사용자 지정 응용 프로그램에서 연결 규칙 모델의 모든 규칙 설명을 사용하려는 경우 SELECT FROM <model>.CONTENT 문을 사용하여 모델의 NODE_RULE 열 값을 반환할 수 있습니다.
다음 표에서는 마이닝 모델 콘텐츠에 포함된 열을 나열합니다.
[!참고]
알고리즘은 콘텐츠를 올바르게 표시하기 위해 열을 다르게 해석할 수 있습니다. 각 알고리즘의 마이닝 모델 콘텐츠에 대한 설명 및 각 모델 유형에서 마이닝 모델 콘텐츠를 해석하고 쿼리하는 방법에 대한 유용한 정보는 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하십시오.
CONTENT 행 집합 열 |
설명 |
---|---|
MODEL_CATALOG |
카탈로그 이름입니다. 공급자가 카탈로그를 지원하지 않을 경우 NULL입니다. |
MODEL_SCHEMA |
정규화되지 않은 스키마 이름입니다. 공급자가 스키마를 지원하지 않을 경우 NULL입니다. |
MODEL_NAME |
모델 이름입니다. 이 열에는 NULL이 포함될 수 없습니다. |
ATTRIBUTE_NAME |
노드에 해당하는 특성 이름입니다. |
NODE_NAME |
노드 이름입니다. |
NODE_UNIQUE_NAME |
모델 내에서 노드의 고유한 이름입니다. |
NODE_TYPE |
노드 유형을 나타내는 정수입니다. |
NODE_GUID |
노드 GUID입니다. GUID가 없는 경우 NULL입니다. |
NODE_CAPTION |
노드에 연결된 레이블 또는 캡션이며 주로 표시 목적으로 사용됩니다. 캡션이 없는 경우 NODE_NAME이 반환됩니다. |
CHILDREN_CARDINALITY |
노드에 있는 자식 수입니다. |
PARENT_UNIQUE_NAME |
노드 부모의 고유한 이름입니다. |
NODE_DESCRIPTION |
노드에 대한 설명입니다. |
NODE_RULE |
노드에 포함된 규칙을 나타내는 XML 조각입니다. XML 문자열 형식은 PMML 표준을 기반으로 합니다. |
MARGINAL_RULE |
부모에서 해당 노드로 이동하는 경로를 설명하는 XML 조각입니다. |
NODE_PROBABILITY |
해당 노드에서 끝나는 경로의 확률입니다. |
MARGINAL_PROBABILITY |
부모 노드에서 해당 노드에 도달할 확률입니다. |
NODE_DISTRIBUTION |
노드의 값 분포를 설명하는 통계가 들어 있는 테이블입니다. |
NODE_SUPPORT |
이 노드를 지원하는 사례 수입니다. |
예
다음 코드는 대상 메일 마이닝 구조에 추가된 의사 결정 트리 모델에 대한 부모 노드의 ID를 반환합니다.
SELECT MODEL_NAME, NODE_NAME FROM [TM Decision Tree].CONTENT
WHERE NODE_TYPE = 1
예상 결과:
MODEL_NAME |
NODE_NAME |
---|---|
TM_DecisionTree |
0 |
다음 쿼리에서는 IsDescendant 함수를 사용하여 위 쿼리에서 반환된 노드의 인접한 자식을 반환합니다.
[!참고]
NODE_NAME의 값은 문자열이므로 하위 SELECT 문을 사용하여 NODE_ID를 IsDescendant 함수에 대한 인수로 반환할 수 없습니다.
SELECT NODE_NAME, NODETYPE, NODE_CAPTION
FROM [TM Decision Tree].CONTENT
WHERE ISDESCENDANT('0')
예상 결과:
모델이 의사 결정 트리 모델이므로 모델 부모 노드의 하위 항목에는 예측 가능한 특성을 나타내는 한계 통계 노드 하나와 입력 특성 및 값이 들어 있는 여러 노드가 포함되어 있습니다. 자세한 내용은 의사 결정 트리 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하십시오.
FLATTENED 키워드 사용
마이닝 모델 콘텐츠의 중첩 테이블 열에는 모델에 대한 유용한 정보가 들어 있는 경우가 많습니다. FLATTENED 키워드를 사용하면 계층적 행 집합을 지원하는 공급자를 사용하지 않아도 중첩 테이블 열에서 데이터를 검색할 수 있습니다.
다음 쿼리에서는 Naïve Bayes 모델에서 한계 통계 노드(NODE_TYPE = 26) 하나를 반환합니다. 그러나 이 노드의 NODE_DISTRIBUTION 열에는 중첩 테이블이 들어 있습니다. 따라서 중첩 테이블 열이 평면화되고 중첩 테이블의 모든 행마다 행이 하나씩 반환됩니다. 스칼라 열인 MODEL_NAME의 값은 중첩 테이블의 각 행에서 반복됩니다.
또한 중첩 테이블 열의 이름만 지정하면 중첩 테이블의 각 열에 대해 새 열이 반환됩니다. 기본적으로 각 중첩 테이블 열의 이름 앞에 중첩 테이블의 이름이 추가됩니다.
SELECT FLATTENED MODEL_NAME, NODE_DISTRIBUTION
FROM [TM_NaiveBayes].CONTENT
WHERE NODE_TYPE = 26
예 결과:
MODEL_NAME |
NODE_DISTRIBUTION.ATTRIBUTE_NAME |
NODE_DISTRIBUTION.ATTRIBUTE_VALUE |
NODE_DISTRIBUTION.SUPPORT |
NODE_DISTRIBUTION.PROBABILITY |
NODE_DISTRIBUTION.VARIANCE |
NODE_DISTRIBUTION.VALUETYPE |
---|---|---|---|---|---|---|
TM_NaiveBayes |
Bike Buyer |
Missing |
0 |
0 |
0 |
1 |
TM_NaiveBayes |
Bike Buyer |
0 |
6556 |
0.506685215240745 |
0 |
|
TM_NaiveBayes |
Bike Buyer |
1 |
6383 |
0.493314784759255 |
0 |
다음 예에서는 하위 SELECT 문을 사용하여 중첩 테이블에서 일부 열만 반환하는 방법을 보여 줍니다. 이와 같이 중첩 테이블의 이름에 별칭을 지정하면 간단하게 표시할 수 있습니다.
SELECT MODEL_NAME,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT] AS t
FROM NODE_DISTRIBUTION)
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 26
예 결과:
MODEL_NAME |
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
---|---|---|---|
TM_NaiveBayes |
Bike Buyer |
Missing |
0 |
TM_NaiveBayes |
Bike Buyer |
0 |
6556 |
TM_NaiveBayes |
Bike Buyer |
1 |
6383 |