데이터 마이닝 개념
데이터 마이닝을 흔히 *"작업 가능하고 인증된 유효 정보를 큰 데이터베이스에서 추출하는 프로세스"*라고 설명합니다. 즉, 데이터 마이닝은 데이터에서 패턴 및 경향을 찾습니다. 이러한 패턴 및 경향을 함께 수집하여 마이닝 모델로 정의할 수 있습니다. 마이닝 모델은 다음과 같은 특정 비즈니스 시나리오에 적용할 수 있습니다.
- 판매 예측
- 특정 고객을 대상으로 메일 발송
- 함께 판매될 가능성이 높은 제품 확인
- 고객이 장바구니에 제품을 추가하는 순서에서 시퀀스 찾기
마이닝 모델 작성은 모델이 해결할 기본 문제 정의에서부터 작업 환경으로의 모델 배포에 이르는 모든 작업을 포함하는 대규모 프로세스의 일부분입니다. 이 프로세스는 다음 6가지 기본 단계로 정의될 수 있습니다.
- 문제 정의
- 데이터 준비
- 데이터 탐색
- 모델 작성
- 모델 탐색 및 유효성 검사
- 모델 배포 및 업데이트
다음 다이어그램에서는 프로세스의 각 단계 간 관계 및 각 단계를 수행하는 데 사용할 수 있는 Microsoft SQL Server 2005 기술을 볼 수 있습니다.
다이어그램에서는 프로세스가 순환되는 것처럼 보이지만 각 단계가 반드시 다음 단계로 직접 연결되는 것은 아닙니다. 데이터 마이닝 모델 생성은 동적이고 반복적인 프로세스입니다. 데이터 탐색 후 적절한 마이닝 모델을 만들기에는 데이터가 불충분하여 보다 많은 데이터를 수집해야 한다는 사실을 발견할 수도 있고 여러 모델을 작성한 후에 문제 정의 시 제기한 문제를 이러한 모델이 해결할 수 없어 문제를 다시 정의해야 한다는 사실을 발견할 수도 있습니다. 또한 모델을 배포한 후 사용 가능한 추가 데이터가 발생하여 모델을 업데이트해야 할 수 있습니다. 그러므로 데이터 마이닝 모델 생성은 하나의 프로세스이며 좋은 모델을 만들기 위해서는 프로세스의 각 단계를 필요한 만큼 끊임없이 반복해야 할 수도 있다는 점을 이해하는 것이 중요합니다.
SQL Server 2005에서는 데이터 마이닝 모델 생성 및 작업을 위해 통합 환경인 Business Intelligence Development Studio를 제공합니다. 이 환경에는 다양한 프로젝트에 대한 포괄적인 솔루션 작성을 용이하게 하는 데이터 마이닝 알고리즘 및 도구가 포함되어 있습니다. BI Development Studio 사용 방법은 Analysis Services 솔루션 및 프로젝트 개발을 참조하십시오.
이 항목의 앞부분에서 나열한 비즈니스 시나리오에 SQL Server 도구를 적용하는 방법은 데이터 마이닝 자습서를 참조하십시오.
문제 정의
데이터 마이닝 프로세스의 첫 번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 비즈니스 문제를 명확하게 정의하는 것입니다.
이 단계에는 비즈니스 요구 사항 분석, 문제 영역 정의, 모델을 평가할 메트릭 정의 및 데이터 마이닝 프로젝트의 최종 목표 정의가 포함됩니다. 이러한 작업을 질문으로 바꾸면 다음과 같습니다.
- 목표가 무엇입니까?
- 예측할 데이터 집합 특성은 무엇입니까?
- 찾을 관계의 유형은 무엇입니까?
- 데이터 마이닝 모델을 사용하여 예측을 만들 것입니까 아니면 주목할 만한 패턴 및 관계만 찾을 것입니까?
- 데이터가 어떻게 배포되어 있습니까?
- 열이 서로 어떻게 연결되어 있습니까? 테이블이 여러 개인 경우 테이블이 서로 어떻게 연결되어 있습니까?
이러한 질문에 답하려면 데이터 가용성 및 사용 가능한 데이터에 대한 비즈니스 사용자의 요구 사항을 조사해야 할 수 있습니다. 데이터가 사용자의 요구 사항에 부합하지 않으면 프로젝트를 다시 정의해야 할 수 있습니다.
데이터 준비
데이터 마이닝 프로세스의 두 번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 문제 정의 단계에서 식별한 데이터를 통합하고 정리하는 것입니다.
Microsoft SQL Server 2005 Integration Services(SSIS)에는 데이터 정리 및 통합을 자동화하는 변환을 비롯하여 이 단계를 완료하는 데 필요한 모든 도구가 포함되어 있습니다.
데이터가 회사의 여러 부서에 흩어져 서로 다른 형식으로 저장되기도 하고 항목에 결함이 있거나 항목이 누락되는 등 데이터가 불일치할 수도 있습니다. 예를 들어 고객이 태어나기도 전에 제품을 구입했다거나 집에서 2,000마일이나 떨어진 매장에서 정기적으로 제품을 구입한다고 데이터에 표시되어 있을 수 있습니다. 모델 작성을 시작하기 전에 이러한 문제를 해결해야 합니다. 그러나 일반적으로 초대형 데이터 집합으로 작업하는 경우 모든 트랜잭션을 살펴볼 수는 없습니다. 그러므로 Integration Services에서와 같이 자동화 기능을 사용하여 데이터를 탐색하고 불일치하는 사항을 찾아내야 합니다.
데이터 탐색
데이터 마이닝 프로세스의 3번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 준비된 데이터를 탐색하는 것입니다.
모델을 만들 때 적절한 결정을 내리기 위해서는 데이터를 이해해야 합니다. 탐색 기술에는 최소값 및 최대값 계산, 평균 편차 및 표준 편차 계산, 데이터 배포 검토 등이 포함됩니다. 데이터를 탐색한 다음에는 데이터 집합에 결함이 있는 데이터가 있는지 확인하여 문제를 해결할 수 있는 전략을 고안할 수 있습니다.
BI Development Studio의 데이터 원본 뷰 디자이너에는 데이터 탐색에 사용할 수 있는 여러 도구가 포함되어 있습니다.
모델 작성
데이터 마이닝 프로세스의 4번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 마이닝 모델을 작성하는 것입니다.
모델을 작성하기 전에 준비된 데이터를 임의로 분리하여 별도의 성향 습득 데이터 집합 및 테스트 데이터 집합에 넣어야 합니다. 성향 습득 데이터 집합으로는 모델을 작성할 수 있고 테스트 데이터 집합으로는 예측 쿼리를 만들어 모델의 정확도를 테스트할 수 있습니다. Integration Services의 비율 샘플링 변환을 사용하여 데이터 집합을 분할할 수 있습니다.
데이터 탐색 단계에서 얻은 정보를 사용하면 마이닝 모델을 정의하고 만드는 데 도움이 됩니다. 일반적으로 모델에는 입력 열, 식별 열 및 예측 가능한 열이 포함됩니다. 모델을 정의 및 생성한 다음에는 DMX(Data Mining Extensions) 언어를 사용하거나 BI Development Studio의 데이터 마이닝 마법사를 사용하여 새 모델에 이러한 열을 정의할 수 있습니다. DMX 사용 방법은 DMX(데이터 마이닝 확장) 참조를 참조하십시오. 데이터 마이닝 마법사 사용 방법은 데이터 마이닝 마법사를 참조하십시오.
마이닝 모델의 구조를 정의한 다음에는 이를 처리하여 모델을 설명하는 패턴으로 빈 구조를 채웁니다. 이를 모델 성향 습득이라고 합니다. 수학적 알고리즘을 통해 원래 데이터를 전달하여 패턴을 찾을 수 있습니다. SQL Server 2005에는 작성할 수 있는 각 모델 유형에 대한 여러 알고리즘이 포함되어 있습니다. 매개 변수를 사용하여 각 알고리즘을 조정할 수 있습니다.
마이닝 모델은 데이터 마이닝 구조 개체, 데이터 마이닝 모델 개체 및 데이터 마이닝 알고리즘으로 정의할 수 있습니다.
참조 항목:마이닝 구조(Analysis Services), 데이터 마이닝 알고리즘
Microsoft SQL Server 2005 Analysis Services(SSAS)에는 다음 알고리즘이 포함되어 있습니다.
- Microsoft 의사결정 트리 알고리즘
- Microsoft 클러스터링 알고리즘
- Microsoft Naive Bayes 알고리즘
- Microsoft 연결 알고리즘
- Microsoft 시퀀스 클러스터링 알고리즘
- Microsoft 시계열 알고리즘
- Microsoft 신경망 알고리즘(SSAS)
- Microsoft 로지스틱 회귀 알고리즘
- Microsoft 선형 회귀 알고리즘
모델 탐색 및 유효성 검사
데이터 마이닝 프로세스의 5번째 단계는 다음 다이어그램에 강조 표시된 바와 같이 작성한 모델을 탐색하고 모델의 효율성을 테스트하는 것입니다.
모델을 프로덕션 환경에 배포하기 전에는 모델의 효율성을 반드시 테스트해야 합니다. 또한 여러 모델을 만든 경우 이러한 모델 중 가장 뛰어난 모델을 결정해야 합니다. 모델 작성 단계에서 만든 모델의 효율성이 모두 떨어지는 경우 프로세스의 이전 단계로 돌아가 문제를 다시 정의하거나 원래 데이터 집합의 데이터를 다시 조사해야 할 수 있습니다.
BI Development Studio의 데이터 마이닝 디자이너에 있는 뷰어를 사용하여 알고리즘이 검색한 경향 및 패턴을 탐색할 수 있습니다. 또한 리프트 차트 및 분류 행렬과 같은 디자이너의 도구를 사용하여 모델의 예측 정확도를 테스트할 수 있습니다. 이러한 도구에는 모델 작성 단계에서 원래 데이터 집합과 분리한 테스트 데이터가 필요합니다.
참조 항목:데이터 마이닝 모델 보기, 데이터 마이닝 모델 유효성 검사, 리프트 차트, 분류 행렬
모델 배포 및 업데이트
데이터 마이닝 프로세스의 마지막 단계는 다음 다이어그램에 강조 표시된 바와 같이 가장 효율적인 모델을 프로덕션 환경에 배포하는 것입니다.
프로덕션 환경에 마이닝 모델을 배포한 다음에는 필요에 따라 다양한 작업을 수행할 수 있습니다. 다음은 수행 가능한 일부 작업입니다.
- 모델을 사용하여 예측 만들기. 이러한 예측을 사용하여 비즈니스상의 결정을 내릴 수 있습니다. SQL Server에서는 예측 쿼리를 만드는 데 사용할 수 있는 DMX 언어 및 쿼리 작성에 도움이 되는 예측 쿼리 작성기를 제공합니다.
- 데이터 마이닝 기능을 응용 프로그램에 직접 포함. 마이닝 구조 및 마이닝 모델 생성, 변경, 처리 및 삭제를 위해 응용 프로그램에서 사용할 수 있는 개체 집합이 포함된 어셈블리 또는 AMO(Analysis Management Objects)를 포함시킬 수 있습니다. 또는 Analysis Services 인스턴스에 XMLA(XML for Analysis) 메시지를 직접 보낼 수도 있습니다.
- Integration Services를 사용하여 마이닝 모델을 통해 들어오는 데이터를 여러 테이블에 논리적으로 분리하는 패키지 만들기. 예를 들어 잠재적인 고객으로 데이터베이스를 계속 업데이트하는 경우 Integration Services와 함께 마이닝 모델을 사용하여 들어오는 데이터를 제품을 구매할 가능성이 높은 고객과 제품을 구매하지 않을 가능성이 높은 고객으로 분할할 수 있습니다.
- 사용자가 기존 마이닝 모델에 대해 직접 쿼리할 수 있는 보고서 만들기
모델 업데이트는 배포 전략의 일부입니다. 더 많은 데이터가 조직에 들어올수록 모델을 다시 처리하여 효율성을 향상시켜야 합니다.
참조 항목:Analysis Services에서의 처리, DMX 예측 쿼리 만들기, DMX(데이터 마이닝 확장) 참조, Analysis Services Administration Programming (SSAS)