AI 개념/기계학습, 심층학습

데이터 전처리 - Feature Engineering

AIstarter 2025. 3. 1. 20:32

NULL 값이 데이터에 포함되어 있어서 코드 에러가 발생한 적 없으신가요?

이러면 NULL을 모두 제거해야할까요??

 

또는 데이터 형태는 문제가 없는데 학습시에 정확도가 낮거나 아예 학습이 되지 않은 것 같은 경우 없으셨나요??

이 경우, 데이터가 학습시키기에 적합하지 않은 상태일 수 있습니다.

 

데이터를 학습하는 머신러닝/딥러닝의 다양한 학습에서는 데이터를 잘 가공하는 것은 매우 중요한 작업니다.

그렇다면 어떻게 가공해야할까요?

 

데이터를 전처리하는 방법은 다양합니다.

오늘은 시도해볼 수 있는 다양한 기법들을 다루어보고자 합니다

이 때, 언제 해당 기법을 사용하면 좋을지에 대한 insight를 발견하시길 바랍니다~!!

기법 설명 유용한 곳
결측치 처리 데이터가 누락된 부분을 평균, 특정값 등으로 채우는 기법 데이터 누락으로 인해 많은 데이터를 사용하지 못할때
아웃라이어 처리 다른 데이터 무리들과 크게 벗어나는 아웃라이어를 제거하거나 값을 조정해 튀는 데이터가 없도록 하는 기법 선형 모델과 같이 아웃라이어의 영향에 민감한 모델
바이닝Binning 연속된 수치로 된 데이터를 특정 구간으로 묶는 기법. EX)  나이를 10대,20대,30대 등으로 묶는 경우 오버피팅으로 인해 모델 성능이  문제될 때
로그 변환 데이터에 로그를 씌워 왜곡된 데이터를 정규화하는 방법 데이터 형태가 왜곡되어 변환이 필요한 경우.
특히 선형 모델에 유용
더미변수
(원핫인코딩)
문자로 된 범두현 데이터를 0과 1을 사용하여 숫자형 데이터로 변경하는 기법 범주형 데이터
Grouping 고유값이 너무 많은 범주형 데이터를 특정 그룹으로 묶는 기법.
EX) 국가명을 유럽, 아시아, 북아메리카 등으로 그룹화
범주형 데이터에서 고윳값이 너무 많아 더비 변수를 쓰기 곤란할 때
스케일링 Scaling 각 변수의 데이터 범위(스케일)가 다룰 떄, 이를 일정하게 맞추는 기법 거리 가반으로 작동하는 모델
(K-최근접 이웃, K-평균 군집화)
날짜 추출 날짜 데이터에서 연/월/일 혹은 요일 등을 추출해 필요한 정보만 사용하는 기법 날짜 데이터의 특정 속성이 중요한 역할을 할 때
텍스트 분할 텍스트로 된 변수에서 특정 부분의 단어를 빼오거나, 특정 기호가 들어간 부분을 기준으로 나누어, 필요한 항목만 추출하는 기법 텍스트 변수에 불필요한 정보가 많이 뒤섞여 있을 때
새로운 변수 창출 주어진 변수들을 사용해 새로운 변수를 계산해내는 기법. 단순하게는 변수 간의 합과 곱 등을 활용할 수도 있음.
EX) 두 지점에 대한 위도/경도가 있는 경우 두 점 간의 거리를 계산
데이터에 대한 백그라운드 지식이 있을 때

 

 

사용하시는 데이터셋의 특징과 사용할 모델을 고려하여 

어떤 기법을 사용하면 더 학습이 잘될지 고민하는 시간이 되었길 바라며, 오늘도 파이팅입니다!!