데이터 마이닝 개념(Analysis Services - 데이터 마이닝)

데이터 마이닝은 큰 데이터 집합에서 동작 가능한 정보를 찾는 프로세스입니다. 데이터 마이닝에서는 수학적 분석을 사용하여 데이터에 있는 패턴 및 추세를 찾습니다. 일반적으로는 관계가 너무 복잡하거나 데이터가 너무 많아서 전통적인 데이터 탐색으로는 이러한 패턴을 찾을 수 없습니다.

이러한 패턴과 추세를 수집하여 데이터 마이닝 모델로 정의할 수 있습니다. 마이닝 모델은 다음과 같은 특정 비즈니스 시나리오에 적용할 수 있습니다.

  • 판매 예측

  • 특정 고객을 대상으로 메일 발송

  • 함께 판매될 가능성이 높은 제품 확인

  • 고객이 쇼핑 카트에 제품을 추가하는 순서에서 시퀀스 찾기

마이닝 모델을 작성하는 것은 데이터에 대해 질문하고 이러한 질문에 답을 해 줄 모델을 만드는 것부터 모델을 작업 환경에 배포하는 것에 이르기까지 모든 작업을 포함하는 대규모 프로세스의 일부분입니다. 이 프로세스는 다음 6가지 기본 단계로 정의될 수 있습니다.

  1. 문제 정의

  2. 데이터 준비

  3. 데이터 탐색

  4. 모델 작성

  5. 모델 탐색 및 유효성 검사

  6. 모델 배포 및 업데이트

다음 다이어그램에서는 프로세스의 각 단계 간 관계와 각 단계를 수행하는 데 사용할 수 있는 MicrosoftSQL Server 2008 기술을 볼 수 있습니다.

데이터 마이닝 프로세스의 핵심 단계

다이어그램에서는 프로세스가 순환되는 것처럼 보이지만 각 단계가 반드시 다음 단계로 직접 연결되는 것은 아닙니다. 데이터 마이닝 모델 생성은 동적이고 반복적인 프로세스입니다. 데이터 탐색 후 적절한 마이닝 모델을 만들기에는 데이터가 불충분하여 보다 많은 데이터를 수집해야 한다는 사실을 발견할 수도 있고 여러 모델을 작성한 후에 모델이 정의한 문제를 해결하는 데 충분하지 않아 문제를 다시 정의해야 한다는 사실을 발견할 수도 있습니다. 또한 모델을 배포한 후 사용 가능한 추가 데이터가 발생하여 모델을 업데이트해야 할 수 있습니다. 좋은 모델을 만들기 위해 프로세스의 각 단계를 여러 번 반복해야 할 수도 있습니다.

SQL Server 2008에서는 데이터 마이닝 모델 생성 및 작업을 위해 통합 환경인 Business Intelligence Development Studio를 제공합니다. 이 환경에는 다양한 프로젝트에 대한 포괄적인 솔루션 작성을 용이하게 하는 데이터 마이닝 알고리즘 및 도구가 포함되어 있습니다. BI Development Studio 사용 방법은 Business Intelligence Development Studio를 사용한 개발 및 구현을 참조하십시오.

데이터 마이닝 솔루션을 만든 후 SQL Server Management Studio를 사용하여 데이터 마이닝 솔루션을 유지 관리하고 찾을 수 있습니다. 자세한 내용은 마이닝 구조 및 마이닝 모델 관리를 참조하십시오.

SQL Server 도구를 비즈니스 시나리오에 적용하는 방법에 대한 예는 기본 데이터 마이닝 자습서를 참조하십시오.

문제 정의

데이터 마이닝 프로세스의 첫 번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 비즈니스 문제를 명확하게 정의하고 문제에 대한 답을 제공할 방법을 고려하는 것입니다.

데이터 마이닝 1단계: 문제 정의

이 단계에는 비즈니스 요구 사항 분석, 문제 영역 정의, 모델을 평가할 메트릭 정의 및 데이터 마이닝 프로젝트의 구체적 목표 정의가 포함됩니다. 이러한 작업을 질문으로 바꾸면 다음과 같습니다.

  • 찾으려는 것이 무엇입니까? 찾을 관계의 유형은 무엇입니까?

  • 해결할 문제가 비즈니스의 정책 또는 프로세스를 반영합니까?

  • 데이터 마이닝 모델을 사용하여 예측을 만들 것입니까 아니면 주목할 만한 패턴 및 관계만 찾을 것입니까?

  • 예측할 데이터 집합 특성은 무엇입니까?

  • 열 간의 관계가 어떻습니까? 테이블이 여러 개인 경우 테이블 간의 관계는 어떻습니까?

  • 데이터가 어떻게 배포되어 있습니까? 데이터가 주기적입니까? 데이터가 비즈니스의 프로세스를 정확하게 나타냅니까?

이러한 질문에 답하려면 데이터 가용성 및 사용 가능한 데이터에 대한 비즈니스 사용자의 요구 사항을 조사해야 할 수 있습니다. 데이터가 사용자의 요구 사항에 부합하지 않으면 프로젝트를 다시 정의해야 할 수 있습니다.

모델의 결과를 비즈니스 프로세스를 측정하는 데 사용되는 KPI(핵심 성과 지표)로 통합할 방법을 고려해야 할 수도 있습니다.

데이터 준비

데이터 마이닝 프로세스의 두 번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 문제 정의 단계에서 식별한 데이터를 통합하고 정리하는 것입니다.

데이터 마이닝 2단계: 데이터 준비

데이터가 회사의 여러 부서에 흩어져 서로 다른 형식으로 저장되기도 하고 항목이 잘못되었거나 항목이 누락되는 등 데이터가 불일치할 수도 있습니다. 예를 들어 제품이 시장에 공급되기도 전에 고객이 제품을 구입했다거나 집에서 2,000마일이나 떨어진 매장에서 정기적으로 제품을 구입한다고 데이터에 표시되어 있을 수 있습니다.

데이터 정리는 단지 잘못된 데이터를 제거하는 것만이 아니라 데이터의 숨겨진 상관 관계를 찾아내고, 가장 정확한 데이터 원본을 식별하고, 분석에 사용할 가장 적절한 열을 확인하는 것입니다. 예를 들어 운송 날짜나 주문 날짜를 사용해야 합니까? 수량, 총 가격 또는 할인 가격 중 판매에 가장 큰 영향을 주는 요인은 무엇입니까? 불완전한 데이터, 잘못된 데이터 및 개별적인 것으로 보이지만 실제로는 매우 밀접한 상관 관계에 있는 입력은 모델의 결과에 예상치 않은 영향을 줄 수 있습니다. 따라서 마이닝 모델 작성을 시작하기 전에 이러한 문제를 파악하고 수정 방법을 확인해야 합니다.

그러나 일반적으로 초대형 데이터 집합으로 작업하는 경우 모든 트랜잭션을 살펴볼 수는 없습니다. 따라서 Integration Services에서와 같이 자동화 기능을 사용하여 데이터를 탐색하고 불일치하는 사항을 찾아내야 합니다. MicrosoftSQL Server 2008 Integration Services(SSIS)에는 데이터 정리 및 통합을 자동화하는 변환을 비롯하여 이 단계를 완료하는 데 필요한 모든 도구가 포함되어 있습니다. 자세한 내용은 Business Intelligence Development Studio의 Integration Services를 참조하십시오.

데이터 마이닝에 사용하는 데이터를 OLAP(온라인 분석 처리) 큐브나 관계형 데이터베이스에 저장하지 않아도 이 두 가지를 모두 데이터 원본으로 사용할 수 있습니다. Analysis Services 데이터 원본으로 정의된 데이터의 원본을 사용하여 데이터 마이닝을 수행할 수 있습니다. 여기에는 텍스트 파일, Excel 통합 문서 또는 다른 외부 공급자의 데이터가 포함될 수 있습니다. 자세한 내용은 데이터 원본 정의(Analysis Services)를 참조하십시오.

데이터 탐색

데이터 마이닝 프로세스의 3번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 준비된 데이터를 탐색하는 것입니다.

데이터 마이닝 3단계: 데이터 탐색

마이닝 모델을 만들 때 적절한 결정을 내리기 위해서는 데이터를 이해해야 합니다. 탐색 기술에는 최소값 및 최대값 계산, 평균 및 표준 편차 계산, 데이터 배포 검토 등이 포함됩니다. 예를 들어 최대값, 최소값 및 평균 값을 검토하여 데이터가 고객 또는 비즈니스 프로세스를 대표하지 않는지 확인하고, 그러한 경우 보다 균형 있는 데이터를 가져오거나 예상의 기초가 된 가정을 검토해야 하는지 확인할 수 있습니다. 표준 편차 및 기타 분포 값은 결과의 안정성과 정확도에 대한 유용한 정보를 제공할 수 있습니다. 표준 편차가 크면 다른 데이터를 추가하여 모델을 개선할 수 있습니다. 표준 분포에서 지나치게 벗어나는 데이터는 왜곡된 것일 수도 있고 실제 문제를 정확히 나타낸 것일 수도 있지만 이러한 데이터가 있으면 데이터에 맞는 모델을 만들기가 어려워집니다.

비즈니스 문제를 정확히 이해하고 데이터를 탐색하면 데이터 집합에 결함이 있는 데이터가 있는지 확인한 다음 문제를 해결할 수 있는 전략을 고안하거나 비즈니스의 일반적인 동작을 보다 깊이 있게 이해할 수 있습니다.

BI Development Studio의 데이터 원본 뷰 디자이너에는 데이터 탐색에 사용할 수 있는 여러 도구가 포함되어 있습니다. 자세한 내용은 데이터 원본 뷰 디자인(Analysis Services) 또는 데이터 원본 뷰에서 데이터 탐색(Analysis Services)을 참조하십시오.

또한 모델을 만들면 Analysis Services에서는 모델에 포함된 데이터의 통계 요약을 자동으로 만들며 이를 쿼리하여 보고서 또는 추가 분석에 사용할 수 있습니다. 자세한 내용은 데이터 마이닝 모델 쿼리(Analysis Services - 데이터 마이닝)를 참조하십시오.

모델 작성

데이터 마이닝 프로세스의 4번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 마이닝 모델을 작성하는 것입니다. 데이터 탐색 단계에서 얻은 정보를 사용하면 모델을 정의하고 만드는 데 도움이 됩니다.

데이터 마이닝 4단계: 마이닝 모델 구축

마이닝 구조를 만들어 사용할 데이터를 정의합니다. 마이닝 구조는 데이터의 원본을 정의하지만 처리되기 전까지는 데이터가 포함되지 않습니다. 마이닝 구조를 처리하면 Analysis Services에서는 분석에 사용할 수 있는 집계 및 기타 통계 정보를 생성합니다. 이 정보는 해당 구조를 기반으로 하는 마이닝 모델에서 사용할 수 있습니다. 마이닝 구조와 마이닝 모델의 관계에 대한 자세한 내용은 논리적 아키텍처(Analysis Services - 데이터 마이닝)를 참조하십시오.

모델이 처리되기 전의 데이터 마이닝 모델은 단지 입력에 사용되는 열, 예측할 특성 및 알고리즘에 데이터 처리 방식을 알려 주는 매개 변수를 지정하는 컨테이너입니다. 모델을 처리하는 작업을 학습이라고도 합니다. 학습은 패턴을 추출하기 위해 구조의 데이터에 특정 수학적 알고리즘을 적용하는 프로세스입니다. 학습 프로세스에서 찾은 패턴은 선택한 학습 데이터, 선택한 알고리즘 및 알고리즘의 구성 방식에 따라 달라집니다. SQL Server 2008에는 각기 다른 유형의 태스크에 적합하며 각기 다른 유형의 모델을 만드는 다양한 알고리즘이 포함되어 있습니다. SQL Server 2008에서 제공되는 알고리즘 목록은 데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝)을 참조하십시오.

매개 변수를 사용하여 각 알고리즘을 조정하고 일부 데이터만 사용하도록 학습 데이터에 필터를 적용하여 다른 결과를 만들 수도 있습니다. 모델을 통해 데이터를 전달한 후 마이닝 모델 개체에는 예측을 위해 쿼리하거나 사용할 수 있는 요약 및 패턴이 포함됩니다.

BI Development Studio의 데이터 마이닝 마법사를 사용하거나 DMX(Data Mining Extensions) 언어를 사용하여 새 모델을 정의할 수 있습니다. 데이터 마이닝 마법사 사용 방법은 데이터 마이닝 마법사(Analysis Services – 데이터 마이닝)를 참조하십시오. DMX 사용 방법은 DMX(Data Mining Extensions) 참조를 참조하십시오.

데이터가 변경될 때마다 마이닝 구조와 마이닝 모델을 모두 업데이트해야 합니다. 마이닝 구조를 다시 처리하여 업데이트하면 Analysis Services에서는 원본에서 데이터를 검색하고 마이닝 구조를 다시 채웁니다. 원본이 동적으로 업데이트된 경우에는 검색 시 새 데이터도 포함됩니다. 해당 구조를 기반으로 하는 모델이 있는 경우 이러한 모델을 업데이트하여 새 데이터에 대해 다시 학습되도록 할 수도 있고 모델을 그대로 둘 수도 있습니다. 자세한 내용은 데이터 마이닝 개체 처리를 참조하십시오.

모델 탐색 및 유효성 검사

데이터 마이닝 프로세스의 5번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 작성한 마이닝 모델을 탐색하고 모델의 효율성을 테스트하는 것입니다.

데이터 마이닝 5단계: 마이닝 모델 유효성 검사

모델을 프로덕션 환경에 배포하기 전에 모델의 효율성을 테스트해야 합니다. 또한 모델을 작성할 때는 일반적으로 각기 다른 구성으로 여러 모델을 만들고 모든 모델을 테스트하여 어떤 모델에서 문제 및 데이터에 대한 최상의 결과가 얻어지는지 확인합니다.

Analysis Services에서는 동일한 데이터에 대한 모든 모델의 성능을 정확하게 평가할 수 있도록 데이터를 학습 데이터 집합과 테스트 데이터 집합으로 분리하는 데 유용한 도구를 제공합니다. 학습 데이터 집합으로는 모델을 작성할 수 있고 테스트 데이터 집합으로는 예측 쿼리를 만들어 모델의 정확도를 테스트할 수 있습니다. SQL Server 2008 Analysis Services에서 이 분할은 마이닝 모델을 작성하는 동안 자동으로 수행될 수 있습니다. 자세한 내용은 데이터 마이닝 모델 유효성 검사(Analysis Services - 데이터 마이닝)를 참조하십시오.

BI Development Studio의 데이터 마이닝 디자이너에 있는 뷰어를 사용하여 알고리즘이 검색한 추세 및 패턴을 탐색할 수 있습니다. 자세한 내용은 데이터 마이닝 모델 보기를 참조하십시오. 또한 리프트 차트 및 분류 행렬과 같은 디자이너의 도구를 사용하여 모델의 예측 정확도를 테스트할 수 있습니다. 모델이 데이터와 관련되어 있는지 또는 일반적인 모집단에 대해 유추하는 데 사용할 수 있는지 확인하려면 교차 유효성 검사라는 통계 기법을 사용하여 데이터의 하위 집합을 자동으로 만들고 각 하위 집합에 대해 모델을 테스트합니다. 자세한 내용은 데이터 마이닝 모델 유효성 검사(Analysis Services - 데이터 마이닝)를 참조하십시오.

모델 작성 단계에서 만든 모델의 효율성이 모두 떨어지는 경우 프로세스의 이전 단계로 돌아가서 문제를 다시 정의하거나 원래 데이터 집합의 데이터를 다시 조사해야 할 수 있습니다.

모델 배포 및 업데이트

데이터 마이닝 프로세스의 마지막 단계는 다음 다이어그램에 강조 표시된 바와 같이 가장 효율적인 모델을 프로덕션 환경에 배포하는 것입니다.

데이터 마이닝 6단계: 마이닝 모델 배포

프로덕션 환경에 마이닝 모델을 배포한 다음에는 필요에 따라 다양한 태스크를 수행할 수 있습니다. 다음은 수행할 수 있는 일부 태스크입니다.

  • 모델을 사용하여 예측 만들기. 이러한 예측을 사용하여 비즈니스상의 결정을 내릴 수 있습니다. SQL Server에서는 예측 쿼리를 만드는 데 사용할 수 있는 DMX 언어와 쿼리 작성에 도움이 되는 예측 쿼리 작성기를 제공합니다. 자세한 내용은 DMX(Data Mining Extensions) 참조를 참조하십시오.

  • 내용 쿼리를 만들어 모델에서 통계, 규칙 또는 수식 검색. 자세한 내용은 데이터 마이닝 모델 쿼리(Analysis Services - 데이터 마이닝)를 참조하십시오.

  • 데이터 마이닝 기능을 응용 프로그램에 직접 포함. 마이닝 구조 및 마이닝 모델의 생성, 변경, 처리 및 삭제를 위해 응용 프로그램에서 사용할 수 있는 개체 집합이 들어 있는 AMO(Analysis Management Objects)를 포함할 수 있습니다. 또는 Analysis Services 인스턴스에 XMLA(XML for Analysis) 메시지를 직접 보낼 수도 있습니다. 자세한 내용은 개발(Analysis Services - 데이터 마이닝)을 참조하십시오.

  • Integration Services를 사용하여 마이닝 모델을 통해 들어오는 데이터를 여러 테이블에 논리적으로 분리하는 패키지 만들기. 예를 들어 잠재 고객으로 데이터베이스를 계속 업데이트하는 경우 Integration Services와 함께 마이닝 모델을 사용하여 들어오는 데이터를 제품을 구매할 가능성이 높은 고객과 제품을 구매하지 않을 가능성이 높은 고객으로 분할할 수 있습니다. 자세한 내용은 Integration Services의 일반적 사용 범위를 참조하십시오.

  • 사용자가 기존 마이닝 모델에 대해 직접 쿼리할 수 있는 보고서 만들기. 자세한 내용은 Business Intelligence Development Studio의 Reporting Services를 참조하십시오.

  • 검토 및 분석 후 모델 업데이트. 업데이트 시 모델을 다시 처리해야 합니다. 자세한 내용은 구조 및 모델 처리(Analysis Services - 데이터 마이닝)를 참조하십시오.

  • 조직에 더 많은 데이터가 들어올 때 모델을 동적으로 업데이트. 지속적인 변경을 통해 솔루션의 효율성을 높이는 것은 배포 전략의 일부가 되어야 합니다. 자세한 내용은 마이닝 구조 및 마이닝 모델 관리를 참조하십시오.