IT/ADsP 자격증

ADsp 데이터 마이닝

루돌푸다요 2024. 2. 23. 17:22

[목차]

더보기

01. 데이터 마이닝 개요 

02. 데이터마이닝을 위한 데이터 분할 

데이터 마이닝 이란 ? 

  • 데이터 마이닝 이란 용어는 대부분 통계학자들과 데이터 베이스 학자들이 MIS 분야와 경영분야 등에서 사용하는 용어이다. 
  • 거대한 양의 데이터 속에서 쉽게 드러나지 않는 유용한 정보를 찾아내는 과정이라고 할 수 있따. 
  • 숨겨진 규칙, 패턴 등을 찾아내어 예측하거나 의사결정에 활용하는 것을 목적으로 한다. 
  • 예를 들어, 살마들은 "창문이 많은 집에는 도둑이 많다" 라는 말을 보험요율에 적용될 수 있으리라고 생각하지는 않았을 것이다. 실제로 영국의 한 보험회사는 이러한 사실을 이용하여 차별적인 보험요율을 적용함으로써, 보다 효과적인 정책을 수립하게 되어 기업 수익증대에 커다란 공헌을 하게 되었다. 창문과 도둑의 관계를 찾아내는 것, 이것이 데이터 마이닝 이다. 
  • 통계 분석과 데이터 마이닝의 차이 
  • 통계 분석은 가설이나 가정에 따른 분석 및 검증을 한다. 
  • 데이터 마이닝은 굳이 가설과 검정을 하지 않아도 되며, 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미 있는 정보를 찾아내는 방법을 통칭한다. 
  • 숨겨진 규칙이나 패턴을 찾아낸 후 데이터 마이닝을 통해 일종의 함수, 즉 모형을 만들 수 있고 그 모형을 토대로 예측이 가능하다. 
  • 데이터 마이닝의 궁극적인 목적은 인사이트를 얻어 이를 활용하는 데 있다. 

대표적인 데이터 마이닝 사례 

  1. 마케팅 및 고객 서비스 : 기업들은 데이터 마이닝을 사용하여 고객행동을 분석하고 예측하여 개별 고객에게 맞춤형 마케팅 전략을 구축한다. 이를 통해 고객 유치, 유지, 상품추천, 이탈 예측 등을 수행할 수 있다. 
  2. 금융 분야 : 금융 기관은 데이터 마이닝을 이용하여 부정 거래 탐지, 고객 신용 위험 평가 등을 수행한다. 예를 들어, 신용 카드 거래 내역을 분석하여 사기 행위를 감지할 수 있따. 
  3. 의료 분야 : 의료 분야에서는 환자 기록과 의료이미지를 분석하여 질병 진단, 예측, 환자 특성 분석 등에 활용된다. 개인 맞춤형 의료 서비스 제공에도 기여한다. 
  4. 생산 및 공급만 관리 : 제조업체들은 센서 데이터와 제조 과정 데이터를 분석하여 생산 프로세스를 최적화 하고 불량률을 줄이는 데 활용한다. 
  5. 사회 네트워크 및 웹 분석: 소셜 미디어 데이터를 통한 사용자 행동 분석, 추천 시스템 등이  데이터 마이닝의 예시다. 
  6. 환경 모니터링 : 센서 데이터를 활용하여 환경 모니터링 및 예측에 사용된다. 대기 오염, 기후 변화 등을 분석하여 예방 조치를 취할 수 있다. 

 

데이터 마이닝의 종류 

데이터 마이닝의 종류

 

데이터 마이닝의 분석 방법 

데이터 마이닝 방법에 따른 분류 

  • 지도학습 
    - 지도학습이란, 알고리즘에게 입력 데이터와 그에 대한 정답을 제공하여 모델을 훈련시키는 방식이다. 
    - 지도 학습은 입력과 출력 간의 관계를 학습하고, 이를 통해 새로운 입력에 대한 예측이나 분류를 수행할 수 있게 한다. 
    - 손글씨 이미지를 입력데이터로 줄 때 어떤 숫자인지에 대한 정답 정보가 필요한 것이다. 학습이 끝나면 새로운 사진을 입력 받았을때 어떤 숫자인지 판별할 수 있다. 
분류 (범주형) -의사결정 나무 (분류트리모형)
-인공신경망
- 로지스틱 회귀분석 
- 앙상블 모형
-SVM (Support Vector Machine)
나이브 베이즈 분류 
-k-NN (K-Nearest Neighborhood)
회귀 (연속형) -의사결정 나무 (회귀트리모형)
-인공신경망(Artifical Neural Network, ANN) 
-선형 회귀 분석( Linear Regression)
-SVR 
- 릿지
- 라쏘 

 

비지도 학습

  • 비지도학습이란 지도학습과 달리 정답을 제공하지 않고 학습하는 방식이다. 
  • 정답 레이블이 없는 데이터에서 패턴이나 구조를 찾는 머신러닝 방법이다. 
  • 정확한 정답은 정의 할 수 없지만 비슷한 특징끼리 군집화를 실시한다.
군집  -군집분석 (K-Means Clustering)
-SOM (Self - Organizing Map)
-DBSCAN (밀도 기반 군집)
-병합 군집 
-계층 군집 
연관 -Apriori
차원 축소  -PCA (주성분 분석)
- LDA (선형판별분석)
- SVD (특잇값 분해) 
-MDS(다차원 척도법) 

 

데이터 마이닝의 대표적인 여섯가지 기능과 예 

1. 분류

  • 가장 많이 사용되는 작업으로 대표적인 지도학습 중 하나이다. 
  • 생물을 문,종,속 으로 나누거나 물질을 요소별로 나누는 것, 사람을 인종별로 나누는 것 등 존재하는 것들을 다양한 기준으로 분류한다. 
  • 분류는 새롭게 나타난 현상을 검토하여 기존의 분류, 정의된 집합에 배정하는 것을 의미한다. 
  • 대표적인 분석기법 : 의사결정나무, 메모리 기반 추론, 로지스틱 회귀분석, 앙상블, 인공신경망,  K-NN 등 

2. 추정(Estimation)

  • 분류가 '예 / 아니오' 와 같이 결과물을 분리하는데 사용된다면, 추정은 '수입, 수준, 신용카드 잔고' 등 연속된 변수의 값을 추정하는데 사용한다. 
  • 주어진 입력 데이터를 사용하여 알려지지 않은 결과의 값을 추정해낸다. 
  • 예를 들어, '부모가 있는 어린이의 수' 를 추정하는 것, 가족 구성원의 총 수입' 추정, '고객의 평생 가치' 추정등을 들 수 있다. 
  • 대표적인 분석 기법 :신경망 모형 

3. 예측 (Prediction)

  • 미래의 양상을 예측하거나 미래의 값을 추정한다는 것을 제외하면 분류, 추정과 동일한 의미를 갖는다. 
  • 앞선 두 기능의 정확성을 알아보고자 할 때, 기존 결과와 비교해 보면 바로 알 수 있지만 예측 작업에 있어서 그 기법의 정확성을 알아보는 단 한가지 방법은 기다리고 지켜보는 것이다. 
  • 연관 분석의 한 기법인 장바구니 분석 기법도 예측 작업에 사용될 수 있다. 예를 들어 '어느 상품이 식료품 가게에서 함께 구매될 수 있는지' 와 같은 질문에답을 찾을 수 있도록, 장바구니 분석 기술을 사용해서 현재의 데이터가 내포하고 있는 경향을 분석하여 미래를 예측할 수 있기 때문이다. 
  • 장바구니 분석, memory-based reasoning, 의사 결정 나무, 신경망 등이 모두 예측에 사용되는 기술들이며, 기술의 사용은 입력 데이터의 성격에 따라 다르게 결정된다. 

4. 연관 분석 ( Association Analycsis)

  • '같이 팔리는 물건' 과 같이 상품(데이터)의 연관성을 파악하는 분석이다. 
  • 이 방법을 사용해서 소매점 들은 물건의 배열 계획을 세울 수도 있고, 카탈로그 배열 및 교차 판매, 공격적 판촉행사 등의 마케팅 계획도 세울 수 있다. 
  • 연관 분석의 한 기법인 장바구니 분석의 결과는 연관 규칙으로 나타난다. 

5. 군집(Clustering)

  • 이질적인 모집단을 동질성을 지닌 그룹 별로 세분화 하는 것을 의미한다. 
  • 군집과 분류의 차이점 : 군집은 선분류 되어 있는 기준에 의존하지 않는다. 미리 정의된 기준이나 예시에 의해서가 아닌, 레코드 자체가 지니고 있는 다른 레코드와의 유사성에 의해 그룹화 되고 이질성에 의해 세분화 된다. 
  • 주로 데이터 마이닝이나 모델링의 준비단계로 사용된다. 예를 들어 군집은 시장 세분화의 첫 단계로서, 판촉 활동에 가장 반응률이 높은 고객들을 선별할 때 사용되기도 하고, 구매 습관이 유사한 그룹별로 사람들을 군집화한 다음, 각각 그룹별로 가장 효과적인 판촉 방법을 계획 할 수 있다. 

6. 기술 (Description) 

  • 데이터가 가지고 있는 의미를 기술하는 것을 말한다. 
  • 설명이 가능해야 하며, 그 답을 찾을 수 있어야 한다. 

프로세스 | 데이터 마이닝 추진 5단계 

1단계 : 목적 정의 

  • 데이터 마이닝 도입의 목적을 분명히 하는 단계이다. 데이터 마이닝을 통해 무엇을 왜 하는지 명확한 목적을 설정해야 한다. 
  • 데이터 마이닝의 목적은 이해관계자 모두가 동의하고 이해할 수 있어야 한다. 
  • 가능하면 1단계부터 전문가가 참여해 목적에 따라 사용할 데이터 마이닝 모델과 필요한 데이터 정의 하는 것이 바람직하다. 

2단계 : 데이터 준비 

  • 고객정보와 거래정보, 상품 마스터 정보, 웹로그 데이터, 소셜 네트워크 데이터 등 데이터 마이닝 수행에 필요한 데이터를 수집하는 단계이다. 
  • 대부분 용량이 크므로 IT 부서와의 사전 협의를 통하여 데이터 접근 부하가 심한 과업을 수행해도 문제가 없도록 일정을 조율하고 도을 요청해야 한다. 
  • 필요시 데이터를 다른 서버에 저장하여 운영에 지장이 없도록 한다. 
  • 데이터 정제를 통해 데이터의 품질을 보장하고, 필요할 경우 데이터를 보강하여 충분한 양의 데이터를 확보한다 .

3단계 : 데이터 가공 

  • 데이터 마이닝 기법 적용이 가능하도록 수집된 데이터를 가공한다. 
  • 모델링 목적에 따라 목적 변수를 정의하고 필요한 데이터를 데이터 마이닝 소프트웨어에 적용할 수 있는 형식으로 가공한다. 

4단계 : 데이터 마이닝 기법 적용

  • 수집된 데이터에 데이터 마이닝 기법을 적용하는 단계이다. 
  • 앞선 단계를 거쳐 준비한 데이터와 데이터 마이닝 소프트웨어를 활용하여 목적하는 정보를 추출한다. 
  • 데이터 마이닝 모델을 목적에 맞게 선택하고 소프트웨어를 사용하는 데 필요한 값을 지정하는 단계 이기도 하다. 
  • 어떤 기법을 활용하고 어떤 값을 입력하느냐 등에 따라 그 성과가 달라짐에 따라 데이터 분석 전문가의 전문성이 필요하다. 

5단계 : 검증 

  • 데이터 마이닝으로 추출한 정보를 검증하는 단계이다. 
  • 테스트 데이터와 과거 데이터를 활용하여 최적의 모델을 선정한다. 
  • 휴면고객 재탈환 가능성을 모델링하는 것과 휴면 고객을 대상으로 재탈환 캠페인을 펼쳤을 때 반응할 고객을 모델링 하는 것은 전혀 다른 이야기이다. 검증 단계를 거친 후에는 자동화 방안을 IT 부서와 협의하여 상시적으로 데이터 마이닝 결과를 업무에 적용할 수 있도록 해야 한다. 더불어 보고서를 작성하여 경영진에게 연간 추가수익과 투자대비성과(ROI)등으로 기대효과를 알릴 수 있어야 한다. 

 

데이터 분할의 이해 

데이터 분할이란? 

  • 주어진 데이터 집합을 여러 부분으로 나누는 프로세스를 의미 
  • 일반적으로 기계 학습 및 통계 분석에서 데이터를 훈련 세트와 테스트 세트로 나누느 데 사용된다. 이를 통해 모델을 훈련하고 평가하는 데에 사용된다. 
  • 데이터 분할의 주요 목적은 모델의 일반화 성능을 평가하고, 훈련된 모델이 새로운 데이터에 대해 얼마나 잘 수행될지를 확인 하는 것이다. 따라서 학습에 전혀 영향을 주지 않은 테스트 데이터로 측정한 성과가 높아야 학습이 적절하게 됐다고 볼 수 있다. 

데이터 분할 

  • 데이터 마이닝 기법을 적용하기에 앞서 데이터를 훈련용, 검정용, 평가용의 세 가지 데이터로 분할한다. 
  • 훈련용 / 구축용 (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번 학습하고 평가하는 과정을 반복 
  • 예를 들어, 고양이와 개를 분류하는 머신러닝 모델을 만든다고 가정했을 때 계층별로 데이터를 나누어 각 계층에 동일한 비율의 고양이와 개가 들어가도록 한다. 따라서 각 교차 검증 폴드에도 고양이와 개의 비율이 전체 데이터셋과 비슷하게 유지된다.