본문 바로가기
[자격증]/ADsP 데이터분석 준전문가

[14day] 데이터 마이닝

by 에디터 윤슬 2024. 10. 22.
 

데이터 마이닝이란

  • 데이터 마이닝(Data Mining)은 방대한 양의 데이터 속에서 숨겨진 규칙, 패턴 등을 찾아내어 예측하거나 의사결정에 활용하는 것을 목적으로 한다. 인공지능이 발달함에 따라 컴퓨터가 스스로 학습하는 알고리즘인 머신러닝(Machine Learning)을 구현하기 위한 바탕이 된다.
  • "통계분석은 표본을 통해 의미 있는 자료를 추출하고, 이를 기반으로 의사결정, 요약, 연관성 파악, 예측 등의 결과로 이어지도록 하는 일련의 과정을 말한다. 통계분석은 [수집->정제->추정->검정]의 과정을 통해 이루어진다." 통계학은 표본이 있어야 한다는 것과 그 표본을 통해 모집단의 어떤 특성을 추정하고 검정한다는 것이 중요하다. 추정이라는 개념에는 바로 '가설과 검정'이라는 개념도 포함되어 있다.
  • 그렇다면 데이터 마이닝은 통계와 무엇이 다를까? 상향식 접근법을 생각하면 쉽다. 데이터 마이닝은 굳이 가설과 검정을 하지 않아도 좋다. 데이터들을 분석하여 숨겨진 규칙이나 패턴을 찾아내는 것이 중요하다. 그렇다면 왜 규칙이나 패턴이 중요할까? 바로 예측이나 설명이 가능하기 때문이다.
  • 데이터들 속에 숨겨진 규칙이나 패턴을 찾아낸다면 데이터 마이닝을 통해 일종의 함수, 즉 모형을 만들 수 있고 그 모형을 토대로 예측이 가능하다. 바로 이 예측이 가능하다는 것은 기업의 이장에서 보면 사업 성공의 가능성을 높이 끌어 올릴 수 있다는 의미다. 혹은 예측이 아니라 설명이 가능하다면 데이터 마이닝을 통해 기업의 의사결정에 큰 도움이 될 것이며, 신제품 개발에 활용하여 신사업 성공률을 높일 수도 있을 것이다.
  • 이것을 광의의 개념에서 본다면 데이터 마이닝을 통해 인사이트(예측과 설명)를 얻는 과정으로 이해하면 좋다. 우리가 가장 처음 공부했던 빅데이터와 인사이트를 기억해보자. 데이터 마이닝의 궁극적인 목적은 인사이트를 얻어 이를 활용하는 데 있다.
  • 데이터 마이닝은 분석의 목적과 필요한 데이터를 정의하는 '목적 정의 단계' -> 필요한 데이터를 수집하고 데이터 정제를 통해 데이터의 품질을 보장하는 '데이터 준비 단계' -> 분석 목적에 맞게 목표 변수를 정의하고 분석 기법 적용이 가능한 형태로 데이터를 가공하는 '데이터 가공 단계' -> 분석 기법을 적용해 목적하는 정보를 추출하는 '데이터 마이닝 기법 적용 단계' -> 추출한 정보를 검증하는 '검증 단계'의 순으로 진행된다.

데이터 마이닝의 종류★★★

방법에 따른 분류

지도학습

  • 지도학습이란 정답이 있는 데이터를 활용해 분석 모델을 학습시키는 것이다. 컴퓨터가 학습할 때 입력 데이터에 따른 출력 데이터가 모두 필요한 학습 방법이다.
  • 고양이 사진 50장과 강아진 사진 50장을 입력 데이터로 줄 때 각 사진마다 고양이 사진인지, 강아지 사진인지에 대한 정보(일종의 정답지)가 필요한 것이다.
  • 학습이 끝났다면 컴퓨터는 새로운 사진을 입력받았을 때 사진 속 동물이 강아지인지 고양이인지 판별할 수 있다. 독립변수에 따른 종속변수가 있다면 지도학습이라 할 수 있다.

비지도학습

  • 비지도학습이란 지도학습과는 달리 정답을 알려주지 않고 학습하는 것이다. 컴퓨터가 학습할 때 입력 데이터만 가지고 그 속에 숨겨진 패턴을 찾아내는 학습 방법이다.
  • 정답 레이블이 없는 강아지 사진과 고양이 사진 100장을 입력 데이터로 줄 때, 컴퓨터는 정확히 어떤 동물이라고 정의할 수는 없지만, 동물들의 특징이 비슷한 동물끼리 군집화를 실시한다.
  • 독립변수에 따른 종속변수가 없으면 비지도학습이라 할 수 있다.

목적에 따른 분류

분류(Classification) 분석

  • 대표적인 지도학습 중 하나로 동물, 식물의 종을 분류하거나 영화나 음악의 등급 분류, 신용등급평가와 같이 데이터가 어느 그룹에 속하는지 판별하고자 하는 분석 기법이다.
  • 대표적인 분석 기법으로는 로지스틱 회귀분석(Logistic Regression), 의사결정나무(Decision Tree), 앙상블(Ensemble)분석, 인공신경망, k-NN(k-Nearest Neighborhood)등의 방법이 있다.

군집(Clustering) 분석

  • 비지도학습 중 하나로 여러 이질적인 데이터들 사이의 유사성을 측정하여 유사성이 높은 객체끼리 하나의 그룹으로 묶기 위한 분석 방법이다.
  • 병합적 방법, 분할적 방법, K-평균 군집(K-means Clustering)등의 방법이 있다.

연관(Association) 분석

  • 비지도학습 중 하나로 장바구니 분석으로 불린다. '맥주를 사는 고객은 귀저기를 살 가능성이 높다'와 같이 데이터(상품)의 연관성을 파악하는 분석 방법이다.
  • 연관분석을 활용하여 상품이나 카탈로그의 배열, 교차판매, 판촉행사 등을 위한 목적으로 활용할 수 있으며, 분석의 결과는 연관 규칙으로 나타낸다.

데이터 마이닝의 프로세스★★

목적 정의

  • 데이터 마이닝의 결과로 무엇을 알고자 하는지 분명한 목적을 설정하는 단계다.
  • 이해관계자 모두가 설정된 목적에 동의하면 전문가의 참여하에 데이터 마이닝에 필요한 기법 및 필요 데이터를 정의한다.

데이터 준비

  • 고객정보, 고객거래정보 등 데이터 마이닝에 필요한 데이터를 수집하는 단계다.
  • 데이터 정제를 통해 데이터의 품질을 보장하고, 필요할 경우 보강 작업을 거쳐 충분한 양의 데이터를 확보하여 데이터 부족 문제가 발생하지 않도록 한다.

데이터 가공

  • 데이터 마이닝 목적에 따른 목적 변수를 정의하고 데이터 마이닝에 적용 가능한 형식으로 데이터를 변환하는 단계다.

데이터 마이닝 기법 적용

  • 앞서 준비된 데이터를 활용하여 데이터 마이닝 기법을 적용하는 단계다.
  • 소프트웨어 및 라이브러리의 메뉴얼에 따라 데이터 마이닝을 할 수 있지만 어떤 알고리즘을 적용하느냐에 따라 결과의 성과가 달라지므로 분석 전문가가 필요하다.

검증

  • 데이터 마이닝의 결과로 얻은 모델에 대한 평가 및 실제 업무에서 적용 가능한지 성능을 검증하는 단계다. 평가가 우수하다면 IT부서와 협의하여 업무에 적용하고 모델의 기대효과를 알릴 수 있도록 한다.

과적합(과대적합)과 과소적합

  • 과적합과 과소적합에 대해서는 이미 앞서 회귀분석에서 살펴본 바 있다. 회귀분석편에서 회귀분석의 관점에서 과적합과 과소적합을 방지하기 위해 정규화 선형회귀를 사용한다고 언급했다. 정규화 선형회귀에는 제약 조건의 종류에 따라 릿지(Ridge), 라쏘(Lasso), 엘라스틱넷(Elastic Net) 회귀모형이 사용된다.
  • 간단히 다시 언급하면 다음과 같다. 과적합의 경우 데이터가 훈련용 데이터에 대하여 너무 많이 설명하려고 하여 모델이 복잡해지고 해석의 어려움이 발생한다. 또한 실제 데이터에 대해 예측력이 떨어지는 문제가 발생한다. 반대로 과소적합은 데이터 부족 문제로 발생할 수도 있지만 모델이 너무 단순하여 데이터를 충분히 설명하지 못하는 문제를 말한다.

 

데이터 분할을 통한 검증★★★

홀드아웃

  • 홀드아웃은 가장 보편적인 데이터 분할을 통한 검증 방법이다.
  • 홀드아웃은 전체 데이터를 랜덤하게 추출해 학습 데이터와 테스트 데이터로 분리하는 방식이다.
  • 일반적으로 학습 데이터는 80%, 테스트 데이터는 20%, 혹은 학습 데이터는 60%, 검증 데이터 20% 테스트 데이터 20%가 되게 데이터를 분할한다. 테스트 데이터는 오로지 모델의 성과 평가만을 위해 사용된다.

K-Fold 교차검증

  • 전체 데이터셋을 k개의 집단으로 구분한 뒤 k-1개의 훈련용(train) 데이터로, 나머지 1개를 평가용(test) 데이터로 사용하여 구축된 k개의 모델을 종합하여 최종 모델을 구축하는 방법이다.
  • 모델의 정확도를 향상시킬 수 있다.
  • 과적합 및 과소적합을 방지할 수 있다는 장점이 있다.
  • k번의 모델 구축으로 모델 훈련에 많은 시간을 필요로 한다.

붓스트랩

  • 붓스트랩은 표본을 다시 추출하는 방법의 일종이다. 통계학에서 표본을 다시 추출하는 경우는 모델의 신뢰도를 높여 성능을 개선하고자 할 때다. 랜덤하게 반복 추출하여 머신러닝 모델의 성능 향상을 꾀할 수 있다.
  • 붓스트랩은 원본 데이터의 크기만큼 복원추출을 수행한다.
  • 붓스트랩은 항상 관측된 데이터로부터 복원 추출하며, 추정의 신뢰성을 평가하는 데 사용된다.
  • 붓스트랩은 데이터셋의 분포가 고르지 않은 경우에 사용될 수 있으며, 과적합을 줄이는 데 도움이 된다.

붓스트랩에 한번도 선정되지 않을 확률
- 크기가 n인 데이터셋에서 하나의 데이터를 뽑을 때 특정한 데이터가 뽑힐 확률을 1/n, 뽑히지 않을 확률은 1-1/ndlek.
- 크기가 n인 데이터셋에서 붓스트랩을 구성할 때, 특정한 데이터가 한번도 선정되지 않을 확률은 (1-1/n)n제곱이다.
- 자료 선정을 무한히 반복할 경우 이 근사값은 e-1제곱근에 가까워지면, 이는 약 36.8%에 해당한다.

계층별 k-겹 교차 검증

  • 주로 불균형 데이터를 분류하는 문제에서 사용하는 방법으로 작동 방식은 k-폴드 교차검증과 동일하다.
  • 예를 들어, 참인 경우가 1000개, 거짓인 경우가 10개인 데이터셋의 경우 k-폴드 교차검증을 사용하면 특정 폴드에는 거짓 데이터가 하나도 포함되지 않을 수 있다. 계층별 k-겹 교차 검증은 각 폴드가 가지는 레이블의 분포가 유사하도록 폴드를 추출해 교차검증을 실시한다.

오버샘플링 & 언더샘플링

  • 데이터의 수가 충분하다 하더라도 목표변수의 수가 불균형하면 잘못된 데이터 분할이 수행되어 모델 구축 시 학습이 안되는 경우가 발생할 수 있다.
  • 데이터의 목표변수는 균형을 이루었을 때 가장 안정적으로 데이터 분할이 수행 가능하며 목표변수의 다양한 범주에 대해서 학습이 가능하다.
  • 특정 범주가 많은 데이터를 다른 범주와 균형을 맞추도록 데이터 셋을 축소시키는 작업을 언더샘플링이라하며, 특정 번주가 적은 데이터를 데이터 셋의 크기를 확장시키는 작업을 오버샘플링이라한다.