다음을 통해 공유


시퀀스 클러스터링 모델에서 예측 만들기(중간 데이터 마이닝 자습서)

뷰어에서 검색하여 시퀀스 클러스터링 모델을 더 잘 이해한 후에는 데이터 마이닝 디자이너의 마이닝 모델 예측 탭에서 예측 쿼리 작성기를 사용하여 예측 쿼리를 만들 수 있습니다. 예측을 만들려면 먼저 시퀀스 클러스터링 모델을 선택한 다음 입력 데이터를 선택합니다. 입력의 경우 외부 데이터 원본을 사용하거나 단일 쿼리를 빌드하고 대화 상자에 값을 제공할 수 있습니다.

이 단원에서는 예측 쿼리 작성기를 사용하는 방법을 이미 잘 알고 있으며 시퀀스 클러스터링 모델과 관련된 쿼리를 빌드하는 방법을 알아보려고 합니다. 예측 쿼리 작성기를 사용하는 방법에 대한 일반적인 내용은 데이터 마이닝 쿼리 인터페이스 또는 기본 데이터 마 이닝 자습서인 예측 만들기(기본 데이터 마이닝 자습서)의 섹션을 참조하세요.

지역 모델에 대한 예측 만들기

이 시나리오에서는 먼저 일부 단일 예측 쿼리를 만들어 지역별로 예측이 어떻게 다를 수 있는지 파악합니다.

시퀀스 클러스터링 모델에서 싱글톤 쿼리를 만들려면

  1. 데이터 마이닝 디자이너의 마이닝 모델 예측 탭을 클릭합니다.

  2. 마이닝 모델 열 메뉴에서 단일 쿼리를 선택합니다.

    마이닝 모델 창과 싱글톤 쿼리 입력 창이 나타납니다.

  3. 마이닝 모델 창에서 모델 선택을 클릭합니다. (시퀀스 클러스터링 모드가 이미 선택된 경우 이 단계를 건너뛸 수 있습니다.)

    마이닝 모델 선택 대화 상자가 열립니다.

  4. 영역을 사용하여 마이닝 구조 시퀀스 클러스터링을 나타내는 노드를 확장하고 지역을 사용한 모델 시퀀스 클러스터링을 선택합니다. OK를 클릭합니다. 지금은 입력 창을 무시합니다. 예측 함수를 설정한 후 입력을 지정합니다.

  5. 표에서 원본 아래의 빈 셀을 클릭하고 예측 함수 를 선택합니다. 필드 아래의 셀에서 PredictSequence를 선택합니다.

    비고

    Predict 함수를 사용할 수도 있습니다. 이 경우 테이블 열을 인수로 사용하는 Predict 함수의 버전을 선택해야 합니다.

  6. 마이닝 모델 창에서 중첩 테이블을 v Assoc Seq Line Items선택하고 눈금으로 끌어 PredictSequence 함수의 조건/인수 상자로 끕니다.

    테이블 및 열 이름을 끌어서 놓으면 구문 오류 없이 복잡한 문을 작성할 수 있습니다. 그러나 PredictSequence 함수에 대한 다른 선택적 인수를 포함하는 셀의 현재 내용을 대체합니다. 다른 인수를 보려면 참조를 위해 함수의 두 번째 인스턴스를 그리드에 일시적으로 추가할 수 있습니다.

  7. 예측 쿼리 작성기의 위쪽 모서리에 있는 결과 단추를 클릭합니다.

예상 결과에는 이라는 제목이 있는 단일 열이 포함됩니다. 열에는 다음과 같이 세 개의 열이 있는 중첩 테이블이 포함되어 있습니다.

$SEQUENCE 줄 번호 모델
1 Mountain-200

이러한 결과는 무엇을 의미합니까? 입력을 지정하지 않았다는 점을 기억하세요. 따라서 전체 사례 모집단에 대해 예측이 이루어지며 Analysis Services는 전체적으로 가장 가능성이 큰 예측을 반환합니다.

단일 예측 쿼리에 입력 추가

지금까지 입력을 지정하지 않았습니다. 다음 작업에서는 단일 쿼리 입력 창을 사용하여 쿼리에 대한 일부 입력을 지정합니다. 먼저 [Region]을 지역 시퀀스 클러스터링 모델에 대한 입력으로 사용하여 예측 시퀀스가 모든 지역에 대해 동일한지 여부를 확인합니다. 그런 다음 쿼리를 수정하여 각 예측에 대한 확률을 추가하고 결과를 평면화하여 더 쉽게 볼 수 있도록 하는 방법을 알아봅니다.

특정 고객 그룹에 대한 예측을 생성하려면
  1. 예측 쿼리 작성기의 왼쪽 위 모서리에 있는 디자인 단추를 클릭하여 쿼리 작성 그리드로 다시 전환합니다.

  2. 단일 쿼리 입력 대화 상자에서 상자를 Region클릭하고 유럽을 선택합니다.

  3. 결과 단추를 클릭하여 유럽의 고객에 대한 예측을 봅니다.

  4. 예측 쿼리 작성기의 왼쪽 위 모서리에 있는 디자인 단추를 클릭하여 쿼리 작성 그리드로 다시 전환합니다.

  5. 단일 쿼리 입력 대화 상자에서 상자를 Region클릭하고 북미를 선택합니다.

  6. 결과 단추를 클릭하여 북미 지역의 고객에 대한 예측을 봅니다.

사용자 지정 식을 사용하여 확률 추가

확률은 예측의 특성이며 중첩 테이블로 출력되기 때문에 각 예측에 대한 확률을 출력하는 것이 약간 더 복잡합니다. DMX(데이터 마이닝 확장)에 익숙한 경우 쿼리를 쉽게 변경하여 중첩된 테이블에 하위 select 문을 추가할 수 있습니다. 그러나 사용자 지정 식을 추가하여 예측 쿼리 작성기에서 하위 선택 문을 만들 수도 있습니다.

사용자 지정 식을 사용하여 예측 시퀀스에 대한 확률을 출력하려면
  1. 예측 쿼리 작성기의 왼쪽 위 모서리에 있는 디자인 단추를 클릭하여 쿼리 작성 그리드로 다시 전환합니다.

  2. 표의 원본에서 새 행을 클릭하고 사용자 지정 식을 선택합니다.

  3. 필드 아래에 상자를 비워 둡니다.

  4. 별칭t을 입력합니다.

  5. 다음 코드 샘플과 같이 조건/인수 상자에 전체 하위 선택 문을 입력합니다. 시작 및 끝 괄호를 포함해야 합니다.

    (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))  
    
  6. 결과 단추를 클릭하여 유럽의 고객에 대한 예측을 봅니다.

이제 결과에는 예측이 있는 테이블과 예측 확률이 있는 중첩 테이블이 두 개 포함됩니다. 쿼리가 작동하지 않는 경우 쿼리 디자인 뷰로 전환하고 다음과 같이 전체 쿼리 문을 검토할 수 있습니다.

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 추가할 수 있습니다.

예측 쿼리에서 중첩된 행 집합을 평면화하려면
  1. 예측 쿼리 작성기 모서리에 있는 쿼리 단추를 클릭합니다.

    표가 열려 있는 창으로 변경되어 예측 쿼리 작성기에서 만든 DMX 문을 보고 수정할 수 있습니다.

  2. 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  
    
  3. 예측 쿼리 작성기의 위쪽 모서리에 있는 결과 단추를 클릭합니다.

쿼리를 수동으로 편집한 후에는 변경 내용이 손실되지 않고 디자인 보기로 다시 전환할 수 없습니다. 그러나 수동으로 만든 DMX 문을 텍스트 파일에 저장한 다음 디자인 보기로 다시 변경할 수 있습니다. 이렇게 하면 쿼리가 디자인 보기에서 유효한 마지막 버전으로 되돌아갑니다.

이전 예제에서는 모델이 지역 간에 차이를 찾았는지 여부를 알고 싶어서 사례 테이블 열인 Region을 단일 예측 쿼리의 입력으로 사용했습니다. 그러나 모델을 탐색한 후 차이점이 지역별 제품 권장 사항을 사용자 지정하는 것을 정당화할 만큼 강력하지 않다고 판단했습니다. 예측에 정말 관심이 있는 것은 고객이 선택하는 항목입니다. 따라서 다음 쿼리에서는 지역을 포함하지 않는 시퀀스 클러스터링 모델을 사용하여 모든 고객에 대한 권장 사항을 생성합니다.

중첩 테이블 열을 입력으로 사용

먼저 단일 항목을 입력으로 사용하고 다음으로 가능성이 가장 큰 항목을 반환하는 단일 예측 쿼리를 만듭니다. 이러한 종류의 예측을 얻으려면 중첩 테이블 열을 입력 값으로 사용해야 합니다. 예측하는 특성인 Model이 중첩 테이블의 일부이기 때문입니다. Analysis Services는 예측 쿼리 작성기를 사용하여 중첩 테이블 특성에 대한 예측 쿼리를 쉽게 만들 수 있도록 중첩 테이블 입력 대화 상자를 제공합니다.

중첩 테이블을 예측에 대한 입력으로 사용하려면
  1. 예측 쿼리 작성기의 왼쪽 위 모서리에 있는 디자인 단추를 클릭하여 쿼리 작성 그리드로 다시 전환합니다.

  2. 단일 쿼리 입력 대화 상자에서 상자를 Region클릭하고 빈 행을 선택하여 이 필드에 대한 입력을 지웁다.

  3. 단일 쿼리 입력 대화 상자에서 상자를 vAssocSeqLineItems클릭한 다음 (...) 단추를 클릭합니다.

  4. 중첩 테이블 입력 대화 상자에서 추가를 클릭합니다.

  5. 새 행의 아래 Model상자를 클릭하고 목록에서 Touring Tire를 선택합니다. OK를 클릭합니다.

  6. 결과 단추를 클릭하여 예측을 봅니다.

모델은 투어링 타이어를 첫 번째 항목으로 선택하는 모든 고객에게 다음 항목을 권장합니다. 모델을 살펴보면 고객들이 Touring Tire와 Touring Tire Tube를 자주 함께 구매한다는 것을 이미 알고 있으므로 이러한 권장 사항이 좋아 보입니다.

$SEQUENCE 줄 번호 모델
1 투어링 타이어 튜브
2 스포츠-100
3 Long-Sleeve 로고 저지

중첩 테이블 입력을 사용하여 대량 예측 쿼리 만들기

이제 모델이 권장 사항을 만드는 데 사용할 수 있는 예측 종류를 만드는 것에 만족했으므로 외부 데이터 원본에 매핑되는 예측 쿼리를 만듭니다. 해당 데이터 원본은 현재 제품을 나타내는 값을 제공합니다. 고객 ID와 제품 목록을 입력으로 제공하는 예측 쿼리를 만드는 데 관심이 있으므로 고객 테이블을 사례 테이블로 추가하고 구매 테이블을 중첩 테이블로 추가합니다. 그런 다음 이전에 했던 것처럼 예측 함수를 추가하여 권장 사항을 만듭니다.

이는 3단원에서 시장 바구니 시나리오에 대한 예측을 만드는 데 사용하는 것과 동일한 절차입니다. 그러나 시퀀스 클러스터링 모델 예측에서도 순서를 입력으로 사용해야 합니다.

중첩 테이블 입력을 사용하여 예측 쿼리를 만들려면
  1. 마이닝 모델 창에서 시퀀스 클러스터링 모델을 선택하지 않은 경우 선택합니다.

  2. 입력 테이블 선택 대화 상자에서 사례 테이블 선택을 클릭합니다.

  3. 테이블 선택 대화 상자의 데이터 원본에 대해 주문을 선택합니다. 테이블/보기 이름 목록에서 vAssocSeqOrders를 선택한 다음 확인을 클릭합니다.

  4. 입력 테이블 선택 대화 상자에서 중첩 테이블 선택을 클릭합니다.

  5. 테이블 선택 대화 상자의 데이터 원본에 대해 주문을 선택합니다. 테이블/보기 이름 목록에서 vAssocSeqLineItems를 선택한 다음 확인을 클릭합니다.

    Analysis Services는 데이터 형식이 일치하고 열 이름이 유사한 경우 관계를 검색하고 자동으로 만듭니다. 만든 관계가 잘못된 경우 조인 선을 마우스 오른쪽 단추로 클릭하고 연결 수정 을 선택하여 열 매핑을 편집하거나 조인 선을 마우스 오른쪽 단추로 클릭하고 삭제 를 선택하여 관계를 완전히 제거할 수 있습니다. 이 경우 테이블이 데이터 원본 뷰에 이미 조인되어 있으므로 해당 관계가 디자인 창에 자동으로 추가됩니다.

  6. 표에 새 행을 추가합니다. 원본의 경우 vAssocSeqOrders를 선택하고 필드에 대해 CustomerKey를 선택합니다.

  7. 표에 새 행을 추가합니다. 원본의 경우 예측 함수를 선택하고 필드에 대해 PredictSequence를 선택합니다.

  8. vAssocSeqLineItems를 조건/인수 상자로 끕니다. 조건/인수 상자의 끝을 클릭한 다음 다음 인수2를 입력합니다.

    조건/인수 상자의 전체 텍스트는 다음과 같습니다.[Sequence Clustering].[v Assoc Seq Line Items],2

  9. 결과 단추를 클릭하여 각 고객에 대한 예측을 봅니다.

시퀀스 클러스터링 모델에 대한 자습서를 완료했습니다.

다음 단계

중간 데이터 마이닝 자습서(Analysis Services - 데이터 마이닝)의 모든 섹션을 완료한 경우 다음 단계는 DMX(데이터 마이닝 확장) 문을 사용하여 모델을 빌드하고 예측을 생성하는 방법을 배우는 것입니다. 자세한 내용은 DMX: 자습서(Analysis Services - 데이터 마이닝)를 사용하여 데이터 마이닝 모델 만들기 및 쿼리를 참조하세요.

프로그래밍 개념에 익숙한 경우 AMO(Analysis Management Objects)를 사용하여 프로그래밍 방식으로 데이터 마이닝 개체를 사용할 수도 있습니다. 자세한 내용은 AMO 데이터 마이닝 클래스를 참조하세요.

또한 참조하십시오

시퀀스 클러스터링 모델 쿼리 예제
시퀀스 클러스터링 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)