OLAP 마이닝 구조 만들기

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

중요

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

OLAP 큐브 또는 다른 다차원 데이터 저장소를 기반으로 데이터 마이닝 모델을 만들면 다음과 같은 여러 가지 이점이 있습니다. OLAP 솔루션에는 잘 정리되고 올바른 형식이 지정된 많은 양의 데이터가 이미 포함되어 있습니다. 하지만 사용자가 임시 탐색을 통해 의미 있는 패턴을 찾을 수 없을 정도로 데이터가 복잡합니다. 데이터 마이닝은 새로운 상관 관계를 발견하고 실현 가능한 통찰력을 제공할 수 있는 기능을 제공합니다.

이 항목에서는 기존 다차원 솔루션의 차원 및 관련 측정값을 기반으로 OLAP 마이닝 구조를 만드는 방법에 대해 설명합니다.

요구 사항

OLAP 데이터 마이닝 프로세스 개요

OLAP 솔루션에서의 데이터 마이닝 사용에 대한 시나리오

필터

중첩 테이블 사용

데이터 마이닝 차원

OLAP 마이닝 구조 및 모델에 대한 요구 사항

OLAP 마이닝 모델을 디자인하는 경우 데이터 원본은 큐브를 생성하는 데 사용된 데이터베이스에 이미 있습니다. 원격 큐브에 연결하여 데이터 마이닝 개체를 생성할 수 없습니다. 큐브 개체는 생성할 마이닝 구조와 동일한 솔루션 내에서 데이터베이스로 사용할 수 있어야 합니다.

원래 프로젝트 파일이 없거나 원래 프로젝트 파일을 변경하지 않을 경우 Visual Studio의 서버에서 가져오기(다차원 및 데이터 마이닝)옵션을 사용하여 메타데이터 및 솔루션 개체의 복사본을 가져올 수 있습니다. 그런 다음 기존 개체에 영향을 주지 않고 배포 대상을 수정하고, 데이터 원본을 편집하고, 큐브 개체를 사용할 수 있습니다.

자세한 내용은 Analysis Services 가져오기 마법사를 사용하여 데이터 마이닝 프로젝트 가져오기를 참조하세요.

OLAP 데이터 마이닝 프로세스 개요

솔루션 탐색기 마이닝 구조 노드를 마우스 오른쪽 단추로 클릭하고 새 마이닝 구조를 선택하여 데이터 마이닝 마법사를 시작합니다. 마법사에서 새로운 구조와 모델에 대한 구조를 만드는 다음 단계를 안내합니다.

  1. 정의 방법 선택: 여기에서 데이터 원본 유형을 선택한 다음 기존 큐브 사용을 선택합니다.

    참고

    원본으로 사용할 OLAP 큐브는 위에 설명된 대로 마이닝 구조와 동일한 데이터베이스 내에 있어야 합니다. 또한 Excel용 파워 피벗 추가 기능에서 만든 큐브를 데이터 마이닝 원본으로 사용할 수 없습니다.

  2. 데이터 마이닝 구조 만들기: 구조만 작성할지, 아니면 마이닝 모델이 있는 구조를 작성할지를 결정합니다.

    또한 데이터를 분석할 적절한 알고리즘을 선택해야 합니다. 특정 작업에 가장 적합한 알고리즘에 대한 지침은 HYPERLINK "ms-help://SQL111033/as_1devconc/html/ed1fc83b-b98c-437e-bf53-4ff001b92d64.htm" 데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝)을 참조하세요.

  3. 원본 큐브 차원 선택: 이 단계는 데이터 원본 선택과 동일합니다. 모델 학습에 사용되는 가장 중요한 데이터가 포함된 단일 차원을 선택해야 합니다. 나중에 다른 차원에서 데이터를 추가하거나 차원을 필터링할 수 있습니다.

  4. 사례 키 선택: 방금 선택한 차원 내에서 사례 데이터의 고유 식별자로 사용할 특성(열)을 선택합니다.

    일반적으로 열은 자동으로 미리 선택되지만 여러 키가 있는 경우 열을 변경할 수 있습니다.

  5. 사례 수준 열 선택: 여기에서 선택한 차원의 특성 및 분석과 관련된 측정값을 선택합니다. 이 단계는 테이블에서 열을 선택하는 단계와 같습니다.

    마법사에서 사용자의 검토 및 선택을 위해 선택된 차원의 특성을 사용하여 만든 모든 측정값을 자동으로 포함합니다.

    예를 들어 큐브에 고객의 지리적 위치에 따라 화물 비용을 계산하는 측정값이 포함되어 있고 모델링을 위한 기본 데이터 원본으로 Customer 차원을 선택한 경우 측정값이 모델에 추가할 후보로 제안됩니다. 이미 직접적으로 특성을 기반으로 하는 측정값을 너무 많이 추가하면 측정값 수식에 정의된 대로 열 사이에 하나의 암시적 관계가 이미 있으므로 이(예상) 상관 관계의 강도로 인해 다른 관계가 명확하게 나타나지 않을 수 있습니다.

  6. 마이닝 모델 열 사용법 지정: 구조에 추가한 각 특성 또는 측정값에 대해 특성을 예측에 사용할지, 아니면 입력으로 사용할지를 지정해야 합니다. 두 옵션 중 하나를 선택하지 않으면 데이터가 처리되지만 분석에 사용할 수 없게 됩니다. 그러나 나중에 드릴스루를 사용하도록 설정한 경우 백그라운드 데이터로 사용할 수 있습니다.

  7. 중첩 테이블 추가: 관련 테이블을 클릭하여 추가합니다. 측정값 그룹 차원 선택 대화 상자에서 현재 차원과 관련된 차원 중 하나를 선택할 수 있습니다.

    그런 다음 중첩 테이블 키 열 선택 대화 상자를 사용하여 새 차원이 사례 데이터가 포함된 차원과 관련되는 방식을 정의합니다.

    중첩 테이블 열 선택 대화 상자를 사용하여 새 차원에서 분석에 사용할 특성 및 측정값을 선택합니다. 중첩 특성을 예측에 사용할지 여부도 지정해야 합니다.

    필요한 모든 중첩 특성을 추가한 후 마이닝 모델 열 사용법 지정페이지로 돌아가 다음을 클릭합니다.

  8. 열 내용 및 데이터 형식 지정: 이제 분석에 사용할 모든 데이터를 추가했으므로 각 특성에 대한 데이터 형식내용 유형 을 지정해야 합니다.

    OLAP 모델에는 데이터 형식이 다차원 솔루션에 의해 이미 정의되어 있고 변경할 수 없으므로 데이터 형식을 자동으로 검색하는 옵션이 없습니다. 키는 자동으로 식별됩니다. 자세한 내용은 데이터 형식(데이터 마이닝)을 참조하세요.

    모델에서 사용할 각 열에 대해 선택한 내용 유형 은 알고리즘에 데이터 처리 방법을 알려 줍니다. 자세한 내용은 콘텐츠 형식(데이터 마이닝)을 참조하세요.

  9. 원본 큐브 조각화: 여기에서는 데이터 하위 집합만 선택하여 보다 구체적인 모델을 학습할 수 있도록 큐브에 필터를 정의할 수 있습니다.

    필터링할 차원을 선택하고 사용할 조건이 포함된 계층 수준을 선택한 다음 필터로 사용할 조건을 입력하여 큐브를 필터링합니다.

  10. 테스트 집합 만들기: 이 페이지에서는 마법사에 모델을 테스트하는 데 사용하기 위해 남겨 둘 데이터의 양을 지정할 수 있습니다. 데이터가 여러 모델을 지원하는 경우 모든 모델을 같은 데이터에서 테스트할 수 있도록 홀드아웃 데이터 집합을 만드는 것이 좋습니다.

    자세한 내용은 테스트 및 유효성 검사(데이터 마이닝)를 참조하세요.

  11. 마법사 완료: 이 페이지에서는 새 마이닝 구조와 관련 마이닝 모델의 이름을 지정하고 구조 및 모델을 저장합니다.

    또한 다음 옵션을 설정할 수 있습니다.

    • 드릴스루 허용

    • 마이닝 모델 차원 만들기

    • 마이닝 모델 차원을 사용하여 큐브 만들기

    이러한 옵션에 대한 자세한 내용은 이 항목의 뒷부분에 있는 데이터 마이닝 차원 및 드릴스루 이해섹션을 참조하세요.

이 시점에서는 마이닝 구조와 해당 모델이 메타데이터일 뿐이므로 결과를 얻기 위해 둘 다 처리해야 합니다.

OLAP 데이터와 함께 데이터 마이닝 사용에 대한 시나리오

OLAP 큐브에는 많은 멤버와 차원이 포함되는 경우가 많으므로 데이터 마이닝을 시작할 위치를 알기가 어려울 수 있습니다. 큐브에 포함된 패턴을 식별하려면 일반적으로 원하는 단일 차원을 식별한 다음 해당 차원과 관련된 패턴을 탐색합니다. 다음 표에서는 일반적인 몇 가지 OLAP 데이터 마이닝 태스크를 나열하고 각 작업을 적용할 수 있는 예제 시나리오를 설명하며 각 작업에 사용할 데이터 마이닝 알고리즘을 식별합니다.

Task 샘플 시나리오 알고리즘
멤버를 클러스터로 그룹화 고객 멤버 속성, 고객이 구입한 제품, 고객이 지출한 금액을 기준으로 고객 차원을 세그먼트화합니다. Microsoft Clustering Algorithm
주목할 만한 멤버 또는 비정상적인 멤버 찾기 판매, 수익, 매장 위치 및 매장 크기를 기준으로 Store 차원에서 주목할 만한 매장 또는 비정상적인 매장을 식별합니다. Microsoft 의사 결정 트리 알고리즘
주목할 만한 셀 또는 비정상적인 셀 찾기 일반적인 시간별 경향에 반하는 매장 판매량을 식별합니다. Microsoft Time Series 알고리즘
상관 관계 찾기 지역, 컴퓨터 유형, OS 또는 구매 날짜를 포함하여 서버 가동 중지 시간과 관련된 요소를 식별합니다. Microsoft Naïve Bayes 알고리즘

큐브 조각화와 모델 필터링

모델을 작성하는 동안 큐브를 조각화하는 것은 관계형 마이닝 모델에서 필터를 만드는 것과 유사합니다. 관계형 모델에서 데이터 원본에 대한 필터는 SQL 문의 WHERE 절로 정의됩니다. 큐브의 경우 편집기에서 MDX를 사용하여 필터 문을 만들 수 있습니다.

예를 들어 큐브에 전 세계 제품 구매 정보가 포함되어 있을 수 있지만 마케팅 캠페인을 위해 영국에 거주하는 30세 이상의 여성 고객에 대한 분석을 기반으로 모델을 만들 수 있습니다.

이 시나리오에서는 두 개의 필터를 만듭니다.

  • 첫 번째 필터의 경우 Geography 차원을 선택하고 지역에 대한 계층 구조를 선택한 다음 필터 식 목록을 사용하여 가능한 값에서 "영국"을 선택합니다.

  • 두 번째 필터의 경우 Customer 차원을 선택하고 Gender 특성을 선택한 다음 특성 값 목록에서 "Female"을 선택합니다.

마이닝 구조를 만든 후 큐브 데이터 및 필터 조건 정의를 둘 다 수정할 수 있습니다. 자세한 내용은 마이닝 모델에 대한 필터를 참조하세요.

마이닝 구조 탭과 마이닝 모델 탭에는 둘 다 큐브 조각 정의를 클릭하여 기존 마이닝 구조에 필터를 추가할 수 있는 옵션이 있습니다. 큐브 조각화 대화 상자에서는 드롭다운 목록에서 값을 선택하여 유효한 MDX 필터 식을 작성할 수 있습니다.

경고

큐브 디자인 및 검색을 위한 인터페이스가 2017년 SQL Server 변경되었습니다. 자세한 내용은 큐브에서 데이터 및 메타데이터 찾아보기를 참조하세요.

마이닝 모델에 필요한 데이터를 반환하는 데 필요한 개수만큼 필터를 큐브에 추가할 수 있습니다. 또한 개별 큐브 조각에 조각을 정의할 수 있습니다. 예를 들어 구조에 제품을 기반으로 하는 중첩 테이블이 두 개 포함된 경우 2004년 3월에 한 테이블을 조각화하고 2004년 4월에 다른 테이블을 조각화할 수 있습니다. 그런 다음 결과 모델을 사용하여 3월의 구입을 기준으로 4월의 구입을 예상할 수 있습니다.

OLAP 마이닝 모델에서 중첩 테이블 사용

데이터 마이닝 마법사를 사용하여 큐브 데이터를 기반으로 모델을 작성하는 경우 관련 차원의 이름을 지정한 다음 모델에 추가할 특성 또는 측정값을 선택하여 중첩 테이블을 추가할 수 있습니다.

예를 들어 사례 데이터에 사용된 주 차원이 Customer인 경우 고객이 시간이 지나면서 여러 제품을 주문하고 큐브가 주문 팩트 테이블을 통해 각 고객을 여러 제품에 이미 연결했을 수 있으므로 Products 차원을 관련 차원으로 추가할 수 있습니다.

마법사의 마이닝 모델 열 사용법 지정 페이지에서 중첩 테이블 추가를 클릭하여 중첩 테이블을 추가합니다. 관련 차원 및 측정값을 선택하는 프로세스를 안내하는 대화 상자가 열립니다. 사례와 중첩 차원은 외래 키에 의해 연관되어야 하며, 측정값은 사례 또는 중첩 테이블에 이미 포함되어 있는 특성 중 하나를 사용해야 합니다. 아쉽게도 이러한 제한은 scope 범위를 좁히는 데 많은 도움이 되지 않으므로 모델링에 유용한 특성만 선택해야 합니다.

중첩 테이블에 추가할 각 특성 또는 측정값에 대해 중첩 테이블 열 선택 대화 상자에서 예측 가능 또는 입력 을 선택하여 중첩 특성을 예측에 사용할지 여부를 지정해야 합니다. 이러한 옵션 중 하나를 선택하지 않으면 데이터가 마이닝 구조에 추가되지만 분석에 사용되지는 않습니다.

또한 각 특성 및 측정값에 대해 특성이 불연속인지, 분할되었는지, 연속인지를 지정해야 합니다. 마법사에서 특성의 데이터 형식을 기반으로 기본값을 미리 선택하지만 알고리즘 요구 사항에 따라 이러한 기본값을 변경해야 할 수 있습니다. 선택한 알고리즘과 호환되지 않는 콘텐츠 형식을 선택하는 경우(예: Naïve Bayes 모델에서 연속 숫자 형식 사용) 모델을 처리하려고 할 때까지 오류 메시지가 표시되지 않습니다.

이러한 옵션의 설정을 마치면 마법사에서 중첩 테이블을 사례 테이블에 추가합니다. 중첩 테이블의 기본 이름은 중첩 차원 이름이지만 중첩 테이블 및 해당 열의 이름을 바꿀 수 있습니다. 이 프로세스를 반복하여 여러 중첩 테이블을 마이닝 구조에 추가할 수 있습니다.

이와 같이 중첩 테이블 데이터를 사용하는 기능은 SQL Server 데이터 마이닝의 강력한 기능이며, 큐브에서는 관련 데이터 하위 집합을 거의 무제한적으로 사용할 수 있습니다.

데이터 마이닝 차원 및 드릴스루 이해

드릴스루 허용옵션을 사용하면 모델을 찾는 동안 기본 큐브 데이터에 대해 쿼리를 실행할 수 있습니다. 데이터는 새 데이터 마이닝 차원에 포함되지 않지만 SQL Server Analysis Services 데이터베이스는 데이터 바인딩을 사용하여 원본 큐브에서 정보를 검색할 수 있습니다.

마이닝 모델 차원 만들기옵션을 사용하면 알고리즘에서 발견한 패턴이 포함된 기존 큐브 내에 새 차원을 생성할 수 있습니다. 새 차원 내의 계층은 주로 모델 유형에 의해 결정됩니다. 예를 들어 클러스터링 모델의 표현은 비교적 플랫하며, 계층의 맨 위에 (All) 노드가 있고 각 클러스터가 다음 수준에 포함되어 있습니다. 반면, 차원 트리 모델용으로 만든 차원은 트리의 분기를 나타내는 계층 구조가 매우 깊을 수 있습니다.

마이닝 모델 차원을 사용하여 큐브 만들기옵션을 사용하면 새 데이터 마이닝 차원을 새 큐브로 내보낼 수 있습니다. 데이터 마이닝 차원의 드릴스루에 필요한 모든 개체가 자동으로 포함됩니다.

경고

Microsoft 클러스터링 알고리즘, Microsoft 의사 결정 트리 알고리즘 또는 Microsoft 연결 알고리즘을 기반으로 하는 모델만 데이터 마이닝 차원 만들기를 지원합니다.

참고 항목

데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝)
마이닝 구조 열
마이닝 모델 열
마이닝 모델 속성
마이닝 구조 및 구조 열의 속성