마이닝 모델의 중첩 테이블 필터링(중급 데이터 마이닝 자습서)

모델을 만들고 탐색한 후 고객 데이터의 하위 집합에 초점을 맞추기로 결정합니다. 예를 들어 특정 항목을 포함하는 바구니만 분석하거나 특정 기간 동안 아무 것도 구매하지 않은 고객에 대한 인구 통계를 분석할 수 있습니다.

 Analysis Services에서는 마이닝 모델에 사용되는 데이터를 필터링하는 기능을 제공합니다. 이 기능은 다른 데이터를 사용하기 위해 새로운 데이터 원본 뷰를 설정할 필요가 없기 때문에 유용합니다. 기본 데이터 마이닝 자습서에서는 사례 테이블에 조건을 적용하여 플랫 테이블의 데이터를 필터링하는 방법을 배웠습니다. 이 태스크에서는 중첩 테이블에 적용되는 필터를 만듭니다.

중첩 테이블 및사례 테이블에 대한 필터

Association 모델에 사용되는 데이터 원본 뷰와 같이 데이터 원본 뷰에 사례 테이블 및 중첩 테이블이 포함되어 있는 경우 사례 테이블의 값, 중첩 테이블에서의 값 존재 여부 또는 이 둘을 조합한 조건을 기준으로 필터링할 수 있습니다.

이 태스크에서는 먼저 Association 모델의 복사본을 만든 다음 사례 테이블에서 IncomeGroup 및 Region 특성을 기준으로 필터링할 수 있도록 해당 특성을 새 관련 모델에 추가합니다.

Association 모델의 복사본을 만들고 수정하려면

  1. SQL Server Data Tools(SSDT)의 마이닝 모델 탭에서 Association 모델을 마우스 오른쪽 단추로 클릭하고 새 마이닝 모델을 선택합니다.

  2. 모델 이름에 Association Filtered를 입력합니다. 알고리즘 이름에 대해 Microsoft 연결 규칙을 선택합니다. 확인을 클릭합니다.

  3. Association Filtered 모델 열에서 IncomeGroup 행을 클릭하고 값을 무시에서 입력으로 변경합니다.

다음으로 새 연결 모델의 사례 테이블에 대한 필터를 만듭니다. 모델에서 대상 지역에 있거나 대상 소득 수준을 가진 고객만 필터를 통과하게 됩니다. 그런 다음 두 번째 필터 조건 집합을 추가하여 시장 바구니에 하나 이상의 항목이 포함된 고객만 모델에 사용되도록 지정합니다.

마이닝 모델에 필터를 추가하려면

  1. 마이닝 모델 탭에서 Association Filtered 모델을 마우스 오른쪽 단추로 클릭하고 모델 필터 설정을 선택합니다.

  2. 모델 필터 대화 상자의 마이닝 구조 열 입력란에서 표의 첫 행을 클릭합니다.

  3. 마이닝 구조 열 입력란에서 IncomeGroup을 선택합니다.

    입력란 왼쪽에 있는 아이콘이 변경되어 선택한 항목이 열임을 나타냅니다.

  4. 연산자 입력란을 클릭하고 목록에서 = 연산자를 선택합니다.

  5. 입력란을 클릭하고 상자에 High를 입력합니다.

  6. 표에서 다음 행을 클릭합니다.

  7. 표의 다음 행에서 및/또는 입력란을 클릭하고 OR을 선택합니다.

  8. 마이닝 구조 열 입력란에서 IncomeGroup을 선택합니다. 입력란에 Moderate을 입력합니다.

    만든 필터 조건이 입력란에 자동으로 추가되고 다음과 같이 나타납니다.

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate'

  9. 연산자에 대해 기본값인 AND를 그대로 두고 표에서 다음 행을 클릭합니다.

  10. 연산자에 대해 기본값인 포함을 그대로 둡니다. 입력란을 클릭합니다.

  11. 필터 대화 상자의 마이닝 구조 열 아래 첫 번째 행에서 Model을 선택합니다.

  12. 연산자에 대해 IS NOT NULL을 선택합니다. 입력란을 비워 둡니다. 확인을 클릭합니다.

    모델 필터 대화 상자의 입력란에서 필터 조건이 자동으로 업데이트되어 중첩 테이블에 대한 새 조건이 포함됩니다. 전체 식은 다음과 같습니다.

    [IncomeGroup] = 'High' OR [IncomeGroup] = 'Moderate' AND EXISTS SELECT * FROM [vAssocSeqLineItems] WHERE [Model] <> NULL).

  13. 확인을 클릭합니다.  

드릴스루를 사용하고 필터링된 모델을 처리하려면

  1. 마이닝 모델 탭에서 Association Filtered 모델을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. AllowDrillThrough 속성을 True로 변경합니다.

  3. Association Filtered 마이닝 모델을 마우스 오른쪽 단추로 클릭하고 모델 처리를 선택합니다.

  4. 오류 메시지에서 를 클릭하여 새 모델을 Analysis Services 데이터베이스에 배포합니다.

  5. 마이닝 구조 처리 대화 상자에서 실행을 클릭합니다.

  6. 처리가 완료되면 닫기를 클릭하여 처리 진행률 대화 상자를 종료하고 닫기를 다시 클릭하여 마이닝 구조 처리 대화 상자를 종료합니다.

Microsoft 일반 콘텐츠 트리 뷰어를 사용하여 NODE_SUPPORT에 대한 값을 확인함으로써 필터링된 모델에 원래 모델보다 적은 사례가 포함되어 있음을 확인할 수 있습니다.

주의

방금 만든 중첩 테이블 필터는 중첩 테이블에 하나 이상의 행이 있는지 여부만 확인하지만 특정 제품이 있는지 여부를 확인하는 필터 조건을 만들 수도 있습니다. 예를 들어 다음과 같은 필터를 만들 수 있습니다.

 [IncomeGroup] = 'High' AND
  EXISTS (SELECT * FROM [<nested table name>] WHERE [Model] = 'Water Bottle' ) 

이 문은 사례 테이블의 고객을 물병을 구매한 고객으로만 제한함을 의미합니다. 그러나 중첩 테이블 특성의 수는 잠재적으로 제한이 없기 때문에 Analysis Services는 선택 가능한 값 목록을 제공하지 않습니다. 대신 정확한 값을 입력해야 합니다.

쿼리 편집을 클릭하여 필터 식을 수동으로 변경할 수 있습니다. 그러나 필터 식의 임의 부분을 수동으로 변경하면 표가 비활성화되어 텍스트 편집 모드에서만 필터 식 작업을 수행할 수 있습니다. 표 편집 모드를 복원하려면 해당 필터 식을 지우고 다시 시작해야 합니다.

주의 사항주의

중첩 테이블 필터에는 LIKE 연산자를 사용할 수 없습니다.

단원의 다음 태스크

연결 예측(중급 데이터 마이닝 자습서)

참고 항목

개념

모델 필터 구문 및 예(Analysis Services - 데이터 마이닝)

마이닝 모델에 대한 필터(Analysis Services - 데이터 마이닝)