시퀀스 클러스터링 모델에 대한 마이닝 모델 콘텐츠

적용 대상: SQL Server 2019 및 이전 Analysis Services Azure Analysis Services Fabric/Power BI Premium

중요

데이터 마이닝은 SQL Server 2017 Analysis Services에서 더 이상 사용되지 않으며 이제 SQL Server 2022 Analysis Services에서 중단되었습니다. 더 이상 사용되지 않는 기능 및 중단된 기능에 대해서는 설명서가 업데이트되지 않습니다. 자세한 내용은 Analysis Services 이전 버전과의 호환성을 참조하세요.

이 항목에서는 Microsoft 시퀀스 클러스터링 알고리즘을 사용하는 모델만의 마이닝 모델 콘텐츠에 대해 설명합니다. 모든 모델 형식에 적용되는 마이닝 모델 콘텐츠와 관련된 일반 및 통계 용어에 대한 설명은 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.

시퀀스 클러스터링 모델 구조에 대한 이해

시퀀스 클러스터링 모델에는 모델 및 해당 메타데이터를 나타내는 단일 부모 노드(NODE_TYPE = 1)가 있습니다. (All)이라는 레이블이 지정된 부모 노드에는 학습 데이터에서 검색된 모든 전환이 나열되는 관련 시퀀스 노드(NODE_TYPE = 13)가 있습니다.

시퀀스 클러스터링 모델

또한 이 알고리즘은 데이터에서 찾은 전환과 모델을 만들 때 포함된 고객 인구 통계 등의 기타 입력 특성을 기반으로 여러 개의 클러스터를 만듭니다. 각 클러스터(NODE_TYPE = 5)에는 해당 클러스터를 생성하는 데 사용된 전환만 나열되는 고유한 시퀀스 노드(NODE_TYPE = 13)가 있습니다. 시퀀스 노드에서 드릴다운하여 개별 상태 전환(NODE_TYPE = 14)에 대한 정보를 볼 수 있습니다.

시퀀스 및 상태 전환에 대한 설명과 예는 Microsoft Sequence Clustering Algorithm을 참조하십시오.

시퀀스 클러스터링 모델에 대한 모델 콘텐츠

이 섹션에서는 시퀀스 클러스터링과 특별히 관련된 마이닝 모델 콘텐츠의 열에 대한 추가 정보를 제공합니다.

MODEL_CATALOG
모델이 저장되는 데이터베이스의 이름입니다.

MODEL_NAME
모델의 이름입니다.

ATTRIBUTE_NAME
항상 비어 있습니다.

NODE_NAME
노드의 이름입니다. 현재는 NODE_UNIQUE_NAME과 동일한 값입니다.

NODE_UNIQUE_NAME
노드의 고유한 이름입니다.

NODE_TYPE
시퀀스 클러스터링 모델이 출력하는 노드 유형은 다음과 같습니다.

노드 유형 ID 설명
1(모델) 모델의 루트 노드입니다.
5(클러스터) 클러스터 내의 전환 수, 특성 목록 및 클러스터의 값을 설명하는 통계를 포함합니다.
13(시퀀스) 클러스터에 포함된 전환 목록을 포함합니다.
14(전환) 첫째 행에 시작 상태가 포함되고 다른 모든 행에는 연속적인 상태가 지지도 및 확률 통계와 함께 포함되는 테이블로 이벤트 시퀀스를 설명합니다.

NODE_GUID
비어 있습니다.

NODE_CAPTION
표시용으로 노드에 연결된 레이블 또는 캡션입니다.

모델을 사용하는 중에 클러스터 캡션의 이름을 바꿀 수 있지만 모델을 닫을 경우 새 이름은 유지되지 않습니다.

CHILDREN_CARDINALITY
노드에 있는 예상 자식 수입니다.

모델 루트 카디널리티 값은 클러스터 수에 1을 더한 값과 같습니다. 자세한 내용은 카디널리티를 참조하십시오.

클러스터 노드 각 클러스터 노드에는 해당 클러스터의 시퀀스 목록이 포함되는 단일 자식 노드가 있으므로 카디널리티는 항상 1입니다.

시퀀스 노드 카디널리티는 해당 클러스터에 포함된 전환 수를 나타냅니다. 예를 들어 모델 루트에 대한 시퀀스 노드의 카디널리티는 모델 전체에서 발견된 전환 수를 알려 줍니다.

PARENT_UNIQUE_NAME
노드 부모의 고유한 이름입니다.

루트 수준의 모든 노드에 대해서 NULL이 반환됩니다.

NODE_DESCRIPTION
노드 캡션과 같습니다.

NODE_RULE
항상 비어 있습니다.

MARGINAL_RULE
항상 비어 있습니다.

NODE_PROBABILITY
모델 루트 항상 0입니다.

클러스터 노드 모델의 클러스터에 대한 조정된 확률입니다. 시퀀스 클러스터링에 사용되는 클러스터링 메서드는 여러 클러스터의 부분 멤버 자격을 허용하므로 조정된 확률의 합계는 1이 아닙니다.

시퀀스 노드 항상 0입니다.

전환 노드 항상 0입니다.

MARGINAL_PROBABILITY
모델 루트 항상 0입니다.

클러스터 노드 NODE_PROBABILITY와 동일한 값입니다.

시퀀스 노드 항상 0입니다.

전환 노드 항상 0입니다.

NODE_DISTRIBUTION
확률 및 기타 정보를 포함하는 테이블입니다. 자세한 내용은 NODE_DISTRIBUTION 테이블을 참조하세요.

NODE_SUPPORT
이 노드를 지원하는 전환의 수입니다. 따라서 학습 데이터에 "제품 A 다음에 제품 B"와 같은 시퀀스의 예가 30개 있는 경우 총 지지도는 30입니다.

모델 루트 모델에 있는 총 전환 수입니다.

클러스터 노드 클러스터에 대한 원시 지지도로서, 이 클러스터에 사례를 제공하는 학습 사례의 수를 의미합니다.

시퀀스 노드 항상 0입니다.

전환 노드 클러스터에서 특정 전환을 나타내는 사례의 백분율로서, 0이나 양수 값일 수 있습니다. 이 값은 클러스터 노드에 대한 원시 지지도에 클러스터의 확률을 곱하여 계산됩니다.

이 값을 통해 전환에 제공되는 학습 사례 수를 알 수 있습니다.

MSOLAP_MODEL_COLUMN
해당 사항 없음

MSOLAP_NODE_SCORE
해당 사항 없음

MSOLAP_NODE_SHORT_CAPTION
NODE_DESCRIPTION과 같습니다.

시퀀스, 상태 및 전환 이해

시퀀스 클러스터링 모델에는 클러스터 및 상태 전환이라는 매우 다른 두 종류의 정보가 있는 두 가지 개체를 결합하는 고유한 구조가 있습니다.

시퀀스 클러스터링을 통해 만들어진 클러스터는 Microsoft 클러스터링 알고리즘으로 만들어진 클러스터와 비슷합니다. 각 클러스터에는 프로필과 특성이 있습니다. 그러나 시퀀스 클러스터링에서 각 클러스터에는 해당 클러스터의 시퀀스가 나열되는 단일 자식 노드가 추가로 포함됩니다. 각 시퀀스 노드에는 상태 전환을 확률과 함께 자세히 설명하는 여러 개의 자식 노드가 포함됩니다.

시퀀스는 서로 연결될 수 있으므로 이 모델에는 거의 항상 단일 사례에서 찾을 수 있는 것보다 많은 시퀀스가 있습니다. Microsoft Analysis Services에서는 사용자가 각 전환이 발생한 횟수를 계산할 수 있도록 한 상태에서 다른 상태로의 포인터를 저장합니다. 시퀀스가 발생한 횟수에 대한 정보를 찾고 관찰된 상태 집합 전체와 비교하여 발생 확률을 측정할 수도 있습니다.

다음 표에는 정보가 모델에 저장되는 방식과 노드 간의 관계가 요약되어 있습니다.

노드 자식 노드 NODE_DISTRIBUTION 테이블
모델 루트 여러 개의 클러스터 노드

전체 모델의 시퀀스가 있는 노드
모델의 모든 제품을 지지도 및 확률과 함께 나열합니다.

클러스터링 메서드는 여러 클러스터의 부분 멤버 자격을 허용하므로 지지도 및 확률에 소수 값이 있을 수 있습니다. 즉, 단일 사례를 한 번 계산하는 대신 각 사례가 여러 개의 클러스터에 속할 수 있습니다. 따라서 최종 클러스터 멤버가 결정되면 값은 해당 클러스터의 확률에 의해 조정됩니다.
모델의 시퀀스 노드 여러 개의 전환 노드 모델의 모든 제품을 지지도 및 확률과 함께 나열합니다.

모델에 대한 시퀀스 수는 알려져 있으므로 이 수준에서 지지도 및 확률에 대한 계산은 아주 간단합니다.



지지도 = 사례 수

확률 = 모델의 각 시퀀스에 대한 원시 확률. 모든 확률의 합계는 1입니다.
개별 클러스터 노드 해당 클러스터의 시퀀스만 있는 노드 클러스터의 모든 제품을 나열하지만 클러스터의 특성인 제품에 대한 지지도 및 확률 값만 제공합니다.

지지도는 이 클러스터의 각 사례에 대해 조정된 지지도 값을 나타냅니다. 확률 값은 조정된 확률입니다.
개별 클러스터의 시퀀스 노드 해당 클러스터의 시퀀스에 대한 전환만 있는 여러 개의 노드 개별 클러스터 노드에서와 정확히 동일한 정보입니다.
전환 자식 없음 첫 번째 관련 상태의 전환을 나열합니다.

지지도는 각 전환에 관여하는 사례를 나타내는 조정된 지지도 값입니다. 확률은 조정된 확률로서, 백분율로 표시됩니다.

NODE_DISTRIBUTION 테이블

NODE_DISTRIBUTION 테이블은 특정 클러스터의 전환 및 시퀀스에 대한 자세한 확률 및 지지도 정보를 제공합니다.

행은 항상 전환 테이블에 추가되어 가능한 Missing 값을 나타냅니다. 누락 값의 의미와 계산에 미치는 영향에 대한 자세한 내용은 누락된 값(Analysis Services - 데이터 마이닝)을 참조하세요.

지지도 및 확률에 대한 계산은 해당 계산이 학습 사례에 적용되는지 완성된 모델에 적용되는지에 따라 달라집니다. 이는 기본 클러스터링 메서드인 EM(Expectation Maximization)이 모든 사례가 둘 이상의 클러스터에 속할 수 있다고 가정하기 때문입니다. 모델의 사례에 대한 지지도를 계산할 때 원시 개수와 원시 확률을 사용할 수 있습니다. 그러나 클러스터의 특정 시퀀스에 대한 확률은 가능한 모든 시퀀스 및 클러스터 조합에 의해 가중됩니다.

카디널리티

클러스터링 모델에서 부모 노드의 카디널리티는 일반적으로 해당 모델에 있는 클러스터의 수를 알려 줍니다. 그러나 시퀀스 클러스터링 모델의 클러스터 수준에는 두 종류의 노드가 있습니다. 한 종류의 노드에는 클러스터가 포함되고 다른 종류의 노드에는 모델의 전체 시퀀스 목록이 포함됩니다.

따라서 모델의 클러스터 수를 확인하려면 (All) 노드의 NODE_CARDINALITY 값에서 1을 빼면 됩니다. 예를 들어 모델에서 9개의 클러스터를 만든 경우 모델 루트의 카디널리티는 10입니다. 이는 모델에 자체 시퀀스 노드를 각기 포함하는 9개의 클러스터 노드와 모델의 시퀀스를 나타내며 클러스터 10이라는 레이블이 지정된 1개의 추가 시퀀스 노드가 들어 있기 때문입니다.

구조 연습

예를 통해 정보가 저장되는 방식과 이를 해석하는 방법을 분명하게 이해할 수 있습니다. 예를 들어 다음 쿼리를 사용하여 기본 AdventureWorksDW2012 데이터에서 관찰된 가장 긴 체인을 의미하는 가장 큰 순서를 찾을 수 있습니다.

USE AdventureWorksDW2012  
SELECT DISTINCT OrderNumber, Count(*)  
FROM vAssocSeqLineItems  
GROUP BY OrderNumber  
ORDER BY Count(*) DESC  

이 결과에서 주문 번호 'SO72656', 'SO58845' 및 'SO70714'에는 각각 8개의 항목이 있는 최대 시퀀스가 포함되어 있습니다. 주문 ID를 사용하면 특정 주문의 세부 정보를 표시하여 어떤 주문에서 어떤 항목이 구매되었는지를 확인할 수 있습니다.

OrderNumber LineNumber 모델
SO58845 1 Mountain-500
SO58845 2 LL Mountain Tire
SO58845 3 Mountain Tire Tube
SO58845 4 Fender Set - Mountain
SO58845 5 Mountain Bottle Cage
SO58845 6 Water Bottle
SO58845 7 Sport-100
SO58845 8 Long-Sleeve Logo Jersey

그러나 Mountain-500을 구매하는 일부 고객이 다른 제품을 구매할 수도 있습니다. 모델의 시퀀스 목록을 보면 Mountain-500 다음의 모든 제품을 볼 수 있습니다. 다음 절차에서는 SQL Server Analysis Services 제공된 두 뷰어를 사용하여 이러한 시퀀스를 보는 방법을 안내합니다.

  1. 개체 탐색기에서 [시퀀스 클러스터링] 모델을 마우스 오른쪽 단추로 클릭하고 찾아보기를 선택합니다.

  2. 시퀀스 클러스터링 뷰어에서 상태 전환 탭을 클릭합니다.

  3. 클러스터 드롭다운 목록에서 채우기(모두) 가 선택되어 있는지 확인합니다.

  4. 창 왼쪽의 슬라이더 막대를 맨 위로 이동하여 모든 링크를 표시합니다.

  5. 다이어그램에서 Mountain-500을 찾고 다이어그램의 해당 노드를 클릭합니다.

  6. 강조 표시된 선은 다음 상태(Mountain-500 다음에 구매한 제품)를 가리키고 숫자는 확률을 나타냅니다. 이 결과를 일반 모델 콘텐츠 뷰어에서의 결과와 비교해 보십시오.

  1. 개체 탐색기에서 [시퀀스 클러스터링] 모델을 마우스 오른쪽 단추로 클릭하고 찾아보기를 선택합니다.

  2. 뷰어 드롭다운 목록에서 Microsoft 일반 콘텐츠 트리 뷰어를 선택합니다.

  3. 노드 캡션 창에서 클러스터에 대한 시퀀스 수준 16노드를 클릭합니다.

  4. 노드 자세히 보기 창에서 NODE_DISTRIBUTION 행을 찾아 중첩 테이블의 아무 곳이나 클릭합니다.

    첫 행은 항상 누락된 값에 대한 행입니다. 이 행은 시퀀스 상태 0입니다.

  5. Mountain-500 행이 표시될 때까지 아래쪽 화살표 키를 누르거나 스크롤 막대를 사용하여 중첩 테이블의 아래로 이동합니다.

    이 행은 시퀀스 상태 20입니다.

    참고

    프로그래밍 방식으로 특정 시퀀스 상태의 행 번호를 가져올 수 있지만 단지 찾아보기만 하려는 경우에는 중첩 테이블을 Excel 통합 문서에 복사하는 방법이 더 쉽습니다.

  6. 노드 캡션 창으로 돌아가고 클러스터에 대한 시퀀스 수준 16노드가 아직 확장되어 있지 않으면 확장합니다.

  7. 자식 노드 중에서 시퀀스 상태에 대한 전환 행 20을 찾고, 이 전환 노드를 클릭합니다.

  8. NODE_DISTRIBUTION 중첩 테이블에는 다음 제품 및 확률이 들어 있습니다. 이 결과를 시퀀스 클러스터링 뷰어의 상태 전환 탭에 표시되는 결과와 비교해 보십시오.

다음 표에서는 NODE_DISTRIBUTION 테이블에서 얻은 결과와 그래픽 뷰어에 표시되는 반올림된 확률 값을 보여 줍니다.

제품 지지도(NODE_DISTRIBUTION 테이블) 확률(NODE_DISTRIBUTION 테이블) 확률(그래프)
Missing 48.447887 0.138028169 (표시되지 않음)
Cycling Cap 10.876056 0.030985915 0.03
Fender Set - Mountain 80.087324 0.228169014 0.23
Half-Finger Gloves 0.9887324 0.002816901 0.00
Hydration Pack 0.9887324 0.002816901 0.00
LL Mountain Tire 51.414085 0.146478873 0.15
Long-Sleeve Logo Jersey 2.9661972 0.008450704 0.01
Mountain Bottle Cage 87.997183 0.250704225 0.25
Mountain Tire Tube 16.808451 0.047887324 0.05
Short-Sleeve Classic Jersey 10.876056 0.030985915 0.03
Sport-100 20.76338 0.05915493 0.06
Water Bottle 18.785915 0.053521127 0.25

학습 데이터에서 처음에 선택한 사례에는 'Mountain-500' 제품과 'LL Mountain Tire' 제품이 차례로 포함되어 있지만 가능한 다른 시퀀스가 여러 개 있다는 것을 알 수 있습니다. 특정 클러스터에 대한 세부 정보를 찾으려면 클러스터의 시퀀스 목록에서 각 상태 또는 제품의 실제 전환으로 드릴다운하는 과정을 반복해야 합니다.

하나의 특정 클러스터에 나열된 시퀀스에서 전환 행으로 이동할 수 있습니다. 그런 다음 해당 전환 행에서 다음 제품을 확인하고 다시 시퀀스 목록의 해당 제품으로 다시 이동할 수 있습니다. 각각의 첫째 및 둘째 상태에 대해 이 과정을 반복하여 긴 상태 체인을 확인할 수 있습니다.

시퀀스 정보 사용

시퀀스 클러스터링의 일반적인 시나리오는 웹 사이트에서의 사용자 클릭을 추적하는 것입니다. 예를 들어 Adventure Works 전자 상거래 웹 사이트의 고객 구매 레코드에서 데이터를 가져온 경우 결과 시퀀스 클러스터링 모델을 사용하여 사용자 동작을 유추하거나, 탐색 문제를 해결하기 위해 전자 상거래 사이트를 다시 디자인하거나, 판매를 촉진할 수 있습니다.

예를 들어 분석을 통해 사용자가 인구 통계에 관계없이 항상 특정 제품 체인을 따른다는 것을 확인할 수 있습니다. 또한 사용자가 특정 제품을 클릭한 후 해당 사이트를 나가는 경우가 많다는 것을 확인할 수도 있습니다. 이 결과를 통해 사용자가 해당 웹 사이트에 머물도록 하려면 사용자에게 어떤 추가 경로를 제공하면 좋을지를 확인할 수 있습니다.

사용자를 분류하는 데 사용할 추가 정보가 없는 경우에는 시퀀스 정보를 사용하여 전반적인 동작을 보다 잘 이해할 수 있도록 탐색에 대한 데이터를 수집하면 됩니다. 그러나 고객에 대한 정보를 수집하고 해당 정보를 고객 데이터베이스와 일치시킬 수 있으면 클러스터링 기능과 시퀀스에 대한 예측을 함께 사용하여 현재 페이지에 대한 탐색 경로를 기반으로 사용자에게 맞게 조정된 권장 사항을 제공할 수 있습니다.

시퀀스 클러스터링 모델에서 컴파일하는 광범위한 상태 및 전환 정보를 사용하여 전혀 사용되지 않는 경로를 확인할 수도 있습니다. 예를 들어 여러 방문자가 1-4페이지만 방문하고 계속해서 5페이지를 방문하지는 않는 경우 5페이지를 탐색할 수 없는 문제가 있는지 조사할 수 있습니다. 모델 콘텐츠를 쿼리하고 해당 결과를 가능한 경로 목록과 비교하여 이 작업을 수행할 수 있습니다. 웹 사이트의 모든 탐색 경로를 보여 주는 그래프는 프로그래밍 방식으로 만들거나 다양한 사이트 분석 도구를 사용하여 만들 수 있습니다.

모델 콘텐츠를 쿼리하여 관찰된 경로 목록을 가져오는 방법이나 시퀀스 클러스터링 모델에 대한 다른 쿼리 예를 보려면 시퀀스 클러스터링 모델 쿼리 예제를 참조하세요.

참고 항목

마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)
Microsoft 시퀀스 클러스터링 알고리즘
시퀀스 클러스터링 모델 쿼리 예제