|
데이터 마이닝 응용 프로그램은 데이터 마이닝 모델을 일상적인 업무에 통합합니다. 대부분의 데이터 마이닝 프로젝트의 목표는 비즈니스 사용자, 파트너 및 고객이 이 응용 프로그램의 기초가 되는 복잡한 계산을 전혀 생각하지 않고 매일 사용할 수 있는 분석 응용 프로그램을 만들 수 있도록 하는 것입니다. 이러한 목표를 달성하는 단계는 크게, 데이터 마이닝 모델을 만든 다음 응용 프로그램을 만드는 두 단계로 나눌 수 있습니다. SQL Server "Yukon" 데이터 마이닝은 이러한 두 단계를 아주 쉽게 실행할 수 있도록 만들어 줍니다.
"Yukon"의 데이터 마이닝 기능에 대한 Microsoft의 목표는 다음과 같은 도구를 만드는 것입니다.
본 백서를 읽는 모든 이들은 분명 데이터 마이닝 응용 프로그램을 "사용"해 본 경험이 있을 것입니다. 책이나 음반을 온라인으로 구매한 적이 있고 "이 제품을 구입한 고객들이 많이 찾는 제품"이라는 추천을 받았거나 신용 카드 회사에서 의심이 가는 거래를 확인해 줄 것을 요청받은 경우, 또는 식료품 가게에서 영수증에 개인별 쿠폰을 인쇄해 준 적이 있다면, 데이터 마이닝 응용 프로그램을 사용하거나 이 응용 프로그램의 도움을 받은 적이 있는 것입니다. 지금까지 이러한 응용 프로그램 개발은, 데이터 마이닝 응용 프로그램을 만드는 데 필요한 진귀한 분석 기술과 높은 개발 비용을 감당할 능력이 되는 대기업에서 처리하는 아주 큰 문제들에만 초점을 맞추어 왔습니다. Microsoft의 OLAP 기술이 OLAP 시장의 성장을 도왔던 것처럼 우리도 과거에는 이러한 응용 프로그램을 개발할 수 없었던 기업과 개별 부서에 데이터 마이닝 기술을 확장하려고 합니다.
SQL Server "Yukon" 데이터 마이닝 도구를 사용하여 일련의 데이터 패턴을 살펴보고 이러한 패턴을 예측해 보십시오. 데이터 마이닝의 모든 과정은 조사, 패턴 확인, 패턴 예측으로 이루어집니다.
Microsoft SQL Server "Yukon" Analysis Services를 포함한 모든 데이터 마이닝 도구는 다수의 알고리즘을 사용합니다. 물론 Analysis Services는 확장성이 있으므로 타사 ISV 또한 Analysis Services 데이터 마이닝 프레임워크에 원활하게 스냅인하는 알고리즘을 개발할 수 있습니다. 데이터와 그 목표에 따라 선호하게 되는 알고리즘이 다르며 한 알고리즘을 여러 가지 문제에 사용할 수 있습니다.
데이터 마이닝 도구는 여러 유형의 문제를 해결하는 데 적합합니다. 비즈니스 문제를 크게 분류해 보면 다음과 같습니다.
분석 문제 | 예 | Microsoft 알고리즘 |
분류: "양호" 및 "불량"과 같이 미리 정의된 클래스에 사례를 할당 |
|
|
세분화(Segmentation): 유사한 사례를 분류하는 분류법 개발 |
|
|
연관: 상호 관계에 대한 고급 카운팅 |
|
|
시계열 예측: 미래 예측 |
|
|
예측: 유사 사례(예: 기존 고객)의 가치를 기초로 새로운 사례(예: 새 고객)의 가치 예측 |
|
|
편차 분석: 사례 또는 세그먼트가 서로 어떻게 다른지 확인 |
|
|
SQL Server "Yukon"에는 가장 널리 사용되는 데이터 마이닝 알고리즘이 함께 제공됩니다.
모델 만들기, 성향 습득 및 테스트 프로세스는 응용 프로그램 만들기에서 가장 어려운 부분입니다. 사실, 응용 프로그램 개발은 단순 프로그래밍입니다. 데이터 마이닝 모델을 만들기 전에, 우선 데이터 웨어하우스에 데이터를 수집하여 정리해야 합니다. SQL Server "Yukon" 데이터 마이닝은 관계형 데이터베이스 또는 Analysis Services 큐브의 데이터에 액세스할 수 있습니다.
데이터 마이닝 모델을 개발하기에 가장 적합한 사람은 비즈니스와 기술, 이렇게 두 가지 모두에 숙련된 기량을 갖추고 있는 사람입니다. 이 모델의 개발자는 통계의 배경 정보로부터 이익을 얻고, 그 기업이 직면한 주요 비즈니스 문제점을 파악할 수 있고, 데이터 및 관계에 대한 깊은 호기심을 가지며, SQL Server "Yukon" 도구를 사용하여 데이터를 조작 및 저장할 수 있게 됩니다. 따라서 기존 데이터 웨어하우스 팀원이 이러한 기준을 가장 잘 충족시키는 사람들이라고 할 수 있겠습니다.
데이터 마이닝의 초보자라면 프로토타입 모델을 만드는 동시에 몇 주 간 데이터, 도구 및 대체 알고리즘에 대해 알아 보는 시간을 갖는 것이 좋습니다. 데이터베이스 관리 권한을 가지고 있는 개발 서버를 이용하십시오. 모델 만들기의 초기 단계는 예비 단계로, 이 단계에서는 데이터 구조를 변경하고 다양한 방법을 시도해 보고 싶을 것입니다. 그리고 먼저 작은 하위 데이터 집합부터 시작한 다음 그 모델의 디자인에 대한 보다 분명한 비전을 개발해 나가면서 데이터 집합을 확장하는 편이 좋습니다. 프로토타입 단계에서는 "제작 준비 완료"된 응용 프로그램 만들기에 대해 걱정하지 마십시오. DTS 또는 필요한 데이터 조작을 가장 편안하게 실행할 수 있는 도구를 사용하십시오. 그리고 필요한 변환에 대해 꼼꼼히 기록하되 지금 하는 모든 작업이 영구 응용 프로그램의 일부가 될 것이라고는 기대하지 마십시오.
비즈니스 문제점에 가장 적합한 모델을 선택하려면 모델 개발을 위한 데이터와 그 모델의 정확성을 테스트하는 데이터를 준비해야 합니다. 데이터 하위 집합을 만드는 방법에 대해 생각할 때는 선입견을 갖지 않도록 주의해야 합니다. 예를 들어 매 10번째 고객을 선택한다거나, 아니면 성의 첫 번째 문자나 다른 임의의 특성을 기초로 구별한다거나 하는 방법을 사용하십시오.
데이터 마이닝 모델 개발은 다음 사항을 선택하는 과정으로 구성됩니다.
비즈니스 문제점에 어떤 유형의 알고리즘을 사용해야 할지 모르는 경우에는 Decision Trees 또는 Na?ve Bayes를 사용해 데이터를 조사하는 작업부터 시작해야 합니다. 어떤 특성을 포함시켜야 할지 모르겠다면 모두 선택하십시오. 또한 복잡한 모델을 단순화하는 데 도움이 되는 보기를 제공해 주는 의존성 네트워크 보기를 사용하십시오.
프로토타입 개발 단계에서 관계형 모델을 만들어 최상의 알고리즘과 모델을 평가하고 싶을 것입니다. 마이닝 정확성 차트를 사용하면 어떤 모델의 예측이 가장 우수한지 평가할 수 있습니다. 그리고 관계형 모델을 만들어 동일한 데이터에 대해 별도의 분석을 실행하고 싶을 수도 있습니다. 이러한 모델은 개별적으로 정의된 모델보다는 관계형 모델로 보다 신속히 처리됩니다.
프로토타입을 만들어 테스트를 완료한 후에는 실제 데이터 마이닝 모델을 만들고 테스트할 수 있습니다. 데이터 마이닝 엔진에 데이터를 입력하기 전에 변환해야 한다면 그렇게 하는 프로덕션 준비 작업 프로세스를 개발해야 합니다. 어떤 경우에는 DTS 파이프라인에서 직접 마이닝 모델을 채우는 방법을 선택할 수도 있습니다. 작은 데이터 하위 집합에서 프로토타입을 개발한 경우에는 전체 성향 습득 데이터 집합에서 대체 모델을 재평가해야 합니다.
BI "Workbench" 내에서 데이터 마이닝 모델을 개발하고 연구 조사하면 상당한 대가를 얻을 수 있습니다. 이 모델을 살펴 보면 데이터와 비즈니스 사이의 관계를 파악할 수 있으며 그 정보를 사용해 전략적 결정을 내릴 수 있기 때문입니다. 하지만 가장 큰 장점은 일상 업무에 영향을 미치는 데이터 마이닝 응용 프로그램에서 얻을 수 있습니다. 예를 들면, 고객에게 제품을 권장하거나 고객의 신용 위험 점수를 매기거나 재고 부족분 예측량을 기초로 주문을 하는 데이터 마이닝 응용 프로그램이 여기에 해당됩니다. 운영 데이터 마이닝 응용 프로그램을 개발하려면 SQL Server "Workbenches" 밖에서 Microsoft Visual Studio 또는 원하는 개발 환경을 사용하여 일부 코드를 작성해야 합니다.
대부분의 엔터프라이즈 고객은 고객이 사용하는 데이터 마이닝 응용 프로그램을 ASP 페이지와 같은 웹 기반 또는 Win32 응용 프로그램으로 실행합니다. 데이터 마이닝 모델이 만들어지면, 응용 프로그램이 웹 상거래 응용 프로그램에 입력하였거나 선택한 것을 기초로 고객에 대한 예측을 실행합니다. 아주 간단한 응용 프로그램도 가능하며, 예외적인 부분이라면 예측 쿼리를 발행한다는 것 뿐입니다.
데이터 마이닝 응용 프로그램 개발자가 그 마이닝 모델을 개발한 사람과 동일한 사람일 필요는 없습니다. 응용 프로그램 개발자는 주요 개발 기술은 갖추고 있어야 하지만 비즈니스 또는 통계 지식은 상대적으로 거의 필요하지 않습니다.
Microsoft의 데이터 마이닝 기술을 사용하면 다음 두 단계 실행으로 자동화된 데이터 마이닝 응용 프로그램을 아주 쉽게 만들 수 있습니다.
독립 소프트웨어 공급업체 고객들은 데이터 마이닝 모델을 생성하는 응용 프로그램을 만들고 싶을 것입니다. 이런 응용 프로그램이 아마도 웹 분석과 같은 특정 도메인에 대한 BI "Workbench"의 마이닝 모델 개발을 대체할 것입니다. 그럴 경우 AMO(Analysis Management Objects)에 액세스할 수 있도록 개발 프로젝트에 Microsoft.DataWarehouse.Interfaces를 포함시켜야 합니다.
DMX라고 하는 SQL과 유사한 단순한 프로그래밍 언어에서는 세 단계의 데이터 마이닝(데이터 마이닝 모델 만들기, 모델 성향 습득, 그 모델에서 동작 예측)을 이용할 수 있습니다. 다음은 구문 예제입니다. DMX 처리에 대한 전체 내용은 Books Online을 참조하십시오.
데이터 마이닝 모델 만들기
CREATE MINING MODEL CreditRisk (CustID LONG KEY, Gender TEXT DISCRETE, Income LONG CONTINUOUS, Profession TEXT DISCRETE, Risk TEXT DISCRETE PREDICT) USING Microsoft_Decision_Trees
데이터 마이닝 모델 성향 습득
INSERT INTO CreditRisk (CustId, Gender, Income, Profession, Risk) SELECT CustomerID, Gender, Income, Profession, Risk From Customers
데이터 마이닝 모델에서 동작 예측
SELECT NewCustomers.CustomerID, CreditRisk.Risk, PredictProbability(CreditRisk) FROM CreditRisk PREDICTION JOIN NewCustomers ON CreditRisk.Gender=NewCustomer.Gender AND CreditRisk.Income=NewCustomer.Income AND CreditRisk.Profession=NewCustomer.Profession
첫댓글 전체 유콘에 대한 글은 http://www.microsoft.com/korea/technet/prodtechnol/sql/next/DWSQLSY.asp 입니다.