데이터 마이닝(Data Mining)이란?

2017. 2. 13. 13:37빅데이터분석

참고 항목 - 데이터 마이닝 개념



데이터 마이닝의 사전적 의미는 다음과 같습니다.


 "데이터베이스로부터 과거에는 알지 못했지만 데이터 속에서 유도된 새로운 데이터 모델을 발견하여 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용하는 과정을 말한다. 즉 데이터에 숨겨진 패턴과 관계를 찾아내어 광맥을 찾아내듯이 정보를 발견해 내는 것이다. 여기에서 정보 발견이란 데이터에 고급 통계 분석과 모델링 기법을 적용하여 유용한 패턴과 관계를 찾아내는 과정이다. 데이터베이스 마케팅의 핵심 기술이라고 할 수 있다."


데이터 마이닝에 대한 다양한 정의들이 있지만 일반적으로 데이터마이닝은 "대용량 데이터에 대한 탐색적 분석" 으로 정의할 수 있습니다. 




즉, 데이터마이닝이란 광산에서 광석을 캐내는 것에 비유한 것으로, 금광석에 극히 미량으로 포함된 금을 여러 단계를 거쳐 추출하듯이 "수 많은 데이터의 산에서 가치있는 유용한 정보를 찾아 내는 것"  이라고 할 수 있습니다.



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


  1. 문제 정의

  2. 데이터 준비

  3. 데이터 탐색

  4. 모델 작성

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

  6. 모델 배포 및 업데이트


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


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


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




문제 정의


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


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

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


- 찾으려는 것이 무엇입니까? 찾고자 하는 관계의 유형은 무엇입니까?

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

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

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

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

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


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

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




데이터 준비


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


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

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

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

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




데이터 탐색


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


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

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

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




모델 작성


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


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

마이닝 구조를 만들어 사용할 데이터를 정의합니다. 마이닝 구조는 데이터의 원본을 정의하지만 처리되기 전까지는 데이터가 포함되지 않습니다. 마이닝 구조를 처리하여 분석에 사용할 수 있는 집계 및 기타 통계 정보를 생성합니다. 이 정보는 해당 구조를 기반으로 하는 마이닝 모델에서 사용할 수 있습니다. 

모델이 처리되기 전의 데이터 마이닝 모델은 단지 입력에 사용되는 열, 예측할 특성 및 알고리즘에 데이터 처리 방식을 알려 주는 매개 변수를 지정하는 컨테이너입니다. 모델을 처리하는 작업을 학습이라고도 합니다. 학습은 패턴을 추출하기 위해 구조의 데이터에 특정 수학적 알고리즘을 적용하는 프로세스입니다. 학습 프로세스에서 찾은 패턴은 선택한 학습 데이터, 선택한 알고리즘 및 알고리즘의 구성 방식에 따라 달라집니다. 

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

데이터가 변경될 때마다 마이닝 구조와 마이닝 모델을 모두 업데이트해야 합니다.. 원본이 동적으로 업데이트된 경우에는 검색 시 새 데이터도 포함됩니다. 해당 구조를 기반으로 하는 모델이 있는 경우 이러한 모델을 업데이트하여 새 데이터에 대해 다시 학습되도록 할 수도 있고 모델을 그대로 둘 수도 있습니다.




모델 탐색 및 유효성 검사


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


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

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

학습 데이터 집합으로는 모델을 작성할 수 있고 테스트 데이터 집합으로는 예측 쿼리를 만들어 모델의 정확도를 테스트할 수 있습니다. 모델이 데이터와 관련되어 있는지 또는 일반적인 모집단에 대해 유추하는 데 사용할 수 있는지 확인하려면 교차 유효성 검사라는 통계 기법을 사용하여 데이터의 하위 집합을 자동으로 만들고 각 하위 집합에 대해 모델을 테스트합니다. 

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




모델 배포 및 업데이트


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


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

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


- 모델을 사용하여 예측 만들기. 이러한 예측을 사용하여 비즈니스상의 결정을 내릴 수 있습니다.

- 내용 쿼리를 만들어 모델에서 통계, 규칙 또는 수식 검색. 

사용자가 기존 마이닝 모델에 대해 직접 쿼리할 수 있는 보고서 만들기. 

- 검토 및 분석 후 모델 업데이트. 업데이트 시 모델을 다시 처리해야 합니다. 

조직에 더 많은 데이터가 들어올 때 모델을 동적으로 업데이트. 지속적인 변경을 통해 솔루션의 효율성을 높이는 것은 배포 전략의 일부가 되어야 합니다.