Data Mining

[Data Mining] Chapter 05. Alternative Classification

MoveForward 2022. 6. 14. 11:46

Alternative Classification (대체 분류)

 

1. Rule - Based Classifier (규칙 기반 분류기)

; if - then 이라는 하나의 룰이 집합을 이루고 있음 => rule set

 

1-1. Rule - Based Classifier의 정의

 

Rule : (Condition) -> y

룰 : (조건문) -> Y(클래스 할당)

 

Condition ; 조건문으로서, conjuct 여러개로 이루어져 있음 ;

Condition = (conjuct) and/or (conjuct) ...

conjuct 의 구조 : (A op V)

A : attribute

op : operater (논리적 연산자)

V : value

 

* 인스턴스 X가 attribute 규칙의 조건을 만족하는 경우(X가 Rule R을 만족하여 클래스 할당이 된 경우) Rule R이 인스턴스 X을 Covers(커버) 한다.

 

1-2. Rule을 평가하는 기준

* Rule Coverage : 적용 범위 : 하나의 룰에 대해서 평가

; 규칙의 선행 조건를 만족하는 레코드의 비율

A / D (A; 해당되는 attribute 수 / D; 레코드의 수)

Rule : (Status = Single) -> No

 

A : Status = Single인 레코드 수

D : 전체 레코드 수

 

Coverage = 4/10 = 40%

 

* Rule Accuracy : 룰 정확도

; 규칙의 선행 조건과 결과를 모두 만족하는 레코드의 비율

(A and Y) / A

(Status = Single) -> No인 레코드 수 / (Status = Single)인 레코드 수

 

Accuracy = 2 / 4 = 50%

 

 

 

 

 

 

1-3. Rule - Based Classifier가 작동하는 방법

 

trigger => 레코드를 분류하는 결정적인 룰

 

Rule - Based Classifier의 특성

* 상호 배타적 규칙

; 모든 레코드들은 최대한 하나의 룰로 커버가 된다. / (되도록이면, )트리거가 하나(가 되도록 하자.)

=> trigger를 두개이상 갖는 레코드가 없도록 하자.

 

* 포괄적 규칙

; 각 레코드는 하나 이상의 규칙에 따라 처리된다.

=> trigger가 하나도 없는 레코드(클래스 할당이 되지 않은)가 존재해서는 안된다.

 

=> 규칙을 최대한 단순화 해야 할 필요가 있다.

 

* 상호 배타적 규칙이 아닌 경우 = 레코드가 두개 이상의 규칙을 트리거

1. Ordered rule set : 규칙 사이에 우선순위를 둠 (우선 순위가 높은 규칙을 우선 적용)

2. Unordered rule set : 순서 없는 규칙 집합 - 투표 방식 사용

 

* 포괄적 규칙이 아닌 경우 = 규칙을 트리거 하지 않는 레코드가 존재

Use a default class : default class(기본 클래스) 사용

: 어떤 규칙도 트리거 하지 않는 다면 default class 에 할당

 

규칙의 우선 순위를 정하는 방법 

1. Rule - based ordering

: 개별 규칙은 규칙의 질에 따라 우선 순위 할당

 

2. Class - based ordering

: 같은 클래스에 속하는 규칙이 함께 표시

 

 

 

1-4 Classification Rule 을 만드는 방법

1. Direct Method (직접 방법) : 데이터에서 직접 규칙 추출

EX) RIPPER, CN2 ...

 

2. Indirect Method (간접 방법) : 다른 분류 모델에서 규칙을 추출 (EX) 의사결정트리, 신경 네트워크)

EX) C4.5rules

 

RIPPER ; Direct Method

; 불균형 데이터 셋에서 좋음

* 클래스가 2개인 문제

positive class에 대한 룰을 학습 / negative class는 default class가 됨

* 멀티 클래스 문제

가장 작은 클래스에 대한 rule set을 먼저 학습 / 나머지는 negative class 처리

 

=> 가장 작은 클래스에 대한 규칙 학습을 우선적으로 시행하기 때문에 RIPPER 방식은 Unbalance Problem에 좋음.

 

 

 

Rule - Based Classifiers의 이점

1. 의사결정트리 만큼 표현력이 높다.

2. 해석하기 쉽다.

3. 생성 용이

4. 새로운 인스턴스가 들어오면 빠르게 분류할 수 있다.

5. 의사결정트리에 버금가는 성능

 


Instance - Based Classifiers (인스턴스 기반 분류기)

 

EX) Rote - learner, Nearest neighbor