[프로그래머를 위한 데이터마이닝] #1. 데이터 마이닝이란

예전에 하둡 기반의 로그 분석 시스템을 개발하면서 데이터 마이닝이라는 분야를 접했다. 맨땅에서 헤딩하는 격으로 시작하긴 했는데 별다른 지적 성장도 이뤄내지 못했고, 시스템적인 성과도 없었다. 그럼에도 배웠던 내용을 머리에서 삭제하기는 아까워서 정리했던 모양이다. 참 부지런했다.

총 5개의 시리즈로 글을 썼다.

  • 데이터 마이닝이란?
  • WEKA를 활용한 데이터 마이닝
  • 클러스터링(Clustering)이란
  • 유사도(Similarity)와 거리(Distance)
  • 유사도를 기반으로 추천 시스템 만들기

우선 데이터 마이닝에 대해서 알아본다

개념

데이터 마이닝(Data Mining)이란 데이터를 분석하여 데이터간의 패턴을 발견하고 예측 모델(predictive model)을 만드는 일이다. 또는 데이터 마이닝은 대규모 데이저 저장소에서 유용한 정보를 자동으로 탐색하기 위해, 기존의 데이터 분석 기법과 대규모 데이터 처리를 위한 알고리즘을 합성한 기법이다.

데이터 마이닝은 데이터를 분석해서 이전에는 알려지지 않은 패턴이나 모델을 발굴하는 데 그 목적을 두고 있다.

what_is_data_mining

그림. 데이터 마이닝을 통해 과거의 데이터(Historical Data)를 기반으로 예측 모델을 만든 후, 미래의 데이터를 모델에 적용한다.

KDD(Knowledge Discovery in Database)

KDD란 데이터에서 유용한 정보와 패턴을 발견하는 프로세스다.

kdd_process

  • Selection
    다양한 정보원으로부터 데이터를 수집한다.
  • Preprocessing
    데이터를 전처리한다.
  • Transformation
    표준화된, 분석가능한 형태로 데이터를 변환한다.
  • Data Mining
    유용한 정보/패턴을 발견한다.
  • Interpretation / Evaluation
    발견한 정보나 패턴을 도메인 관점에서 해석한다.

즉 데이터 마이닝은 KDD 전체 프로세스의 일부과정일 뿐이다. 실제로 데이터 마이닝은 전체 과정에서 12% 정도의 자원(또는 시간)을 소모할 뿐이며, 데이터를 수집하고 전처리/변환 과정에서 80% 정도의 자원(시간)을 필요로 한다.

데이터 마이닝 모델의 유형

데이터 마이닝 모델은 아래와 같은 유형이 있다.

types_data_mining

  • 예측형(Predictive)
    데이터는 입력값과 결과값으로 구성되어 있다.
    즉 입력값 x가 주어진 경우 그 결과로 y가 만들어진다.
    이 경우 모델은 f : x -> y 로 모델링할 수 있다.
    이와 같이 입력값을 기반으로 결과 값, 또는 목표(target)를 예측하는 모델이다.

    • 회귀(regression): 목표가 연속형인 경우
    • 분류(classification): 목표가 이산형/범주형인 경우
  • 서술형(Descriptive)
    이와 달리 서술형에서는 결과값이 알려져 있지 않은 입력 데이터에 대해, 데이터에 숨어 있는 패턴을 찾아내는 방법이다.

    • 군집(clustering): 거리(비유사도)를 기반으로 관련성이 높은 항목을 서로 그룹화하는 방법
    • 연관 규칙(association rule): 입력 데이터의 각 속성간의 관련성을 찾는 방법

주요 알고리즘

  • 회귀
    • Linear Regression
    • Logistic Regression
  • 분류
    • 결정 트리(Decision Tree)
    • 신경망(Neural Networks)
    • 지지 벡터 머신(Support Vector Machine)
    • 베이지안(Bayesian) 분류기: 순수 베이지안(Naive Bayes) 분류기, 베이지안 믿음 네트워크(BBN: Bayesian Belief Network
    • 앙상블(Ensemble)
  • 군집
    • K-means 클러스터링
    • 밀도 기반 클러스터링

 

Leave a Reply

Your email address will not be published. Required fields are marked *