working_helen

[ Week 3-2 ] Discretisation, Naive Bayes with continuous variable 본문

교내 수업/Machine Learning

[ Week 3-2 ] Discretisation, Naive Bayes with continuous variable

HaeWon_Seo 2024. 3. 22. 12:07

Lecture : Machine Learning

Date : week 3, 2024/03/14

Topic : Naive Bayes with continuous variable

 

 

1. Discretisation
   1) Discretisation 이산화
   2) 이산화의 장단점
   3) 이산화 방법

2. Naive Bayes with continuous variable

 

 

 


1. Discretisation

1) Discretisation 이산화

continuous numeric attributes → discrete nominal attributes
연속형(수치형) 변수를 이산형(범주형) 변수로 변환하는 과정 

 

- nominal valeu(interval)의 개수를 정하고, 그 개수만큼 boundaries를 선정한다. 

- 기존의 연속형 변수는 각 boundaries에 할당되어 이산형 변수로 변환된다. 

 

 

2) 이산화의 장단점

- Naive Bayes, Decision tree 등 회귀/분류 모델은 입력값이 nominal attributes임을 가정하기 때문에 이산형 변수를 사용할때 모델 학습 속도가 빨라지고 성능이 개선된다. 

- 데이터를 더 단순하고 직관적으로 만들어 이해하기 쉬워진다. 

- 하지만 간격을 결정하고 데이터를 할당하는 과정에서 정보 손실이 발생할 수 있다. 

==> 정보 손실을 최소화하는 boundaries를 잘 결정하는 것이 핵심 과제 

 

 

 

3) 이산화 방법

: 어떻게 boundaries를 결정하느냐에 따라 방법이 구분된다.

 

 Equal–width discretization (등폭 이산화)

- 연속형 변수값의 범위를 동일한 크기 간격으로 나누는 방법 

- 각 범주에 해당하는 값의 범위(길이)가 동일하도록 boundaries를 설정하는 방법 

- k개의 범주로 나누는 경우, width = (max−min)/k 

- 기존 변수의 분포를 극적으로 변화시키지 않기 때문에 편향된 분포에 민감하다는 단점이 있다. 

 

② Equal-frequency discretization (등빈도 이산화)

- 동일한 수의 관측값을 갖는 간격으로 나누는 방법 

- 각 범주에 포함되는 관측값의 빈도가 동일하도록 boundaries를 설정하는 방법 

- k개의 범주로 나누는 경우, 관측값의 k분위수가 각 경계값 

- 관측치를 서로 다른 범주로 균등하게 나누기 때문에 기존에 편향된 분포였던 경우 유용하다. 

 

 K-means clustering 활용 

- 관측값에 대해 k-means 군집화를 수행해 범주를 나누는 방법 

- 데이터가 이미 가지고 있는 자연스러운 군집을 찾아내는 방법 

- 이상치에 민감하며, 등폭/등빈도 이산화에 비해 복잡하다는 단점이 있다. 

 

 

 

 

 

 

2. Naive Bayes with continuous variable

출처 : https://arkainoh.blogspot.com/2018/07/nbc.html

 

: Naive Bayes Model에서 attribute 값 X(x1, x2,,,)가 연속형 변수인 경우 likelihood P(X|C)를 계산하는 방법 

  • 연속형 변수 → 범주형 변수 변환하여 Likelihood 계산 (encoding, discretisation 등등)
  •  given C에서 X의 conditional pdf(probabilitt density function)를 가정하여 Likelihood 계산 

 

 

 

 

 

 

Jupyter Notebook