다음을 통해 공유


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

데이터 기반 모델 필터링을 사용하면 마이닝 구조에서 데이터의 하위 집합을 사용하는 마이닝 모델을 만들 수 있습니다. 포괄적인 데이터 원본 뷰를 기반으로 단일 마이닝 구조를 만들 수 있으므로 필터링을 사용하면 마이닝 구조 및 데이터 원본을 유연하게 디자인할 수 있습니다. 그런 다음 데이터의 각 하위 집합에 대해 서로 다른 구조 및 관련 모델을 작성하는 대신 다양한 모델의 학습 및 테스트에 해당 데이터의 일부만 사용하기 위한 필터를 만들 수 있습니다.

예를 들어 Customers 테이블 및 관련 테이블에 대한 데이터 원본 뷰를 정의합니다. 그런 다음 필요한 모든 필드를 포함하는 단일 마이닝 구조를 정의합니다. 마지막으로 Region과 같은 특정 고객 특성으로 필터링되는 모델을 만듭니다. 그러면 해당 모델의 복사본을 쉽게 만들고, 필터 조건만 변경하여 다른 지역을 기반으로 하는 새 모델을 생성할 수 있습니다.

이 기능이 유용할 수 있는 일부 실제 시나리오는 다음과 같습니다.

  • 성별, 지역 등과 같은 불연속 값에 대한 별도의 모델 만들기. 예를 들어 모든 고객에 대한 단일 데이터 원본에서 판매 데이터를 가져온 경우에도 의류점에서는 고객 인구 통계를 사용하여 성별에 따른 별도의 모델을 작성할 수 있습니다.

  • 20-30세, 20-40세, 20-25세 연령과 같이 동일한 데이터에 대한 여러 그룹화를 만든 다음 테스트하여 모델 시험

  • 고객이 특정 항목을 두 개 이상 구매한 경우에만 사례가 모델에 포함되도록 요구하는 경우에서와 같이 중첩 테이블 내용에 복잡한 필터 지정

이 섹션에서는 마이닝 모델에 대해 필터를 작성하고 사용하며 관리하는 방법에 대해 설명합니다.

모델 필터 만들기

다음과 같은 방법으로 필터를 만들고 적용할 수 있습니다.

  • 데이터 마이닝 디자이너의 마이닝 모델 탭을 사용하여 필터 편집기 대화 상자를 통해 조건 작성

  • 마이닝 모델의 Filter 속성에 필터 식 직접 입력

  • AMO를 사용하여 모델에 대한 필터 조건을 프로그래밍 방식으로 설정

데이터 마이닝 디자이너를 사용하여 모델 필터 만들기

데이터 마이닝 디자이너에서 마이닝 모델의 Filter 속성을 변경하여 모델을 필터링합니다. 필터 식을 속성 창에 직접 입력하거나 필터 대화 상자를 열어 조건을 작성할 수 있습니다.

두 개의 필터 대화 상자가 있습니다. 첫 번째 대화 상자를 사용하면 사례 테이블에 적용되는 조건을 만들 수 있습니다. 데이터 원본에 여러 테이블이 포함되어 있는 경우 먼저 테이블을 선택한 다음 열을 선택하고 해당 열에 적용할 연산자와 조건을 지정합니다. AND/OR 연산자를 사용하여 여러 조건을 연결할 수 있습니다. 값을 정의하는 데 사용할 수 있는 연산자는 열에 불연속 값이 포함되어 있는지, 아니면 연속 값이 포함되어 있는지에 따라 달라집니다. 예를 들어 연속 값의 경우 greater than 및 less than 연산자를 사용할 수 있습니다. 그러나 불연속 값의 경우에는 = (equal to), != (not equal to) 및 is null 연산자만 사용할 수 있습니다.

[!참고]

LIKE 키워드는 지원되지 않습니다. 여러 불연속 특성을 포함하려는 경우 별도의 조건을 만들고 OR 연산자를 사용하여 연결해야 합니다.

조건이 복잡한 경우 두 번째 필터 대화 상자를 사용하여 한 번에 한 테이블로 작업할 수 있습니다. 두 번째 필터 대화 상자를 닫으면 식이 평가된 다음 사례 테이블의 다른 열에 설정된 필터 조건과 결합됩니다.

중첩 테이블에 필터 만들기

데이터 원본 뷰에 중첩 테이블이 포함되어 있는 경우 두 번째 필터 대화 상자를 사용하여 중첩 테이블의 행에 대한 조건을 작성할 수 있습니다.

예를 들어 사례 테이블이 고객과 관련되어 있고 중첩 테이블에 고객이 구매한 제품이 표시되는 경우 중첩 테이블 필터에 다음 구문을 사용하여 특정 항목을 구매한 고객에 대한 필터를 만들 수 있습니다. [ProductName]=’Water Bottle’ OR ProductName=’Water Bottle Cage'.

EXISTS 또는 NOT EXISTS 키워드 및 하위 쿼리를 사용하여 중첩 테이블에 특정 값이 있는지 여부를 필터링할 수도 있습니다. 이렇게 하면 EXISTS (SELECT * FROM Products WHERE ProductName=’Water Bottle’)와 같은 조건을 만들 수 있습니다. 중첩 테이블에 값 Water Bottle을 포함하는 하나 이상의 행이 포함되어 있는 경우 EXISTS SELECT(<subquery>)는 true를 반환합니다.

사례 테이블에 대한 조건을 중첩 테이블에 대한 조건과 결합할 수 있습니다. 예를 들어 다음 구문에는 사례 테이블에 대한 조건(Age > 30 ), 중첩 테이블에 대한 하위 쿼리(EXISTS (SELECT * FROM Products)) 및 중첩 테이블에 대한 여러 조건(WHERE ProductName=’Milk’ AND Quantity>2)이 포함되어 있습니다.

(Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’  AND Quantity>2) )

필터 작성이 완료되면 필터 텍스트가 Analysis Services에서 평가되고 DMX 식으로 번역된 다음 모델과 함께 저장됩니다.

Business Intelligence Development Studio에서 필터 대화 상자를 사용하는 방법은 방법: 마이닝 모델에 필터 적용을 참조하십시오.

마이닝 모델 필터 관리

같은 구조를 기반으로 하는 여러 모델을 쉽게 작성할 수 있으므로 데이터 기반 모델 필터링을 사용하면 마이닝 구조 및 마이닝 모델 관리 태스크가 간단해집니다. 또한 기존 마이닝 모델의 복사본을 빠르게 만든 다음 필터 조건만 변경할 수 있습니다. 모델 필터 관리에 대한 일부 고려 사항은 다음과 같습니다.

  • 모델에 적용되는 필터를 확인하려면 마이닝 모델의 Filter 속성을 봅니다.

  • 필터의 내용이 반영되도록 모델의 이름을 바꿀 수 있습니다. 이렇게 하면 관련 모델을 쉽게 구분할 수 있습니다.

  • 필터 식은 연결된 마이닝 모델 또는 중첩 테이블과 함께 저장되는 스크립트로 저장됩니다. 필터 텍스트를 삭제하는 경우 필터 식을 수동으로 다시 만들어야만 해당 텍스트를 복원할 수 있습니다. 따라서 복잡한 필터 식을 만드는 경우 필터 텍스트의 백업 복사본을 만들어야 합니다.

  • 필터 식을 변경하거나 추가할 때마다 구조 및 모델을 다시 처리해야 필터 효과를 확인할 수 있습니다.

필터 구문에 대한 자세한 내용 및 필터 식의 예를 보려면 모델 필터 구문 및 예(Analysis Services - 데이터 마이닝)를 참조하십시오.

마이닝 모델을 테스트할 때 모델 필터를 사용하는 방법은 마이닝 모델 정확도 측정(Analysis Services - 데이터 마이닝)을 참조하십시오.