본문 바로가기

STUDY/부스트코스 - AI 엔지니어 기초 다지기

[AI 엔지니어 기초 다지기] 3일차

[24.01.17]

1주차 3차시 - 데이터 전처리

 

데이터 전처리Data Preprocessing

1. ML, DL 모델에 데이터를 입력하기 위해 데이터를 처리하는 과정.

=> EDA, 모델, 분석/모델링 목적, 에 따라 데이터 전처리는 달라진다.

 

2. EDA와는 마찬가지로 정답은 없으나...

=> 연속형/범주형 데이터 처리, 결측치 처리, 이상치 처리 등의 과정을 포함한다.

 

연속형 데이터 전처리

1. Scaling : 데이터 단위 혹은 데이터 분포를 변경하는 작업. 선형 모델(선형회귀, 딥러닝...)의 경우 변수 사이의 scale을 맞추는 것이 필수다. 아래 3개의 스케일링 기법이 주로 쓰인다.

Robust scaling이 이상치의 영향을 덜 받는다고 알려짐.

 

2. Scaling + Distribution : 스케일링 + 데이터의 분포를 바꾸는 작업.

 이렇듯 분포까지 바꾸어 줌으로서, target과 feature의 관계를 더 직접적으로 바꿀 수 있고, 모델의 성능도 올릴 수 있다.

 

 

범주형 데이터 전처리 

주로 Encoding이라는 기법이 사용된다. 컴퓨터는 범주형 변수를 인식할 수 없기에, 반드시 처리해주어야 한다.

Encoding의 종류는 One hot encoding, Label encoding, Frequency encoding, Target encoding, Embedding 등이 있다.

 

1. One hot encoding : 변수를 1, 0으로 치환하는 방법. 해당 값이 존재한다면 1, 아니면 0으로!

One hot encoding

 장점 : 모델이 변수의 의미를 정확하게 파악할 수 있다.

 단점 : 변수가 많아지면, 엄청나게 많은 연산이 요구될 수 있음.

 

 

2. Label encoding : One hot encoding의 단점을 보완함. 특정 컬럼의 각 데이터들에 다른 숫자를 부여하는 것.

Label encoding

 장점 : One hot encoding의 단점이 보완됨. 메모리 관리에 효율적.

 단점 : 모델이, 데이터별로 부여된 숫자를 데이터의 특징으로 인식할 수도 있다는 것. 특히 선형모델에서 주의해야 함. 

 

 

3. Frequency encoding : 특정 변수의 값이 몇 번 나오는지를 숫자로 부여함.

Frequency encoding

 

 장점 : Label encoding의 장점 + 데이터에 의미를 부여할 수 있음.

 단점 : 변수 구분이 애매해질 수 있음. 등장 횟수가 같다면 같은 숫자를 부여받으므로.

이런 단점 때문에, Label encoding과 Frequency encoding을 섞어서 쓰기도 함.

 

 

4. Target encoding : 각 데이터가 갖는 target 변수 값의 평균으로 encoding함.

Target encoding

 장점 : 순서의 영향을 받지 않고, target 변수와의 관계도 직관적으로 표현 가능.

 단점 : Frequency encoding처럼 encoding 값이 겹칠 수가 있고, 새로 등장한 데이터에 대해서는 encoding 불가, 이상치가 있는 데이터에 대해서는 Overfitting 가능성 높음... 등의 단점이  있다.

 

 

 

결측치 처리

단변량Univariate 처리법

 

1. 제거 : 결측치를 갖는 변수를 빼 버린다!

 

2. 평균값, 중위값, 상수값 삽입 : 결측치를 제외한 나머지 값들의 평균값/중위값(중간값)/상수값으로 결측치를 채운다.

 장점 - 간단하다.

 단점 - 결측치가 많다면, 평균값/중위값/임의의 상수값으로 채웠을 때 문제가 발생할 소지가 다분하다.

            ex) 변수와 target간의 상관관계가 망가질 수 있음.

 

 

 

다변량Multivariate 처리법

 

1. 회귀분석 : 회귀분석을 통해 결측치가 어떤 값일지 예측하여 채워넣음

2. KNN nearest : 결측치가 존재하는 샘플 데이터와 가장 유사한 샘플 데이터를 찾아서, 해당 값들로 결측치를 채움.

 

두 방식 모두 결측치가 많으면 시행이 어렵다.

 

3. 합리적 접근법 : 변수가 어떤 의미를 갖는지 파악하고, 말 그대로 해당 변수가 가질 만한 '합리적'인 값으로 결측치를 채움.

합리적 접근법의 예시

 

 

이상치 처리

이상치Outlier

 : 일반적인 데이터와 크게 다른 경향을 보이는 데이터. 예를 들어, 100일간의 풍속이 평균 10m/s였는데 그 중 하루의 풍속이 50m/s를 기록했다면, 이 데이터를 이상치로 볼 수 있다.

 

좌상, 우하 : 이상치 포함된 데이터의 분포  ///  우상, 좌하 : 이상치 제거 후 데이터의 분포

 

위 그림을 보면, 이상치 제거 전 후로 데이터의 분포가 크게 다르게 보임을 알 수 있다. 데이터 분포에 대해 잘못 판단하면, 전체적인 분석에 악영향을 미칠 수 있다.