본문 바로가기
CS/Data Mining

[DataMining] 1-2. Data Mining Tasks

by 쵸빙 2020. 4. 27.

저번 시간에는 데이터 마이닝이 무엇인지, 왜 필요한지에 대해 배웠다.

이번 시간에는 데이터 마이닝들이 수행하는 작업들에 대해 배워보도록 하겠다.

 

 

 

 

● Classification (Predictive)

- 분류는 지도학습에 해당한다.

- 분류하는 모델을 찾아야하는데, input으로 들어가는 attribute가 있고, output으로 나오는 attribute는

  class attribute라고 한다.

- 분류한 뒤 그 결과가 맞는지 틀리는지는 일정한 시간이 지난 다음에 알 수 있는 경우가 있다. 예를 들어, 신용카드

  회사에 고객이 정보를 신청하면 자신의 인적사항을 적으면 보통, 우수, 불량 고객인지 처음에 정하는데 정말

  그런지는 한 달 뒤 정도에 알 수 있다.

 

- training set이라는 기록들의 모음이 주어지는데, 이것은 모델을 만드는 데 사용되는 데이터로, 정답이 주어지기 때문에

  classification은 supervised learning이다.

  → class attribute라는 답을 미리 알고 있고, 모델이 예측한 calss attribute가 다르면 같아지도록 model을

     조정해야한다.

- record는 attribute들을 가지고 있고, 그 중 하나가 class attribute이다.

 

- 다른 attribute들을 입력으로 가지는 함수인 모델을 만들고, class attribute를 출력으로 낸다.

- 이전에 보지 못한 record는 최대한 정확하게 class가 정해져야한다.

  → test set은 모델의 정확도를 결정하기 위해 사용된다. 보통 주어진 데이터셋은 training dataset과 test dataset으로

     나뉘고, training set은 모델을 구축하기 위해 사용되고, test set은 그 모델을 검증하기 위해 사용된다.

 

위는 training dataset과 test dataset의 한 예인데, training dataset은 cheat이라는 class attribute가 주어지고, test dataset에는 빈칸으로 비어있어서, 우리가 예측해야함을 알 수 있다.

 

 

* Classification 사용

① Direct Marketing

- 목적 : 새로운 핸드폰 제품을 살 것 같은 사람들만 타겟으로 함으로써 우편을 보내는 비용을 줄인다.

* 방법

- 이전에 소개된 비슷한 제품에 대한 데이터들을 모은다.

- 우리는 어떤 고객들이 구매를 결정하는지 알고, 이 '산다(buy)', '안 산다(don't buy)'가 class attribute가 된다.

- 이러한 모든 고객들로부터 인류통계학, 생활 패턴 등의 관련된 정보를 얻는다.

- 이러한 정보들을 입력 attribute로 하여 classifier 모델을 훈련시킨다.

 

② Fraud Detection

-  목적 : 신용카드 거래 내역에서 부정 경우들을 예측한다.

* 방법

- 신용카드 거래 내역과 그 신용카드 주인의 정보들(언제, 무엇을, 얼마나 자주 구매하는지 등)을 attribute로 사용한다.

- 이전의 거래 내역을 부정 거래와 적절한 거래로 label한다. 이것이 class attribute가 된다.

- 모델을 거래에 대한 class로 훈련시킨다.

- 이 모델을 신용카드 거래 내역을 살펴봄으로써 사기를 detect하는 데 쓴다.

 

③ Customer Attrition / Churn

- 고객들의 감원 / 이탈 예측

  → 월마트같은 대형 소매점에서 고객이 어떤 결정을 할 것인지

- 목적 : 고객이 경쟁사로 이동할 것인지 아닌지를 예측한다.

* 방법

- 과거와 현재의 고객들의 거래 내역을 살펴보고 attribute를 뽑아낸다.

  → 예: 얼마나 자주 고객이 전화하는지, 어디에 전화하는지, 언제 가장 자주 전화하는지, 그 사람의 재정 상태,

      결혼 여부 등

- 고객을 loyal, disloyal로 구분한다.

- loyalty를 class attribute로 하여 model을 훈련시킨다.

 

④ Sky Survey Cataloging

- 앞까지는 상업적인 목적으로 데이터마이닝을 이용했다면 이 예시는 과학적인 목적으로 데이터마이닝을 이용한다.

- 목적 : 천문에서는 별과 행성이 어마어마하게 많아서 분류가 필요한데, 하늘에서의 별이나 은하를 분류하고, 특히

  잘 안 보이는 흐릿한 것들을 망원경 이미지로 구분한다.

* 방법

- 이미지를 부분부분 나눈다.

- 이미지에서 각 물체마다 40개 정도로 attribute를 추출한다.

 

 

 

 

 

● Clustering (Descriptive)

- Unsupervisesd Learning

- 여러 데이터 점들의 집합이 주어지면, attribute들이 각각 있고, 그들 중에서 유사도를 측정하고 cluster(군집)을 찾는다.

  → 하나의 군집에서의 데이터 점들은 서로 아주 유사하다.

  → 다른 군집에 있는 점들은 서로 덜 유사하다.

- 유사도 측정 방법

  → Euclidean Distance : 속성들이 연속적일 때 사용하는 직선 거리이다.

  → 문제에 따라 다른 방법이 쓰일 수도 있다.

- 위와 같이 거리가 가까운 것들을 모아서 같은 색으로 군집화했다.

- 여기에서는 x, y, z로 3개의 축이 있는데 각각 다른 attribute를 의미한다.

 

* Clustering 사용

① Market Segmentation

- 목적 : 시장을 분할하여 서로 유사한 고객들끼리 clustering함.

* 방법

- 고객들의 지리적, 생활 패턴에 기반한 서로 다른 속성들을 모은다.

- 비슷한 고객들에 대해 군집화를 한다.

- 고객들의 구매 패턴을 관찰함으로써 군집화 유사도를 측정하여 같은 군집에 둘지, 다른 군집에 둘지 결정한다.

 

② Document Clustering

- 목적 : 중요한 단어들에 기반하여 서로와 비슷한 문서들을 찾는다.

* 방법

- 각 문서들에서 자주 나타나는 단어들을 찾는다

- 유사도를 측정하여 군집화한다.

- 정보 검색 분야에서 새로운 문서를 연관시키거나 문서들을 군집화하기 위해 단어를 찾는 데에 사용된다.

- 위의 예시는 Los Angeles Times의 3204개의 글들에서 유사한 단어들이 몇 번 나오는지 센 것이다. 

 

③ Stock Data

- Big Data의 대부분이 금융 데이터이다.

- 금융 데이터가 바로 돈이기 때문에 그것을 잘 분석해서 유의미한 패턴을 잘 알아보아야한다.

- 같은 날에 자주 동시에 발생하는 사건이 있다면 유사한 것이므로 군집으로 묶는다.

- 그래서 up class, down class로 나누어서 30일 뒤에 주식이 상승할 것인지 아닌지를 예측한다.

 

 

 

 

 

● Association Rule Discovery (Descriptive)

- 연관 규칙

  → 예: 장바구니 분석

- 장바구니 안에 있는 어떤 물건과 다른 물건이 동시에 나오는 정도를 파악해서 연관짓는다.

- dependency rule을 만들어낸다.

- 위의 예시는 고객들이 동시에 산 물품들의 목록이다.

 

* Association Rule Discovery 사용

① Marketing and Sales Promotion

- 발견된 dependency rule이 'bagels를 사면 potato chips도 산다'라고 해보자.

- 감자칩은 결과 → 그것의 판매를 촉진시키기 위해 무엇을 해야할지 알아내는 데 쓰일 수 있다.

- 베이글은 조건 → 만약 해당 상점이 베이글을 팔지 안흔다면 어떤 상품들이 영향을 받을지 알아보는 데 쓰일 수 있다.

- 베이글 옆에 감자칩을 진열하는 등의 방법을 쓸 수 있다.

 

② Supermarket shelf management (진열대 관리)

- 목적 : 충분히 많은 고객들로부터 동시에 구매되는 물건들을 알아낸다.

* 방법

- 바코드 스캐너에서의 정보로 물건들 사이의 dependency를 알아낸다.

- 예: 만약 고객이 기저귀와 우유를 같이 산다면, 맥주도 살 가능성이 높다.

  → 그러므로 기저귀 옆에 맥주를 진열한다. 

 

③ Inventory Management (재고 관리)

- 목적 : 가전제품 수리 회사의 고객이 물건 수리를 어떻게 맡길지를 예측해서 부품들을 미리 준비해놓는다.

* 방법

- 다른 고객 위치에서의 이전의 수리 내역을 보고 장비와 부품들을 알아낸 다음, 그로 인해 발생하는 패턴을 관측한다.

 

 

 

 

 

● Sequential Pattern Discovery (Descriptive)

- 시간적으로 떨어져있는 객체들에서 연속적인 dependency rule을 찾는다.

- 예 : 시간적으로 떨어져있는 구매 내역에서 구매 성향을 찾아라.

- 아래와 같이 계산하여 패턴을 찾는다.

 

 

 

● Regression (Predictive)

- input이 들어가면 output이 연속 값으로 나오는 형태이다.

- 주어진 연속된 입력에 따라 선형 또는 비선형 모델을 만들어서 출력을 예측한다

- 통계학과 신경망 분야에서 많이 연구되고 있다.

- 예:

① 광고 비용에 따른 신제품 판매 실적 예측

② 온도, 습도, 기압 등에 따른 바람의 속도 예측

③ 주식 시장에서 time series 예측

 

 

 

 

● Deviation Detection (Predictive)

- outlier detection이라고도 불린다.

- 대다수의 데이터와 다른 특별한 데이터를 찾는다.

- 평범한 행동들과 표준편차가 큰 것을 탐지한다.

- 신용카드 사기 검출, 네트워크 침투 검출에 쓰인다.

 

 

 

 

● Challenges of Data Mining

Scalability

- 데이터 마이닝 알고리즘에서 입력 크기에 따라서 걸리는 시간이 기하급수적으로 늘어나면 이 모델은 못 쓴다.

- 대부분 빅 데이터를 쓰기 때문에 데이터 크기가 커져도 실행시간이 선형적으로 커져야한다.

Dimensionality

- 데이터가 워낙 많으니 attribute들도 많아서 다차원의 저주 현상이 일어날 수 있다.

- 불필요한 attribute들을 제거하고 여러 가지 기법으로 attribute를 줄여서 차원 축소한다.

Complex and Heterogeneous Data

- text data, image data, voice data 등 데이터의 종류가 여러가지일 수 있다.

Data Quality

- 좋은 질의 데이터면 좋은 예측 결과가 나오고, 나쁜 질의 데이터면 나쁜 예측 결과가 나온다.

Data Ownership and Distribution

Privacy Preservation

Streaming Data

- 데이터가 실시간으로 들어오면 알고리즘이 달라질 수 있다.

 

 

 

 

 

 

 

다음 시간에는 구체적으로 데이터 마이닝을 하는 법에 대해 알아보도록 하겠다.

'CS > Data Mining' 카테고리의 다른 글

[DataMining] Deep Learning  (1) 2020.05.03
[DataMining] AI & Machine Learning  (0) 2020.05.03
[DataMining] 2-2. Data Preprocessing  (0) 2020.04.30
[DataMining] 1-1 . Introduction to Data Mining  (0) 2020.04.27