Categorical Encoding ?
- 머신러닝 알고리즘이 데이터를 이해하기 위한 처리 과정
- categorical(text) 데이터를 numerical 데이터, 즉 숫자 정보로 바꾸는 과정
- one-hot encoding과 label encoding의 두 가지 방법이 있다.
Label Encoding
- 알파벳 오더순으로 숫자를 할당해주는 것
- 그러나, Label Encoding을 수행하면 결국 알파벳 순으로 랭크가 되는데, Country라는 데이터는 순서나 랭크가 없다.
- 이처럼 순서/랭크 의미가 없는 데이터에 label encoding을 적용하면 순위가 적용된 숫자정보가 모델에 잘못 반영되는 문제점이 발생할 수 있다.
- 따라서, 순서/랭크 의미가 없어야 하는 데이터에 대해서는 One-Hot Encoding을 적용한다.
One-Hot Encoding
- 목록화해서 개별로 그 목록값에 대한 이진값으로 만드는 방법
- 즉, 더미변수를 만든 것을 처리하는 방법
- 위의 표에서 India가 100, 일본이 001, 미국이 002라고 할때, 원핫인코딩을 적용하면 3개의 새로운 feature가 생기는 것을 알 수 있다.
즉, Label Encoding은 순서의 의미가 있을 때(유치원/초등학교/대학교.. 사원/대리/과장/부장...)
One-Hot Encoding은 순서가 없을 때(국가명) 그리고 고유값의 개수가 많지 않을 경우 효율적이다.
One-Hot Encoding으로 발생 가능한 현상 "Dummy Variable Trap"
- One-Hot Encoding한 변수 하나의 결과가 다른 변수의 도움으로 쉽게 예측이 될 수 있다는 것
- 즉, Dummy Variable Trap 변수들이 각각 다른 변수들과 상관성이 있다는 것
- Dummy Variable Trap은 multicollinearity(다중공선성)이라는 문제를 발생시키는데,
- 이는 독립적인 feature 간에 의존성이 있을때 발생하며, 선형 회귀나 로지스틱 회귀에서 심각한 이슈가 된다.
- 극복하기 위해서는 dummy variables 중 하나를 버려야 한다.
그렇다면, multicollinearity는 어떻게 확인할 수 있는가? --> 산점도 또는 Variance Inflation Factor 활용! (VIF)
- 독립변수 x는 종속변수 y와만 상관 관계가 있어야 하는데, 독립변수간 상관 관계를 보이는 것을 다중공선성(Multicollinearity)이라고 한다. (다중공선성이 있으면 부정확한 회귀 결과가 도출된다)
- 다중공선성을 파악하는 방법으로는 산점도와 VIF(분산 팽창 요인)을 통해 확인 가능하다.
- 산점도 그래프 (Scatter plot Matrix)
- sns.pairplot 를 통해 시각적으로 파악 가능
- VIF(Variance Inflation Factors, 분산팽창요인)
- 다중 회귀 모델에서 독립 변수간 상관 관계가 있는지 측정하는 도구
- 아래 공식에서 R2는 결정계수를 의미한다.
- VIF가 10이 넘으면 다중공선성이 있다고 판단하며 5가 넘으면 주의할 필요가 있는 것으로 간주한다.
- (따라서, VIF 10 이상인 변수를 drop하는등 방법을 통해 다중공선성 문제를 해결할 수 있다)
- 산점도 그래프 (Scatter plot Matrix)
https://bkshin.tistory.com/entry/DATA-20-%EB%8B%A4%EC%A4%91%EA%B3%B5%EC%84%A0%EC%84%B1%EA%B3%BC-VIF
DATA - 20. 다중공선성(Multicollinearity)과 VIF(Variance Inflation Factors)
이번 시간에는 다중공선성과 VIF에 대해 알아보겠습니다. 독립 변수 X는 종속 변수 Y 하고만 상관 관계가 있어야 하며, 독립 변수끼리 상관 관계가 있어서는 안 됩니다. 독립 변수간 상관 관계를
bkshin.tistory.com
https://azanewta.tistory.com/46
One Hot Encoding 과 Label Encoding 을 비교해보자
One-Hot Encoding이란 무엇인가. 언제 우리는 Label Encoding 대신 One-Hot Encoding을 써야하는가? 데이터 과학에 일반적인 인터뷰 질문이며, 데이터 과학자는 반드시 알아야 하는 내용이다. 결론적으로 당신
azanewta.tistory.com
'기초지식' 카테고리의 다른 글
XGBoost (0) | 2024.05.09 |
---|---|
Hyperparameter Optimization (0) | 2024.05.09 |
Random Forest (0) | 2024.05.08 |
Data Scaling (0) | 2024.05.08 |
Train dataset과 Test dataset (train test split) (0) | 2024.05.08 |