시퀀스 클러스터링 모델에서 예측 만들기(중급 데이터 마이닝 자습서)
뷰어에서 시퀀스 클러스터링 모델을 찾아 자세히 알아봤으면 데이터 마이닝 디자이너의 마이닝 모델 예측 탭에서 예측 쿼리 작성기를 사용하여 예측 쿼리를 만들 수 있습니다. 예측을 만들려면 먼저 시퀀스 클러스터링 모델을 선택한 다음 입력 데이터를 선택합니다. 입력의 경우 외부 데이터 원본을 사용하거나 단일 쿼리를 작성하고 대화 상자에 값을 제공할 수 있습니다.
이 단원에서는 사용자가 예측 쿼리 작성기를 사용하는 방법에 이미 익숙하고 시퀀스 클러스터링 모델과 관련된 쿼리를 작성하는 방법을 알아보려고 한다고 가정합니다. 예측 쿼리 작성기 사용 방법은 DMX 예측 쿼리 만들기 또는 기본 데이터 마이닝 자습서의 예측 만들기(기본 데이터 마이닝 자습서) 섹션을 참조하십시오.
지역 모델에서 예측 만들기
이 시나리오의 경우 지역별로 예측이 어떻게 다른지를 알아보기 위해 먼저 몇 가지 단일 예측 쿼리를 만듭니다.
시퀀스 클러스터링 모델에서 단일 쿼리를 만들려면
데이터 마이닝 디자이너의 마이닝 모델 예측 탭을 클릭합니다.
마이닝 모델 열 메뉴에서 단일 쿼리를 선택합니다.
마이닝 모델 창과 단일 쿼리 입력 창이 나타납니다.
마이닝 모델 창에서 모델 선택을 클릭합니다. 시퀀스 클러스터링 모드가 이미 선택되어 있는 경우 이 단계를 건너뛸 수 있습니다.
마이닝 모델 선택 대화 상자가 열립니다.
Sequence Clustering with Region 마이닝 구조를 나타내는 노드를 확장하고 Sequence Clustering with Region 모델을 선택합니다. 확인을 클릭합니다. 여기서는 입력 창을 무시하겠습니다. 예측 함수를 설정한 후 입력을 지정할 것입니다.
표에서 원본 아래의 빈 셀을 클릭하고 예측 함수를 선택합니다. 셀에서 필드 아래의 PredictSequence를 선택합니다.
[!참고]
PREDICT 함수를 사용할 수도 있습니다. 이 경우 테이블 열을 인수로 사용하는 PREDICT 함수 버전을 선택해야 합니다.
마이닝 모델 창에서 v Assoc Seq Line Items 중첩 테이블을 선택하고 이를 표에서 PredictSequence 함수에 대한 조건/인수 상자로 끕니다.
테이블 및 열 이름을 끌어서 놓으면 구문 오류 없이 복잡한 문을 작성할 수 있습니다. 그러나 이 경우 PredictSequence 함수에 대한 다른 선택적 인수를 포함하는 셀의 현재 내용을 대체합니다. 다른 인수를 보려면 참조를 위해 임시로 함수의 두 번째 인스턴스를 표에 추가합니다.
예측 쿼리 작성기의 위쪽 모퉁이에 있는 결과 단추를 클릭합니다.
예상 결과에 머리글이 식인 단일 열이 포함됩니다. 식 열에 다음과 같이 열이 세 개인 중첩 테이블이 포함됩니다.
$SEQUENCE |
Line Number |
Model |
---|---|---|
1 |
|
Mountain-200 |
이러한 결과의 의미는 무엇입니까? 어떤 입력도 지정하지 않았으므로 사례의 전체 모집단에 대한 예측이 수행되고 Analysis Services에서 가능성이 가장 높은 전체 예측을 반환합니다.
단일 예측 쿼리에 입력 추가
지금까지 어떤 입력도 지정하지 않았습니다. 다음 태스크에서는 단일 쿼리 입력 창을 사용하여 쿼리에 대한 일부 입력을 지정합니다. 먼저 [Region]을 지역별 시퀀스 클러스터링 모델에 대한 입력으로 사용하여 예측된 시퀀스가 모든 지역에 대해 동일한지 여부를 확인합니다. 그리고 나서 쿼리를 수정하여 각 예측에 대한 확률을 추가하고 결과를 보다 쉽게 볼 수 있도록 평면화하는 방법을 배웁니다.
특정 고객 그룹에 대한 예측을 생성하려면
예측 쿼리 작성기의 왼쪽 위 모퉁이에 있는 디자인 단추를 클릭하여 쿼리 작성 표로 다시 전환합니다.
단일 쿼리 입력 대화 상자에서 지역에 대한 값 상자를 클릭하고 Europe을 선택합니다.
결과 단추를 클릭하여 유럽 고객에 대한 예측을 봅니다.
예측 쿼리 작성기의 왼쪽 위 모퉁이에 있는 디자인 단추를 클릭하여 쿼리 작성 표로 다시 전환합니다.
단일 쿼리 입력 대화 상자에서 지역에 대한 값 상자를 클릭하고 North America를 선택합니다.
결과 단추를 클릭하여 북미 고객에 대한 예측을 봅니다.
사용자 지정 식을 사용하여 확률 추가
확률은 예측의 특성이며 중첩 테이블로 출력되기 때문에 각 예측에 대한 확률을 출력하는 작업은 다소 복잡합니다. DMX(Data Mining Extensions)에 익숙하면 중첩 테이블에 하위 SELECT 문을 추가하도록 쿼리를 쉽게 변경할 수 있습니다. 그러나 사용자 지정 식을 추가하여 예측 쿼리 작성기에서 하위 SELECT 문을 만들 수도 있습니다.
사용자 지정 식을 사용하여 예측된 시퀀스에 대한 확률을 출력하려면
예측 쿼리 작성기의 왼쪽 위 모퉁이에 있는 디자인 단추를 클릭하여 쿼리 작성 표로 다시 전환합니다.
표의 원본 아래에서 새 행을 클릭하고 사용자 지정 식을 선택합니다.
필드 아래의 상자를 빈 상태로 둡니다.
별칭에 대해 t를 입력합니다.
조건/인수 상자에서 다음 코드 예제에 나와 있는 전체 하위 SELECT 문을 입력합니다. 시작 괄호와 끝 괄호를 포함해야 합니다.
(SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))
결과 단추를 클릭하여 유럽 고객에 대한 예측을 봅니다.
이제 결과에 두 개의 중첩 테이블인 예측이 있는 테이블과 예측에 대한 확률이 있는 테이블이 포함됩니다. 쿼리가 작동하지 않는 경우 쿼리 디자인 뷰로 전환하고 다음과 같은 전체 쿼리 문을 검토할 수 있습니다.
SELECT
PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),
( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]
FROM
[Sequence Clustering with Region]
NATURAL PREDICTION JOIN
(SELECT 'Europe' AS [Region]) AS t
결과 작업
결과에 중첩 테이블이 많이 있는 경우 결과를 보다 쉽게 볼 수 있도록 평면화할 수 있습니다. 이렇게 하려면 수동으로 쿼리를 수정하고 FLATTENED 키워드를 추가합니다.
예측 쿼리에서 중첩 행 집합을 평면화하려면
예측 쿼리 작성기의 모퉁이에 있는 쿼리 단추를 클릭합니다.
표가 열린 창으로 변경됩니다. 이 창에서는 예측 쿼리 작성기에서 만든 DMX 문을 보고 수정할 수 있습니다.
SELECT 키워드 다음에 FLATTENED를 입력합니다.
쿼리의 전체 텍스트는 다음과 같은 형태가 됩니다.
SELECT FLATTENED PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]), ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t] FROM [Sequence Clustering with Region] NATURAL PREDICTION JOIN (SELECT 'Europe' AS [Region]) AS t
예측 쿼리 작성기의 위쪽 모퉁이에 있는 결과 단추를 클릭합니다.
쿼리를 수동으로 편집한 경우에는 변경 내용 손실 없이 디자인 뷰로 다시 전환할 수 없습니다. 그러나 수동으로 만든 DMX 문을 텍스트 파일로 저장한 다음 디자인 뷰로 다시 전환할 수 있습니다. 이렇게 하면 쿼리가 디자인 뷰에서 유효했던 마지막 버전으로 되돌려집니다.
관련 모델에서 예측 만들기
이전 예에서는 사용자가 모델에서 지역 간의 차이점을 발견했는지 여부를 알려고 했으므로 Region이라고 하는 사례 테이블 열을 단일 예측 쿼리에 대한 입력으로 사용했습니다. 그러나 모델을 탐색한 결과 차이점이 그리 크지 않아 지역별 제품 권장 사항의 사용자 지정을 정당화하기 어렵다고 판단했습니다. 실제로 예측하려고 하는 것은 고객이 선택하는 항목입니다. 따라서 다음 쿼리에서는 Region을 포함하지 않는 시퀀스 클러스터링 모델을 사용하여 모든 고객에 대한 권장 사항을 생성합니다.
중첩 테이블 열을 입력으로 사용
먼저 단일 항목을 입력으로 사용하고 다음으로 가능성이 가장 높은 항목을 반환하는 단일 예측 쿼리를 만듭니다. 이러한 종류의 예측을 가져오려면 중첩 테이블 열을 입력 값으로 사용해야 합니다. 이는 예측하는 특성인 Model이 중첩 테이블의 일부분이기 때문입니다. Analysis Services에서는 예측 쿼리 작성기를 사용하여 중첩 테이블 특성에 대한 예측 쿼리를 쉽게 만들 수 있는 중첩 테이블 입력 대화 상자를 제공합니다.
중첩 테이블을 예측에 대한 입력으로 사용하려면
예측 쿼리 작성기의 왼쪽 위 모퉁이에 있는 디자인 단추를 클릭하여 쿼리 작성 표로 다시 전환합니다.
단일 쿼리 입력 대화 상자에서 지역에 대한 값 상자를 클릭하고 빈 행을 선택하여 이 필드에 대한 입력을 지웁니다.
단일 쿼리 입력 대화 상자에서 vAssocSeqLineItems에 대한 값 상자를 클릭한 다음 ( ) 단추를 클릭합니다.
중첩 테이블 입력 대화 상자에서 추가를 클릭합니다.
새 행의 모델 아래에 있는 상자를 클릭하고 목록에서 Touring Tire를 선택합니다. 확인을 클릭합니다.
결과 단추를 클릭하여 예측을 봅니다.
모델은 Touring Tire를 첫 번째 항목으로 선택한 모든 고객에 대해 아래와 같이 다음 항목을 권장합니다. 모델을 탐색한 결과 고객이 Touring Tire 제품과 Touring Tire Tube 제품을 함께 구매하는 경우가 많음을 알게되었으므로 이러한 권장 사항은 적합한 것 같습니다.
$SEQUENCE |
Line Number |
Model |
---|---|---|
1 |
|
Touring Tire Tube |
2 |
|
Sport-100 |
3 |
|
Long-Sleeve Logo Jersey |
중첩 테이블 입력을 사용하여 대량 예측 쿼리 만들기
이제 권장 사항을 만들 때 사용할 수 있는 예측 종류를 모델에서 만들 수 있음을 확인했으므로 외부 데이터 원본에 매핑되는 예측 쿼리를 만듭니다. 해당 데이터 원본은 현재 제품을 나타내는 값을 제공합니다. 고객 ID 및 제품 목록을 입력으로 제공하는 예측 쿼리를 만들려고 하기 때문에 고객 테이블을 사례 테이블로 추가하고 구매 테이블은 중첩 테이블로 추가합니다. 그리고 나서 권장 사항을 만들기 위해 이전에 한 대로 예측 함수를 추가합니다.
이는 3단원에서 시장 바구니 시나리오에 대한 예측을 만드는 데 사용하는 절차와 동일하지만 시퀀스 클러스터링 모델에서는 예측도 주문을 입력해야 합니다.
중첩 테이블 입력을 사용하여 예측 쿼리를 만들려면
마이닝 모델 창에서 Sequence Clustering 모델이 선택되어 있지 않은 경우 해당 모델을 선택합니다.
입력 테이블 선택 대화 상자에서 사례 테이블 선택을 클릭합니다.
테이블 선택 대화 상자의 데이터 원본에 Orders를 선택합니다. 테이블/뷰 이름 목록에서 vAssocSeqOrders를 선택한 다음 확인을 클릭합니다.
입력 테이블 선택 대화 상자에서 중첩 테이블 선택을 클릭합니다.
테이블 선택 대화 상자의 데이터 원본에 Orders를 선택합니다. 테이블/뷰 이름 목록에서 vAssocSeqLineItems를 선택한 다음 확인을 클릭합니다.
Analysis Services에서는 데이터 형식이 일치하고 열 이름이 유사한 경우 자동으로 관계를 검색하고 만들려고 합니다. 만든 관계가 잘못된 경우 조인 선을 마우스 오른쪽 단추로 클릭하고 연결 수정을 선택하여 열 매핑을 편집하거나 조인 선을 마우스 오른쪽 단추로 클릭하고 삭제를 선택하여 관계를 완전히 제거할 수 있습니다. 이 경우 테이블 원본 뷰에 테이블이 이미 조인되어 있기 때문에 이러한 관계는 자동으로 디자인 창에 추가됩니다.
표에 새 행을 추가합니다. 원본에 대해 vAssocSeqOrders를 선택하고 필드에 대해 CustomerKey를 선택합니다.
표에 새 행을 추가합니다. 원본에 대해 예측 함수를 선택하고 필드에 대해 PredictSequence를 선택합니다.
vAssocSeqLineItems를 조건/인수 상자로 끕니다. 조건/인수 상자 끝에서 클릭한 다음 다음 인수를 입력합니다. 2.
조건/인수 상자의 전체 텍스트는 다음과 같아야 합니다. [Sequence Clustering].[v Assoc Seq Line Items],2
결과 단추를 클릭하여 각 고객에 대한 예측을 봅니다.
시퀀스 클러스터링 모델에 대한 자습서를 완료했습니다.
다음 단계
중급 데이터 마이닝 자습서(Analysis Services - 데이터 마이닝)의 모든 섹션을 완료한 경우 다음 단계는 DMX(Data Mining Extensions) 문을 사용하여 모델을 작성하고 예측을 생성하는 단계일 수 있습니다. 자세한 내용은 자습서: DMX 사용를 참조하십시오.
프로그래밍 개념에 익숙한 경우 AMO(Analysis Management Objects)를 사용하여 프로그래밍 방식으로 데이터 마이닝 개체를 사용할 수도 있습니다. 자세한 내용은 AMO 데이터 마이닝 클래스를 참조하십시오.