다음을 통해 공유


연관성 모델 쿼리 예제

데이터 마이닝 모델에 대한 쿼리를 만들 때 분석 중에 검색된 규칙 및 항목 집합에 대한 세부 정보를 제공하는 콘텐츠 쿼리를 만들거나 데이터에서 검색된 연결을 사용하여 예측을 수행하는 예측 쿼리를 만들 수 있습니다. 연결 모델의 경우 예측은 일반적으로 규칙을 기반으로 하며 권장 사항을 만드는 데 사용할 수 있는 반면 콘텐츠에 대한 쿼리는 일반적으로 항목 집합 간의 관계를 탐색합니다. 모델에 대한 메타데이터를 검색할 수도 있습니다.

이 섹션에서는 Microsoft 연결 규칙 알고리즘을 기반으로 하는 모델에 대해 이러한 종류의 쿼리를 만드는 방법을 설명합니다.

콘텐츠 쿼리

DMX를 사용하여 모델 메타데이터 데이터 가져오기

스키마 행 집합에서 메타데이터 가져오기

모델에 대한 원래 매개 변수 검색

항목 집합 및 제품 목록 검색

상위 10개 항목 집합 반환

예측 쿼리

연결된 항목 예측

관련 항목 집합에 대한 신뢰도 확인

모델에 대한 정보 찾기

모든 마이닝 모델은 마이닝 모델 스키마 행 집합이라는 표준화된 스키마에 따라 알고리즘에서 학습한 콘텐츠를 노출합니다. DMX(데이터 마이닝 확장) 문을 사용하거나 Analysis Services 저장 프로시저를 사용하여 마이닝 모델 스키마 행 집합에 대한 쿼리를 만들 수 있습니다. SQL Server 2014에서는 SQL과 유사한 구문을 사용하여 스키마 행 집합을 시스템 테이블로 직접 쿼리할 수도 있습니다.

샘플 쿼리 1: DMX를 사용하여 모델 메타데이터 가져오기

다음 쿼리는 모델 이름, Association모델이 저장된 데이터베이스 및 모델의 자식 노드 수와 같은 연결 모델에 대한 기본 메타데이터를 반환합니다. 이 쿼리는 DMX 콘텐츠 쿼리를 사용하여 모델의 부모 노드에서 메타데이터를 검색합니다.

SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION,   
NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION  
FROM Association.CONTENT  
WHERE NODE_TYPE = 1  

비고

같은 이름의 MDX 예약 키워드와 구분하려면 열 이름(CHILDREN_CARDINALITY)을 대괄호로 묶어야 합니다.

결과 예:

모델 카탈로그 연관성 테스트
MODEL_NAME 협회
노드 캡션 연관 규칙 모델
노드 지원 14879
자식 수 942
노드 설명 연관 규칙 모델; ITEMSET_COUNT=679; RULE_COUNT=263; MIN_SUPPORT=14; MAX_SUPPORT=4334; MIN_ITEMSET_SIZE=0; MAX_ITEMSET_SIZE=3; MIN_PROBABILITY=0.400390625; MAX_PROBABILITY=1; MIN_LIFT=0.14309369632511; MAX_LIFT=1.95758227647523

연결 모델에서 이러한 열의 의미에 대한 정의는 연결 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.

맨 위로 돌아가기

샘플 쿼리 2: 스키마 행 집합에서 추가 메타데이터 가져오기

데이터 마이닝 스키마 행 집합을 쿼리하면 DMX 콘텐츠 쿼리에서 반환되는 것과 동일한 정보를 찾을 수 있습니다. 그러나 스키마 행 집합은 모델이 마지막으로 처리된 날짜, 마이닝 구조 및 예측 가능한 특성으로 사용된 열의 이름과 같은 몇 가지 추가 열을 제공합니다.

SELECT MODEL_CATALOG, MODEL_NAME, SERVICE_NAME, PREDICTION_ENTITY,   
MINING_STRUCTURE, LAST_PROCESSED  
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Association'  

결과 예:

모델 카탈로그 Adventure Works DW 다차원 2012
MODEL_NAME 협회
서비스_이름 연관 규칙 모델
PREDICTION_ENTITY 연관된 순서 내역 항목
마이닝_구조 협회
마지막 처리됨 9/29/2007 10:21:24 오후

맨 위로 돌아가기

샘플 쿼리 3: 모델에 대한 원래 매개 변수 검색

다음 쿼리는 모델을 만들 때 사용된 매개 변수 설정에 대한 세부 정보가 포함된 단일 열을 반환합니다.

SELECT MINING_PARAMETERS   
from $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Association'  

결과 예:

MAXIMUM_ITEMSET_COUNT=200000,MAXIMUM_ITEMSET_SIZE=3,MAXIMUM_SUPPORT=1,MINIMUM_SUPPORT=9.40923449156529E-04,MINIMUM_IMPORTANCE=-999999999,MINIMUM_ITEMSET_SIZE=0,MINIMUM_PROBABILITY=0.4

맨 위로 돌아가기

규칙 및 항목 집합에 대한 정보 찾기

연결 모델에는 자주 사용하는 항목 집합에 대한 정보를 검색하고 특정 규칙 및 항목 집합에 대한 세부 정보를 추출하는 두 가지 일반적인 용도가 있습니다. 예를 들어 특히 흥미로운 것으로 점수가 매길 수 있는 규칙 목록을 추출하거나 가장 일반적인 항목 집합 목록을 만들 수 있습니다. DMX 콘텐츠 쿼리를 사용하여 이러한 정보를 검색합니다. Microsoft 연관 뷰어를 사용하여 이 정보를 찾아볼 수도 있습니다.

샘플 쿼리 4: 항목 집합 및 제품 목록 검색

다음 쿼리는 각 항목 집합에 포함된 제품을 나열하는 중첩 테이블과 함께 모든 항목 집합을 검색합니다. NODE_NAME 열에는 모델 내 항목 집합의 고유 ID가 포함되는 반면 NODE_CAPTION 항목에 대한 텍스트 설명을 제공합니다. 이 예제에서는 두 개의 제품이 포함된 항목 집합이 결과에 두 개의 행을 생성할 수 있도록 중첩된 테이블이 평면화됩니다. 클라이언트가 계층적 데이터를 지원하는 경우 FLATTENED 키워드를 생략할 수 있습니다.

SELECT FLATTENED NODE_NAME, NODE_CAPTION,  
NODE_PROBABILITY, NODE_SUPPORT,  
(SELECT ATTRIBUTE_NAME FROM NODE_DISTRIBUTION) as PurchasedProducts  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  

결과 예:

노드 이름 37
노드 캡션 Sport-100 = 기존
노드 확률 0.291283016331743
노드 지원 4334
PURCHASEDPRODUCTS.ATTRIBUTE_NAME v 연관 시퀀스 라인 항목(Sport-100)

맨 위로 돌아가기

샘플 쿼리 5: 상위 10개 항목 집합 반환

이 예제에서는 DMX에서 기본적으로 제공하는 일부 그룹화 및 순서 지정 함수를 사용하는 방법을 보여 줍니다. 쿼리는 각 노드에 대한 지원에서 정렬할 때 상위 10개 항목 집합을 반환합니다. Transact-SQL에서와 같이 결과를 명시적으로 그룹화할 필요는 없습니다. 그러나 각 쿼리에서 하나의 집계 함수만 사용할 수 있습니다.

SELECT TOP 10 (NODE_SUPPORT),NODE_NAME, NODE_CAPTION  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  

결과 예:

노드 지원 4334
노드 이름 37
노드 캡션 Sport-100 = 기존

맨 위로 돌아가기

모델을 사용하여 예측 만들기

연결 규칙 모델은 항목 집합에서 검색된 상관 관계를 기반으로 하는 권장 사항을 생성하는 데 자주 사용됩니다. 따라서 연결 규칙 모델을 기반으로 예측 쿼리를 만들 때 일반적으로 모델의 규칙을 사용하여 새 데이터를 기반으로 추측합니다. PredictAssociation(DMX) 은 권장 사항을 반환하는 함수이며 쿼리 결과를 사용자 지정하는 데 사용할 수 있는 몇 가지 인수가 있습니다.

연결 모델에 대한 쿼리가 유용할 수 있는 또 다른 예는 다양한 교차 판매 전략의 효과를 비교할 수 있도록 다양한 규칙 및 항목 집합에 대한 신뢰도를 반환하는 것입니다. 다음 예제에서는 이러한 쿼리를 만드는 방법을 보여 줍니다.

샘플 쿼리 6: 연결된 항목 예측

이 예제에서는 중간 데이터 마이닝 자습서(Analysis Services - 데이터 마이닝)에서 만든 연결 모델을 사용합니다. 특정 제품을 구매한 고객에게 추천할 제품을 알려주는 예측 쿼리를 만드는 방법을 보여 줍니다. 문에서 모델에 값을 제공하는 이 유형의 쿼리를 SELECT...UNION 싱글톤 쿼리라고 합니다. 새 값에 해당하는 예측 가능한 모델 열은 중첩 테이블이므로 하나의 SELECT 절을 사용하여 새 값을 중첩 테이블 열에 매핑하고, 다른 [Model]SELECT 절을 사용하여 중첩 테이블 열을 케이스 수준 열 [v Assoc Seq Line Items]에 매핑해야 합니다. 쿼리에 INCLUDE-STATISTICS 키워드를 추가하면 권장 사항에 대한 확률과 지원을 볼 수 있습니다.

SELECT PredictAssociation([Association].[vAssocSeqLineItems],INCLUDE_STATISTICS, 3)  
FROM [Association]  
NATURAL PREDICTION JOIN   
(SELECT  
(SELECT 'Classic Vest' as [Model])  
AS [v Assoc Seq Line Items])  
AS t  

결과 예:

모델 $SUPPORT $PROBABILITY $조정된확률
스포츠-100 4334 0.291283 0.252696
물병 2866 0.19262 0.175205
패치 키트 2113 0.142012 0.132389

맨 위로 돌아가기

샘플 쿼리 7: 관련 항목 집합에 대한 신뢰도 확인

규칙은 권장 사항을 생성하는 데 유용하지만 항목 집합은 데이터 집합의 패턴을 더 자세히 분석하는 데 더 흥미롭습니다. 예를 들어 이전 샘플 쿼리에서 반환된 권장 사항에 만족하지 않는 경우 제품 A가 포함된 다른 항목 집합을 검사하여 제품 A가 모든 종류의 제품으로 구매하는 경향이 있는 액세서리인지 또는 A가 특정 제품의 구매와 밀접한 관련이 있는지 여부를 더 잘 파악할 수 있습니다. 이러한 관계를 탐색하는 가장 쉬운 방법은 Microsoft 연결 뷰어에서 항목 집합을 필터링하는 것입니다. 그러나 쿼리를 사용하여 동일한 정보를 검색할 수 있습니다.

다음 샘플 쿼리는 'Water Bottle' 단일 항목을 포함하여 'Water Bottle'을 포함하는 모든 항목 집합을 반환합니다.

SELECT TOP 100 FROM   
(  
SELECT FLATTENED NODE_CAPTION, NODE_SUPPORT,   
(SELECT ATTRIBUTE_NAME from NODE_DISTRIBUTION  
WHERE ATTRIBUTE_NAME = 'v Assoc Seq Line Items(Water Bottle)') as D  
FROM Association.CONTENT  
WHERE NODE_TYPE = 7  
) AS Items  
WHERE [D.ATTRIBUTE_NAME] <> NULL  
ORDER BY NODE_SUPPORT DESC  

결과 예:

노드 캡션 노드 지원 D.ATTRIBUTE_NAME
물병 = 기존 2866 v Assoc Seq Line Items(물병)
마운틴 병 케이지 = Existing, 물병 = Existing 1136 v 연관 순서 라인 항목(물병)
도로 병 케이지 = 기존, 물병 = 기존 1,068 v 연관 순서 항목(물병)
물병 = 기존, 스포츠-100 = 기존 734 v 연관 순서 라인 항목(물병)

이 쿼리는 조건과 일치하는 중첩 테이블의 행과 외부 또는 사례 테이블의 모든 행을 모두 반환합니다. 따라서 대상 특성 이름에 대한 null 값이 있는 사례 테이블 행을 제거하는 조건을 추가해야 합니다.

맨 위로 돌아가기

함수 목록

모든 Microsoft 알고리즘은 일반적인 함수 집합을 지원합니다. 그러나 Microsoft Association 알고리즘은 다음 표에 나열된 추가 함수를 지원합니다.

예측 함수 사용법
IsDescendant(DMX) 한 노드가 신경망 그래프에서 다른 노드의 자식인지 여부를 확인합니다.
IsInNode(DMX) 지정된 노드에 현재 사례가 포함되어 있는지 여부를 나타냅니다.
PredictAdjustedProbability(DMX) 가중 확률을 반환합니다.
PredictAssociation(DMX) 결합 데이터 세트의 멤버 자격을 예측합니다.
PredictHistogram(DMX) 현재 예측 값과 관련된 값 테이블을 반환합니다.
PredictNodeId(DMX) 각 사례에 대한 Node_ID 반환합니다.
PredictProbability(DMX) 예측 값의 확률을 반환합니다.
PredictSupport(DMX) 지정된 상태에 대한 지원 값을 반환합니다.
PredictVariance(DMX) 예측 값의 분산을 반환합니다.

또한 참조하십시오

Microsoft 연관 알고리즘
Microsoft 연관 알고리즘 기술 참조
연결 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)