데이터 마이닝이란 대용량 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법을 뜻한다. 이는 가설이나 가정에 따른 분석이나 검증을 하는 통계분석과는 달리, 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미 있는 정보를 찾아내는 방법을 통칭하는 것이다.
데이터 마이닝의 종류에는 정보를 찾는 방법론에 따른 분류와 분석대상, 활용목적, 표현방법에 따른 분류가 있다. 정보를 찾는 방법론에 따른 분류로는 인공지능(Artificial Intelligence), 의사결정나무(Decision Tree), K-평균군집화(K-means Clustering), 연관분석 (Association Rule), 회귀분석(Regression), 로짓분석(Logit Analysis), 최근접이웃(Nearest Neighboorhood) 등이 있다. 반면 분석대상, 활용목적, 표현방법에 따른 분류로는 시각화분석(Visualization Analysis), 분류(Classification), 군집화(Clustering), 포케스팅(Forecasting) 등이 있다. 이러한 데이터 마이닝은 병원에서 환자에게 발생 가능성이 높은 병을 예측하는 데에도, 기존 환자가 응급실에 왔을 때에 우선적으로 해야 할 조치에 대한 결정, 대출적격 여부 판단, 세관 검사에서 관세물품 반입 여부 예측 등 여러 분야에서 사용이 되고 있다.
데이터 마이닝의 분석 방법은 지도학습이라 불리는 Supervised Data Predication, 비지도학습이라 불리는 Unsupervised Data Predication이 있다. 지도학습에는 의사결정나무(Decision Tree), 인공신경망(ANN, Arificial Neural Network), 일반화 선형 모형(GLM, Generalized Linear Model), 회귀분석(Regression Analysis), 로지스틱 회귀분석(Logistic Regression Analysis), 사례기반 추론(Case-Based Reasoning), 최근접 이웃법(KNN, K-Nearest Neighbor) 등이 존재한다. 반면 비지도학습에는 OLAP(On-Line Analytical Processing), 연관성 규칙발견(Association Rule Discovery, Market Basket), 군집분석(K-Means Clustering), SOM(Self Organizing Map) 등이 존재한다.
데이터 마이닝 분석 목적으로는 크게 예측(Predictive Modeling), 설명(Descriptive Modeling)으로 나뉘고, 이에 따른 작업 유형에는 예측 목적에 따른 분류 규칙(Classification), 설명 목적에 따른 연관규칙(Association), 연속규칙(Sequence), 데이터 군집화(Clustering) 등이 있다. 분류 규칙에 따른 사용기법으로는 회귀분석, 판별분석, 신경망, 의사결정나무가 있고, 연관규칙과 연속규칙에 따른 기법은 동시발생 매트릭스, 데이터 군집화에 따른 기법으로는 K-Means Clustering을 사용한다.
데이터 마이닝의 추진 단계로는 크게 다섯 단계로 나눌 수 있다. 1단계 목적 설정, 2단계 데이터 준비, 3단계 가공, 4단계 기법 적용, 5단계 검증 단계가 있다. 목적 설정 단계에서는 데이터마이닝을 통해 무엇을 왜 하는지 정확한 목적을 설정하고, 전문가가 참여하여 사용할 모델과 필요한 데이터를 적용하게 된다. 데이터 준비 단계에서는 고객정보, 거래정보, 소셜 네트워크 데이터 등 다양한 데이터를 활용하되, IT 부서와 사전에 협의하고 조율하여 데이터 접근 부하에 유의하여야 한다. 가공 단계에서는 모델링 목적에 따라 목적 변수를 정의하고, 필요한 데이터를 데이터마이닝 소프트웨어에서 적용할 수 있는 형식으로 가공을 한다. 기법 적용 단계에서는 1단계 목적 설정 단계에서 설정한 명확한 목적에 맞게 데이터마이닝 기법을 적용하여 정보를 추출하고, 검증 단계에서는 추출된 정보를 검증하고 테스트 데이터와 과거 데이터를 활용하여 최적의 모델을 선정하게 된다.
한편, 데이터마이닝을 위해서는 데이터를 분할하는 과정을 거치게 되는데, 모델 평가용 테스트 데이터와 구축용 데이터로 분할하여 모형을 생성하고, 모형이 얼마나 적합한 지를 판단하게 한다. 데이터는 크게 구축용(training data), 검정용(validation data), 시험용(test data)으로 분할을 한다. 여기서 구축용 데이터는 추정용, 훈련용 데이터라고도 불리며 데이터마이닝 모델을 만드는데 활용하며, 검정용 데이터는 구축된 모형의 과대추정 또는 과소추정을 미세 조정을 하는데 활용하고, 시험용 데이터는 테스트 데이터나 과거 데이터를 활용하여 모델의 성능을 검증하는 데 활용하는 데이터이다. 하지만 데이터의 양이 충분하지 않거나 입력 변수에 대한 설명이 충분한 경우 주어진 데이터를 랜덤하게 학습용(training data)과 시험용(test data)으로 분리하여 사용하는 홀드아웃(hold-out data) 방법을 사용하거나, 주어진 데이터를 하부집단으로 구분하여 일부 집단을 학습용으로 설정하고 나머지 집단을 검증용으로 설정하여 학습하는 교차확인(cross-validation) 방법을 사용한다. 1)
데이터 마이닝을 하는데 사용되는 툴(도구)로 여러 가지가 있지만, MS SQL Server와 연계하여 사용되는 Microsoft SQL Server Analysis Services가 있다. 이는 데이터 마이닝 솔루션을 만드는 데 사용할 수 있는 다음 도구들을 포함한다.
데이터 마이닝 마법사 SQL Server Data Tools는 관계형 데이터 원본이나 큐브의 다차원 데이터를 사용하여 마이닝 구조와 마이닝 모델을 쉽게 만들 수 있도록 한다. 이 마법사에서 사용할 데이터를 선택한 다음 클러스터링, 신경망 또는 시계열 모델링과 같은 특정 데이터 마이닝 기술을 적용할 수 있다. 모델 뷰어는 마이닝 모델이 만들어진 후 마이닝 모델을 탐색하기 위해 SQL Server Management Studio 및 SQL Server Data Tools에서 제공되고, 각 알고리즘에 맞게 조정된 뷰어를 사용하여 모델을 찾아보거나 모델 콘텐츠 뷰어를 사용하여 세부적으로 분석할 수 있다. 예측 쿼리 작성기는 예측 쿼리를 쉽게 만들 수 있도록 SQL Server Management Studio 및 SQL Server Data Tools에서 제공한다. 홀드아웃 데이터 집합 또는 외부 데이터에 대해 모델의 정확도를 테스트하거나 교차 유효성 검사를 사용하여 데이터 집합의 품질을 평가할 수도 있다. SQL Server Management Studio는 Analysis Services 인스턴스에 배포된 기존 데이터 마이닝 솔루션을 관리하는 인터페이스다. 구조와 모델을 다시 처리하여 구조와 모델의 데이터를 업데이트할 수 있다. SQL Server Integration Services 에는 데이터를 정리하고, 예측 생성, 모델 업데이트 등의 태스크를 자동화하고, 텍스트 마이닝 솔루션을 만드는 데 사용할 수 있는 도구가 있다.
데이터 마이닝 마법사를 사용하여 데이터 마이닝 솔루션 생성을 시작할 수 있는데, 이 마법사는 데이터 마이닝 구조 및 초기 관련 마이닝 모델을 만드는 과정을 안내하고 알고리즘 유형 및 데이터 원본 선택 태스크와 분석에 사용되는 사례 데이터 정의 태스크를 포함한다.
마이닝 모델을 만들어 서버에 배포한 후 SQL Server Management Studio를 사용하여 데이터 마이닝 개체를 호스팅하는 Analysis Services 데이터베이스를 관리할 수 있다. 또한 모델 탐색, 새 데이터 처리, 예측 생성 등의 모델을 사용하는 태스크를 계속 수행할 수도 있습니다. Management Studio 에는 DMX(Data Mining Extensions) 쿼리를 디자인하고 실행하거나 XMLA를 사용하여 데이터 마이닝 개체로 작업하는 데 사용할 수 있는 쿼리 편집기도 포함되어 있다. 2)
1) 참고도서 : 2020 ADsP 데이터분석 준전문가 (데이터에듀, 윤종식)
- 3과목 5장 1절 데이터 마이닝의 개요
'데이터 [Data] > 데이터베이스론' 카테고리의 다른 글
데이터베이스론 보고서 6 : ER 모델이 개선된 것 + 각 특징 (0) | 2021.07.13 |
---|---|
데이터베이스론 보고서 5 : Join을 할 때 사용되는 제약조건 (0) | 2021.07.12 |
데이터베이스론 보고서 3 : 후보 키(candidate key) (0) | 2021.07.10 |
데이터베이스론 보고서 2 : 외래 키가 릴레이션에서 참조하는 관계를 정리하기 (0) | 2021.07.09 |
데이터베이스론 보고서 1 : 현재 데이터베이스 상품을 조사하기 (0) | 2021.07.08 |
댓글