Transcript [Download]

Data Mining : A First View
DATA MINING - A Tutorial Based Primer
2008. 3. 20
서 진이
HPC Lab , UOS
목 차

1.1 Data Mining: A Definition

1.2 What Can Computers Learn?

1.3 Is Data Mining Appropriate for My Problem?

1.4 Expert Systems or Data Mining?

1.5 A Simple Data Mining Process Model

1.6 Why Not Simple Search?

1.7 Data Mining Applications
2
1.1 Data Mining: A Definition

Data Mining
컴퓨터 학습기법을 사용하여 데이터들로부터 지식을 자동으로 분석하거나
추출하는 과정
 데이터속에 감추어져있는 경향을 패턴을 찾는것이 목적


Induction-based Learning


학습되어질 개념의 세부 사례들을 관찰하여 그것을 일반화된 개념 정의를 만들어
가는 과정 의미
Knowledge Discovery in Databases (KDD)
과학적 연구방법을 데이터마이닝에 적용하는 것
 일반적인 KDD 모델은 DM작업 수행후 그에 따라 의사결정하는 것
 데이터를 준비하고 추출하는 방법론까지를 포함
 데이터 추출과 준비가 가장 많은 시간이 걸림

3
1.1 Data Mining: A Definition

Integration of techniques
Machine
learning
DBMS
Data
visualization
DM/KDD
Information
retrieval
Pattern
Recognition
Statistics

Must be scalable

Must extract high-level information
4
1.2 What Can Computers Learn?

Four Levels of Learning
 Facts (사실)


Concepts(개념)


목표를 이루지위해 행하여지는 행위의 순차적 과정
Principles(원리)



어떤 공통된 특징을 잦는 객체, 기호, 사건들로 묶여진 집합
Procedures(절차)


참 혹은 진리인 내용
다른 진리에 기본 및 근거가 되는 일반화된 진리나 법칙을 의미
학습의 가장 높은 레벨
Computers & Learning
컴퓨터는 개념학습에 유용
 개념은 DM의 산출물


DM Tool을 통해 학습된 개념은 Tree구조, rule, network구조, 수학공식의 형태를 지님
5
1.2 What Can Computers Learn?

Three Concept Views

Classical View




Probabilistic View


모든 개념들은 명확하게 정의되는 속성을 가짐
정의가 명확하기 때문에 잘못 해석할 여지가 없음
명확하게 정의된 속성들을 가지고 어떤 item이 어떤 개념의 사례인지 아닌지를
판단
구성원들의 확률적 속성들에 의하여 표현
Exemplar View


한 인스턴스가 어떤 개념의 사례와 충분히 유사하다면 그 인스턴스를 그 개념의
사례라고 함
사람들이 개념의 전형적인 사례를 저장하고 그것을 사용하여 새로운 인스턴스를
분류하는데에 사용한다는 가정을 사용함
6
1.2 What Can Computers Learn?

Supervised Learning (Decision Tree Example)

Table data를 일반화하여 Tree형태로 표현

귀납적 학습기법(induction-based learning)을 사용하여 개념 정의

동물, 사물 혹은 건물 모양등과 같은 개념의 인스턴스를 보고 이름을 듣고 개념을
정의하는데 사용되는 여러가지 특징 요소를 정하고 자신만의 분류 모델을 만들어냄

Decision tree로 data를 일반화하고 정확한 진단에 필요한 중요한 attribute,
attribute들간의 관계에 대한 요약을 볼 수 있음

Model의 정확도를 test set으로 측정

목적



학습하려고 하는 개념의 인스턴스들로 부터 supervised 학습을 사용하여
분류모델을 만들고자 함(귀납적)
분류모델이 만들어지면 그것을 사용하여 새로 주어진 인스턴스를 분류하기
위함(연역적)
장점

이해가 쉽고 규칙의 형태로 쉽게 변환이 되고 비교적 실험결과가 좋음
7
1.2 What Can Computers Learn?
Output Attribute
= Target Variable
= Class
Input Attribute
= Variable
Table 1.1 • Hypothetical Training Data for Disease Diagnosis
Patient
ID#
Training
data
1
2
3
4
5
6
7
8
9
10
Sore
Throat
Fever
Yes
No
Yes
Yes
No
No
No
Yes
No
Yes
Yes
No
Yes
No
Yes
No
No
No
Yes
Yes
Swollen
Glands Congestio Headache
n
Yes
No
No
Yes
No
No
Yes
No
No
No
Yes
Yes
Yes
No
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
No
No
No
No
Yes
Yes
Yes
Diagnosis
Strep throat
Allergy
Cold Instance
Strep throat= Case
Cold
Allergy
Strep throat
Allergy
Cold
Cold
8
1.2 What Can Computers Learn?
First Test/Decision
Node

Swollen
Glands
No
Production Rules
IF Swollen Glands = Yes
THEN Diagnosis = Strep
Throat
Yes
Diagnosis = Strep Throat
Fever
IF Swollen Glands = No
& Fever = Yes
THEN Diagnosis = Cold
IF Swollen Glands = No
No
Diagnosis = Allergy
Test
data
Yes
Terminal Decision
Node
Diagnosis = Cold 결정된 결과 Class
11
No
No
12
Yes
Yes
13
No
No
& Fever = No
THEN Diagnosis = Allergy
Yes
Yes
Strep throat
No
No
Yes
Cold
No
No
Yes
Allergy
Yes
9
1.2 What Can Computers Learn?

어떠한 결정트리도 production rule들로 변환시킬 수 있음

Production rule -> If 선행조건들 then 결과

규칙의 선행조건들은 root node에서 terminal node까지의
attribute 값들의 조합
The “tree” is upside down.
 The Decision Tree fits the data perfectly.


There are no errors. Accuracy = 100%.

The Decision Tree discards the unneccessary attributes

A computer algorithm to construct Decision Trees would be easy
to programme, and would do the job much quicker than we
humans can
10
1.2 What Can Computers Learn?


Unsupervised Clustering

모델 만들시 분류 클래스가 미리 정의되지 않은 데이터인스턴스들을 사용

데이터 인스턴스들은 클러스터링 시스템에 정의된 유사도에 의해 그룹핑됨
The Acme Investors Dataset
Customer
ID
1005
1013
1245
2110
1001

Account Margin Transaction
Type Account
Method
Joint
Custodial
Joint
Individual
Individual
No
No
No
Yes
Yes
Online
Broker
Online
Broker
Online
Trades/
Month
Sex
12.5
0.5
3.6
22.3
5.0
F
F
M
M
M
Age
Favorite
Recreation
Annual
Income
30–39
50–59
20–29
30–39
40–49
Tennis
Skiing
Golf
Fishing
Golf
40–59K
80–99K
20–39K
40–59K
60–79K
Supervised Clustering
Can I develop a general profile of an online investor?
 Can I determine if a new customer is likely to open a margin account?
 Can I build a model predict the average number of trades per month for
a new investor?
 What characteristics differentiate female and male investors

11
1.2 What Can Computers Learn?

The Acme Investors Dataset & Unsupervised Clustering
많은 unsupervised clustering system들은 사용자가 전체 clustering의
개수를 정함
 But 일부는 자체적으로 정해지기도 함
 인스턴스들을 의미있는 clustering로 그룹지으려고 함


Production Rule





If Margin Account = yes & Age=20-29 & Annual Income = 40-59K THEN
Cluster =1 (accuracy =0.80, coverage= 0.50)
If Account Type = Custodial & Favorite Recreation = Skiing & Annual
Income = 80-90K THEN Cluster =2 (accuracy = 0.95, coverage = 0.35)
If Account Type = Joint & Trade/Month >5 & Transaction Method = Online
THEN Cluster = 3 (accuracy = 0.82, coverage = 0.65
Accuracy(정확률)
Coverage(적용률)
12
1.3 Is Data Mining Appropriate for
My Problem

Data Mining or Data Query?



찾으려는 것이 명확할 때 DB Query Language와 OLAP으로 정보를
찾거나 보고, reporting하는데 사용할 수 있음
It depends on the type of question you want to answer, and the type
of knowledge you want to discover.
지식

Shallow Knowledge(단순지식)



Multidimensional Knowledge(다차원지식)


OLAP tools are used to manipulate multidimensional knowledgeOn-lin
Hidden Knowledge(은닉지식)



It can be easily stored and manipulated in a database.
SQL질의로 추출
represents patterns or regularities in data that cannot be easily found using
database query.
data mining algorithms can find such patterns with ease.
Deep Knowledge(심층지식)

찾고자 하는 방향을 제공하여 줄때만 찾을 수 있음
13
1.3 Is Data Mining Appropriate for
My Problem

지식의 종류 및 탐사기법
14
1.3 Is Data Mining Appropriate for
My Problem?

Data Mining vs. Data Query: An Example

Data set에서 찾고자 하는 것에 대한 일반적인 가설을 만듬

가설은 data에 대하여 우리가 옳다고 믿는것에 대한 타당한 추측을
만듬

수동 데이터 마이닝

DB가 충분히 적거나 attribute들과 그들간의 관계에 대하여 충분한
지식이 있다면 직절

데 이 터 집 합 에 서 몇 개 의 attribute 들 은 output attribute 를 정 확 하 게
판별해내는데 관련이 있음
15
1.4 Expert Systems or Data Mining?

Expert System


전문가의 문제해결 방법을 적용한 컴퓨터 프로그램을 의미
Knowledge Engineer

전문가와의 상호작용을 통하여 전문가의 지식을 끄집어 내는 역할

여러가지 도구를 사용하여 새로운 지식에 대한 모델을 만듬
Data
Data Mining Tool
If Swollen Glands = Yes
Then Diagnosis = Strep Throat
Human Expert
Knowledge Engineer
Expert System
Building Tool
If Swollen Glands = Yes
Then Diagnosis = Strep Throat
16
1.5 A Simple Data Mining Process Model
일반
화일 등
데이터
수집
정리
Operational
Database
Data
Warehouse
SQL Queries
Data Mining
Interpretation
&
Evaluation
Result
Application
17
1.5 A Simple Data Mining Process Model
 The Data Warehouse
같은
주제에 관련된 모든 데이터들을 같은 테이블에 저장
 운영데이터베이스는 트랜젝션 처리에 가장 적합하나
 DW는 주제중심으로 데이터의 중복성이 존재하게 됨
 트랜젝션 데이터 처리보다는 의사결정지원을 위해 설계된 과거
데이터 데이터베이스를 의미
 Relational Databases and Flat Files
 Mining the Data
 Supervised 학습인가 unsupervised clustering 인가?
Training data와 test로 어떻게 나눌것인가?
어떤 attribute를 사용할 것인가?
학습 parameter값의 지정?
 Interpreting the Results
 Result Application
18
1.6 Why Not Simple Search?
 DM은 비구조적인 데이터를 일반화된 모델로 표현하는 데 사용
 분류(classification) 문제해결의 다른 방법
 NN분류(Nearest Neighbor Classification)
 분류 table 만들기 – data table에는 분류class가 정해져 있는 모든 data
instance를 포함
 분류하고자 하는 새로운 instance에 대하여 table에 있는 각 item과 새로운
item간의 유사도 점수를 계산
 nearest : smallest Euclidean distance, absolute difference, maximum
distance, Minkowski distance 등을 계산하여 그 거리가 가장 가까운 것을 의미
 가장 유사한 table item을 찾고 그 item의 분류class를 새로운 item의
분류class로
 새로 분류된 instance를 분류class와 함께 table에 추가
 분류 Table에 많은 레코드가 있다면 계산시간 많이 소요
 Relevant attribute와 irrelevant attribute 를 구분할 수 없음
 Instance들을 class로 분류하는데 어느 attribute가 사용되는지에 대해 알수 없음
 K-nearest Neighbor Classifier
 하나가 아닌 k개의 NN을 골라서 그중에서 가정 공통되는 분류클래스를 새로운
인스턴스의 클래스로 분류됨
 새로운 인스턴스가 하나의 잘못된 training 인스턴스 때문에 잘못 분류되는
가능성을 방지하여 줌
19
1.7 Data Mining Applications

Application Case
 Fraud Detection

Use historical data to build models of fraudulent behavior
and use data mining to help identify similar instances
(auto insurance, money laundering)
Health Care
 Business and Finance
 Scientific Application
 Sports and Gaming

20
1.7 Data Mining Applications

금융업에서의 적용 사례

사기행위 색출




고객집단 분류



: 과거에 사기행위로 판명된 신용카드 거래를 분석하여 사기행위의 패턴을 찾아냄.
: 신용카드 사기 행위의 전형적인 사례는 전자상가에서 짧은 기간에 많은 거래가 일어나는
경우이며 이것을 사기행위의 가능성을 알려주는 경고 신호로 인식하므로써 피해를 줄일 수 있음.
: 어떤 고객의 구매행위가 찾아낸 사기행위 패턴과 비슷할 경우 그 거래를 승인하지 않도록
시스템 (production system)을 구성하는데 이용할 수 있음
: 특정 고객집단을 찾아내고 이 집단만을 겨냥한 차별화된 서비스를 제공
: 고객집단 편성에 관한 지식을 이용하여 특정 판촉활동에 의하여 가장 많은 효과와 혜택을 얻게
될 금융기관의 지점을 찾는 데에도 사용
라이프 싸이클 예측 관리 (predictive life-cycle management)


: 은행이 고객의 시간에 따른 가치 (lifetime value)를 예측하고 이에 따라 개개의 고객집단에
알맞은 서비스를 제공
: 이들은 가까운 장래에 수익성이 높은 고객이 될 가능성이 매우 높은 고객을 대상으로 이들에게
특별한 상품 거래를 제안하거나 수수료를 면제해 주는 것과 같은 고객 이탈방지 프로그램 같은
것을 실시할 수 있음
21
1.7 Data Mining Applications

금융업에서의 적용 사례
22
1.7 Data Mining Applications


유통업에서의 적용 사례
유통업자들은 자사가 발행한 신용카드와 컴퓨터화된 결제시스템을 통하여
고객들의 매일 매일의 자세한 구매정보를 보유



바구니 분석 (basket analysis) 수행
: 바구니 분석은 일명 친화성 분석이라고도 하는데 고객들의 구매행위시 어떤 상품들이
같이 구매되는가를 밝혀낸다. 이와 같은 지식은 상점의 진열 전략이나 재고 (stocking)
전략, 판매촉진 등의 성과 제고에 활용
시계열 패턴 조사 (temporal pattern / sequences)
: 시간에 따른 구매행위에 대한 지식은 유통업자들의 재고에 관한 의사결정에 많은
도움을 줌. .
예측모델의 개발
: 유통업자들은 고객의 구매행위, 예를 들어 어떤 상품의 구매행위나 할인 행사에
참여하는 행위 등을 통하여 특성을 파악할 수 있으며 특정 고객집단을 겨냥한
효과적이고 경제적인 판매 촉진 전략을 구사할 수 있음.
23
1.7 Data Mining Applications

통신업에서의 적용 사례


통화 기록 분석
 : 비슷한 통화 사용패턴을 가진 집단을 찾아내어 그들에게 유리한 가격정책이나
기능 등을 개발
고객 충성도 (customer loyalty)
 : 통신회사는 지식발견 기술을 이용하여 한 번 고객이 되면 오랜 동안 지속적인
거래를 하게 될 고객과 그들의 특성을 찾아내고 이들을 중심으로 투자
24
1.7 Data Mining Applications

그외







고객집단 편성
 거의 모든 산업분야는 DM을 이용하여 뚜렷한 고객집단을 편성하는데 활용
자동차 제조
 고객들을 위하여 맞춤 자동차를 생산하기 시작했고 따라서 어떤 특징들이 선호될 것인지
그리고 이러한 특징과 함께 어떤 점들이 요구될지를 예측
보증계약 (warranties)
 제조업자는 보상 청구를 해올 고객의 수를 예측하고 이에 따른 비용을 예측
탑승객 인센티브 (frequent flier incentives)
 항공사는 자사 비행기를 더 자주 이용할 수 있도록 인센티브를 제공할 고객 집단을 찾아냄
 한 항공사는 짧은 거리를 매우 자주 여행하는 고객집단이 존재함 -> 비행횟수에 의해서도
항공사가 제공하는 혜택을 받을 수 있도록 규칙을 변경
제조업(Manufacturing)
 공정 환경의 복잡함과 작업의 효율성과 품질의 우수성을 동시에 요구하는 현대 제조
분야에서도 DM 기법이 여러 분야에서 필요시 됨
 Job shop scheduling, 공정 제어(manufacturing control)의 문제, 화학 약품의 공정
과정(chemical process)의 최적화, 에너지 소비(energy consumption)의 최소화 혹은
품질관리(quality control)와 자동화된 검사(automated inspection)에서도 활용
보건 의학 분야(Health and medical)
 환자나 병원측에서의 보험 사기(fraudulent insurance claim)에 대한 검색
 각종 암이나 심장마비 등의 병을 자동 진단(automated diagnosis)에 이용
에너지와 유틸리티(energy and utility)
 에너지의 수요량을 예측(forecast)하여 날씨의 변화와 정전에 신속하게 대비
 원유 탐사에 있어서 지층의 변화를 분석
25
1.7 Data Mining Applications
 Customer Intrinsic Value
 고객 이탈률 방지와 미래가치을 위한 전략 수립시 활용
공격적
마케팅 전략
_
_
_
_
_
_
_
Intrinsic
(Predicted)
Value
_
_
_
_
X
X
비공격적
마케팅 전략
X
X
X
중간정도
공격적 마케팅 전략
X
X
X
X
Actual Value
26