12. 정형 데이터 마이닝 개요
12.1 데이터 마이닝 개요
개념
데이터 마이닝이란?
데이터 마이닝이란 용어는 대부분 통계학자들과 데이터베이스 학자들이 MIS분야와 경영분야 등에서 사용하는 용어이다. 거대한 양의 데이터 속에서 쉽게 드러나지 않는 유용한 정보를 찾아내는 과정이라고 할 수 있다. 숨겨진 규칙, 패턴 등을 찾아내어 예측하거나 의사결정에 활용하는 것을 목적으로 한다.
- 예를 들어, 사람들은 "창문이 많은 집에는 도둑이 많다"라는 말을 보험요율에 적용될 수 있으리라고 생각하지는 않았을 것이다. 실제로 영국의 한 보험회사는 이러한 사실을 이용하여 차별적인 보험요율을 적용함으로써, 보다 효과적인 정책을 수립하게 되어 기업 수익증대에 커다란 공헌을 하게 되었다. 창문과 도둑의 관계를 찾아내는 것, 이것이 데이터 마이닝이다.
통계분석과 데이터 마이닝의 차이
통계분석
통계분석은 가설이나 가정에 따른 분석 및 검증을 한다.
데이터 마이닝
데이터 마이닝은 굳이 가설과 검정을 하지 않아도 되며, 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미있는 정보를 찾아내는 방법을 통칭한다.
- 숨겨진 규칙이나 패턴을 찾아낸 후 데이터 마이닝을 통해 일종의 함수, 즉 모형을 만들 수 있고 그 모형을 토대로 예측이 가능하다.
- 데이터 마이닝의 궁극적인 목적은 인사이트를 얻어 이를 활용하는 데 있다.
대표적인 데이터 마이닝 사례
-
마케팅 및 고객 서비스:
기업들은 데이터 마이닝을 사용하여 고객 행동을 분석하고 예측하여 개별 고객에게 맞춤형 마케팅 전략을 구축한다. 이를 통해 고객 유치, 유지, 상품 추천, 이탈 예측 등을 수행할 수 있다.
-
금융 분야:
금융 기관은 데이터 마이닝을 이용하여 부정 거래 탐지, 고객 신용 위험 평가 등을 수행한다. 예를 들어, 신용카드 거래 내역을 분석하여 사기 행위를 감지할 수 있다.
-
의료 분야:
의료 분야에서는 환자 기록과 의료 이미지를 분석하여 질병 진단, 예측, 환자 특성 분석 등에 활용된다. 개인 맞춤형 의료 서비스 제공에도 기여한다.
-
생산 및 공급망 관리:
제조업체들은 센서 데이터와 제조 과정 데이터를 분석하여 생산 프로세스를 최적화하고 불량률을 줄이는 데 활용한다.
-
사회 네트워크 및 웹 분석:
소셜 미디어 데이터를 통한 사용자 행동 분석, 추천 시스템 등이 데이터 마이닝의 예시다.
-
환경 모니터링:
센서 데이터를 활용하여 환경 모니터링 및 예측에 사용된다. 대기 오염, 기후 변화 등을 분석하여 예방 조치를 취할 수 있다.
데이터 마이닝의 종류

데이터 마이닝의 분석 방법
데이터 마이닝 방법에 따른 분류
지도학습
지도학습이란, 알고리즘에게 입력 데이터와 그에 대한 정답을 제공하여 모델을 훈련시키는 방식이다
- 지도 학습은 입력과 출력 간의 관계를 학습하고, 이를 통해 새로운 입력에 대한 예측이나 분류를 수행할 수 있게 한다.
- 손글씨 이미지를 입력 데이터로 줄 때 어떤 숫자인지에 대한 정답 정보가 필요한 것이다. 학습이 끝나면 새로운 사진을 입력받았을 때 어떤 숫자인지 판별할 수 있다.

비지도 학습
비지도학습이란 지도학습과 달리 정답을 제공하지 않고 학습하는 방식이다.
- 정답 레이블이 없는 데이터에서 패턴이나 구조를 찾는 머신러닝 방법이다.
- 정확한 정답은 정의할 수 없지만 비슷한 특징끼리 군집화를 실시한다.

데이터 마이닝의 대표적인 여섯가지 기능과 예
-
분류 (Classification)
- 가장 많이 사용되되는 작업으로 대표적인 지도학습 중 하나이다.
- 생물을 문,종,속으로 나누거나 물질을 요소별로 나누는 것, 사람을 인종별로 나누는 것 등 존재하는 것들을 다양한 기준으로 분류한다.
- 분류는 새롭게 나타난 현상을 검토하여 기존의 분류, 정의된 집합에 배정하는 것을 의미한다.
- 대표적인 분석 기법 : 의사결정나무, 메모리 기반 추론, 로지스틱 회귀분석, 앙상블, 인공신경망, k-NN 등
-
추정 (Estimation)
- 분류가 '예/아니오’와 같이 결과물을 분리하는데 사용된다면, 추정은 ‘수입, 수준, 신용카드 잔고’등 연속된 변수의 값을 추정하는데 사용한다.
- 주어진 입력 데이터를 사용하여 알려지지않은 결과의 값을 추정해낸다.
- 예를 들어, ‘부모가 있는 어린이의 수’를 추정하는 것, '가족 구성원의 총 수입’ 추정, '고객의 평생 가치’ 추정 등을 들 수 있다.
- 대표적인 분석 기법 : 신경망 모형
-
예측 (Prediction)
- 미래의 양상을 예측하거나 미래의 값을 추정한다는 것을 제외하면 분류, 추정과 동일한 의미를 갖는다.
- 앞선 두 기능의 정확성을 알아보고자 할 때, 기존 결과와 비교해 보면 바로 알 수 있지만 예측 작업에 있어서 그 기법의 정확성을 알아보는 단 한 가지 방법은 기다리고 지켜보는 것이다.
- 연관 분석의 한 기법인 장바구니 분석(market basket analysis) 기법도 예측 작업에 사용될 수 있다. 예를 들어 '어느 상품이 식료품 가게에서 함께 구매될 수 있는지’와 같은 질문에 답을 찾을 수 있도록, 장바구니 분석 기술을 사용해서 현재의 데이터가 내포하고 있는 경향을 분석하여 미래를 예측할 수 있기 때문이다.
- 장바구니 분석, memory-based reasoning, 의사결정나무, 신경망 등이 모두 예측에 사용되는 기술들이며, 기술의 사용은 입력 데이터의 성격에 따라 다르게 결정된다.
-
연관 분석 (Association Analysis)
- ‘같이 팔리는 물건'과 같이 상품(데이터)의 연관성을 파악하는 분석이다.
- 이 방법을 사용해서 소매점 들은 물건의 배열 계획을 세울 수도 있고, 카탈로그 배열 및 교차 판매, 공격적 판촉행사 등의 마케팅 계획도 세울 수 있다.
- 연관 분석의 한 기법인 장바구니 분석의 결과는 연관 규칙으로 나타난다.
-
군집 (Clustering)
- 이질적인 모집단을 동질성을 지닌 그룹 별로 세분화하는 것을 의미한다.
- 군집과 분류의 차이점 : 군집은 선분류 되어있는 기준에 의존하지 않는다. 미리 정의된 기준이나 예시에 의해서가 아닌, 레코드 자체가 지니고 있는 다른 레코드와의 유사성에 의해 그룹화되고 이질성에 의해 세분화된다.
- 주로 데이터 마이닝이나 모델링의 준비단계로 사용된다. 예를 들어 군집은 시장 세분화의 첫 단계로서, 판촉 활동에 가장 반응률이 높은 고객들을 선별할 때 사용되기도 하고, 구매습관이 유사한 그룹별로 사람들을 군집화한 다음, 각각 그룹 별로 가장 효과적인 판촉 방법을 계획할 수 있다.
-
기술 (Description)
- 데이터가 가지고 있는 의미를 기술하는 것을 말한다.
- 설명이 가능해야 하며, 그 답을 찾을 수 있어야 한다.
프로세스 | 데이터 마이닝 추친 5단계
1단계 : 목적 정의
데이터 마이닝 도입의 목적을 분명히 하는 단계이다. 데이터 마이닝을 통해 무엇을 왜 하는지 명확한 목적을 설정해야 한다.
- 데이터 마이닝의 목적은 이해관계자 모두가 동의하고 이해할 수 있어야 한다.
- 가능하면 1단계부터 전문가가 참여해 목적에 따라 사용할 데이터 마이닝 모델과 필요한 데이터를 정의하는 것이 바람직하다.
2단계 : 데이터 준비
고객정보와 거래정보, 상품 마스터 정보, 웹로그 데이터, 소셜 네트워크 데이터 등 데이터 마이닝 수행에 필요한 데이터를 수집하는 단계이다.
- 대부분 용량이 크므로 IT부서와의 사전 협의를 통하여 데이터 접근 부하가 심한 과업을 수행해도 문제가 없도록 일정을 조율하고 도움을 요청해야 한다.
- 필요시 데이터를 다른 서버에 저장하여 운영에 지장이 없도록 한다.
- 데이터 정제를 통해 데이터의 품질을 보장하고, 필요할 경우 데이터를 보강하여 충분한 양의 데이터를 확보한다.
3단계 : 데이터 가공
데이터 마이닝 기법 적용이 가능하도록 수집된 데이터를 가공한다.
- 모델링 목적에 따라 목적 변수를 정의하고 필요한 데이터를 데이터 마이닝 소프트웨어에 적용할 수 있는 형식으로 가공한다.
4단계 : 데이터 마이닝 기법 적용
수집된 데이터에 데이터 마이닝 기법을 적용하는 단계이다.
- 앞선 단계를 거쳐 준비한 데이터와 데이터 마이닝 소프트웨어를 활용하여 목적하는 정보를 추출한다.
- 데이터 마이닝 모델을 목적에 맞게 선택하고 소프트웨어를 사용하는 데 필요한 값을 지정하는 단계이기도 하다.
- 어떤 기법을 활용하고 어떤 값을 입력하느냐 등에 따라 그 성과가 달지기에 데이터 분석 전문가의 전문성이 필요하다.
5단계 : 검증
데이터 마이닝으로 추출한 정보를 검증하는 단계이다.
- 테스트 데이터와 과거 데이터를 활용하여 최적의 모델을 선정한다.
- 휴면고객 재탈환 가능성을 모델링하는 것과 휴면 고객을 대상으로 재탈환 캠페인을 펼쳤을 때 반응할 고객을 모델링하 는 것은 전혀 다른 이야기이다. 검증 단계를 거친 후에는 자동화 방안을 IT부서와 협의하여 상시적으로 데이터 마이닝 결과를 업무에 적용할 수 있도록 해야 한다. 더불어 보고서를 작성하여 경영진에게 연간 추가수익과 투자대비성과(ROI) 등으로 기대효과를 알릴 수 있어야 한다
연습문제
1번
거대한 양의 데이터 속에서 숨겨진 규칙, 패턴 등을 찾아내어 예측하거나 의사결정에 활용하는 것을 일컫는 것은?
1. 의사결정지원시스템
2. 지식경영
3. 데이터마이닝
4. 데이터웨어하우징
정답
데이터 마이닝이란 거대한 양의 데이터 속에서 쉽게 드러나지 않는 유용한 정보를 찾아내는 과정이라고 할 수 있다.
2번
데이터 마이닝 단계 중 데이터 마이닝 모델을 목적에 맞게 선택하고 소프트웨어를 사용하는 데 필요한 값을 지정하는 단계는 무엇인가?
1. 데이터 준비
2. 데이터 가공
3. 데이터 마이닝 기법 적용
4. 검증
정답
4단계 데이터 마이닝 기법 적용에 해당하는 내용이다.
3번
다음 중 분석기법의 활용 분야가 나머지와 다른 하나는 무엇인가?
1. 군집분석
2. 앙상블 모형
3. k-NN
4. 의사결정나무
정답
군집분석은 비지도 학습에 해당하고 나머지는 지도 학습에 해당한다.
12.2 데이터마이닝을 위한 데이터 분할
데이터 분할의 이해
데이터 분할이란?
주어진 데이터 집합을 여러 부분으로 나누는 프로세스를 의미한다.일반적으로 기계 학습 및 통계 분석에서 데이터를 훈련 세트와 테스트 세트로 나누는 데 사용된다. 이를 통해 모델을 훈련하고 평가하는 데에 사용된다.
- 데이터 분할의 주요 목적은 모델의 일반화 성능을 평가하고, 훈련된 모델이 새로운 데이터에 대해 얼마나 잘 수행될지를 확인하는 것이다. 따라서 학습에 전혀 영향을 주지 않은 테스트 데이터로 측정한 성과가 높아야 학습이 적절하게 됐다고 볼 수 있다.
데이터 분할
데이터 마이닝 기법을 적용하기에 앞서 데이터를 훈련용, 검정용, 평가용의 세 가지 데이터로 분할한다.
훈련용/구축용 (Training Data, 50%)
- 추정용 데이터라고도 불리며 데이터 마이닝 모델을 만드는데 활용한다.
검정용 (Validation Data, 30%)
- 구축된 모델이 적합한지 검증하고, 모형의 과대추정 또는 과소추정을 방지하기 위해 활용된다.
시험용 (Test Data, 20%)
- 테스트 데이터나 과거 데이터를 활용하여 모델의 성능을 검증하는데 활용한다.
과적합과 과소적합
과적합/과대적합 (Overfitting)
- 모델이 훈련 데이터에 너무 많이 적응되어 훈련 데이터의 노이즈까지 학습하는 상태
- 너무 많이 설명하려고 하여 모델이 복잡해지고 해석의 어려움 발생
- 실제 데이터에 대해 예측력이 떨어지는 문제 발생
과소적합 (Underfitting)
- 모델이 훈련 데이터의 패턴을 충분히 학습하지 못하여 예측 능력이 떨어지는 상태
- 데이터의 부족 문제와 모델이 단순하여 데이터를 충분히 설명하지 못하는 문제 발생
데이터 분할을 통한 검증
홀드아웃에서는 데이터의 수가 적을 경우 각 데이터셋이 전체 데이터를 대표하지 못할 가능성이 크다.
홀드아웃
가장 보편적인 데이터 분할을 통한 검증 방법으로 전체 데이터를 랜덤하게 추출하여 학습 데이터와 테스트 데이터로 분리하는 방식이다
- 일반적으로 학습 데이터는 80%, 테스트 데이터는20%, 혹은 테스트 데이터 30%가 되도록 데이터를 분할한다.
- 검증용 데이터로 하이퍼파라미터를 튜닝하는 단계가 생략되었으며, 테스트 데이터는 오로지 모델의 성과평가만을 위해 사용된다.
참고하면 좋을 내용 👀
- 파라미터
- 파라미터는 모델이 학습하는 동안 조정되는 변수를 나타낸다.
- 모델이 구축되는 과정에서 사람의 개입이 없이 발견되는 최적의 값으로 회귀분석의 회귀계수, 인공신경망의 가중치 등을 예로 들 수 있다.
- 하이퍼파라미터
- 하이퍼파라미터는 모델의 구조 및 학습 과정에 영향을 주는 변수로, 모델 학습 전에 사람이 수동으로 지정해야 하는 값이다.
- 뒤에서 배우게 될 인공신경망의 은닉 층의 수, k-NN의 k값을 예로 들 수 있다.
k-Fold 교차검증 (cross-validation)
데이터를 k개의 집단으로 나누어 모델을 여러 번 훈련하고 평가하는 과정
- k-1개를 훈련용 데이터로, 나머지 1개를 평가용 데이터로 사용하여 구축된 k개의 모델을 종합하여 최종 모델을 구축하는 방법
- 모델의 정확도를 향상시키고 과소적합 방지 가능
- k번의 모델 구축으로 모델 훈련에 많은 시간이 필요하다는 단점 발생
부트스트랩
통계학에서 사용되는 리샘플링 방법 중 하나로, 기존의 데이터 집단에서 복원추출을 통해 여러 개의 샘플을 생성하고 이를 통해 모집단의 특성을 추정하는 방법
- 통계학에서 표본을 다시 추출하는 경우는 모델의 신뢰도를 높여 성능을 개선하고자 할 때다.
- 랜덤하게 반복 추출하여 머신러닝 모델의 성능 향상을 꾀할 수 있다.
- 데이터셋의 분포가 고르지 않은 경우에 사용될 수 있으며, 과적합을 줄이는 데 도움이 된다.
계층별 k-겹 교차 검증 (Stratified k-fold cross validation)
불균형 데이터를 분류하는 문제에서 사용하는 방법으로 작동 방식은 k-폴드 교차검증과 동일하다.
- 데이터를 k개의 서로 다른 부분집합(폴드)으로 나누고, 각각의 폴드에 대해 모델을 k번 학습하고 평가하는 과정을 반복
- 예를 들어, 고양이와 개를 분류하는 머신러닝 모델을 만든다고 가정했을 때 계층별로 데이터를 나누어 각 계층에 동일한 비율의 고양이와 개가 들어가도록 한다. 따라서 각 교차 검증 폴드에도 고양이와 개의 비율이 전체 데이터셋과 비슷하게 유지된다.
연습문제
1번
과대 적합에 대한 설명으로 옳지 않은 것은?
1. 생성된 모델이 훈련 데이터에 최적화되어 있기 때문에 테스트 데이터의 작은 변화에 민감하게 반응한다.
2. 실제 데이터에 대해서는 예측력이 떨어지지 않는다.
3. 모델이 복잡해지고 해석의 어려움이 발생한다.
4. 각각의 데이터를 너무 정확하게 설명하였기 때문에 새로운 데이터에 해당 모형을 적용시킨다면 일반화가 어려워 예측에 실패할 수 있다.
정답
과대 적합은 실제 데이터에 대해 예측력이 떨어지는 문제가 발생한다
2번
아래 보기에서 설명하는 것으로 옳은 것은?
<보기>
전체 데이터를 랜덤하게 추출하여 학습 데이터와 테스트 데이터로 분리하는 방식
1. 홀드아웃 방법
2. k-Fold 교차검증
3. 붓스트랩
4. 계층별 k-겹 교차 검증
정답
해당 설명은 홀드아웃 방법에 대한 설명이다.
3번
데이터 분할에 대한 설명으로 옳지 않은 것은?
1. 훈련용 데이터는 데이터 마이닝 모델을 만드는데 활용한다.
2. 데이터 분할의 주요 목적은 모델의 일반화 성능을 평가하는 것이다.
3. 기존 데이터로 측정한 성과가 높아야 학습이 적절하게 됐다고 볼 수 있다.
4. 주어진 데이터 집합을 여러 부분으로 나누는 프로세스를 의미한다.
정답
데이터 분할의 주요 목적은 모델의 일반화 성능을 평가하고, 훈련된 모델이 새로운 데이터에 대해 얼마나 잘 수행될지를 확인하는 것이다. 따라서 학습에 전혀 영향을 주지 않은 테스트 데이터로 측정한 성과가 높아야 학습이 적절하게 됐다고 볼 수 있다.