[24.01.17]
1주차 3차시 - 데이터 전처리
데이터 전처리Data Preprocessing
1. ML, DL 모델에 데이터를 입력하기 위해 데이터를 처리하는 과정.
=> EDA, 모델, 분석/모델링 목적, 에 따라 데이터 전처리는 달라진다.
2. EDA와는 마찬가지로 정답은 없으나...
=> 연속형/범주형 데이터 처리, 결측치 처리, 이상치 처리 등의 과정을 포함한다.
연속형 데이터 전처리
1. Scaling : 데이터 단위 혹은 데이터 분포를 변경하는 작업. 선형 모델(선형회귀, 딥러닝...)의 경우 변수 사이의 scale을 맞추는 것이 필수다. 아래 3개의 스케일링 기법이 주로 쓰인다.
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으로!
장점 : 모델이 변수의 의미를 정확하게 파악할 수 있다.
단점 : 변수가 많아지면, 엄청나게 많은 연산이 요구될 수 있음.
2. Label encoding : One hot encoding의 단점을 보완함. 특정 컬럼의 각 데이터들에 다른 숫자를 부여하는 것.
장점 : One hot encoding의 단점이 보완됨. 메모리 관리에 효율적.
단점 : 모델이, 데이터별로 부여된 숫자를 데이터의 특징으로 인식할 수도 있다는 것. 특히 선형모델에서 주의해야 함.
3. Frequency encoding : 특정 변수의 값이 몇 번 나오는지를 숫자로 부여함.
장점 : Label encoding의 장점 + 데이터에 의미를 부여할 수 있음.
단점 : 변수 구분이 애매해질 수 있음. 등장 횟수가 같다면 같은 숫자를 부여받으므로.
이런 단점 때문에, Label encoding과 Frequency encoding을 섞어서 쓰기도 함.
4. 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를 기록했다면, 이 데이터를 이상치로 볼 수 있다.
위 그림을 보면, 이상치 제거 전 후로 데이터의 분포가 크게 다르게 보임을 알 수 있다. 데이터 분포에 대해 잘못 판단하면, 전체적인 분석에 악영향을 미칠 수 있다.
'STUDY > 부스트코스 - AI 엔지니어 기초 다지기' 카테고리의 다른 글
[AI 엔지니어 기초 다지기] 5일차 (0) | 2024.01.19 |
---|---|
[AI 엔지니어 기초 다지기] 4일차 (0) | 2024.01.18 |
[AI 엔지니어 기초 다지기] 2일차 (0) | 2024.01.16 |
[AI 엔지니어 기초 다지기] 1일차 (0) | 2024.01.15 |
[AI 엔지니어 기초 다지기] - 오늘부터 시작! (0) | 2024.01.15 |