NULL 값이 데이터에 포함되어 있어서 코드 에러가 발생한 적 없으신가요?
이러면 NULL을 모두 제거해야할까요??
또는 데이터 형태는 문제가 없는데 학습시에 정확도가 낮거나 아예 학습이 되지 않은 것 같은 경우 없으셨나요??
이 경우, 데이터가 학습시키기에 적합하지 않은 상태일 수 있습니다.
데이터를 학습하는 머신러닝/딥러닝의 다양한 학습에서는 데이터를 잘 가공하는 것은 매우 중요한 작업니다.
그렇다면 어떻게 가공해야할까요?
데이터를 전처리하는 방법은 다양합니다.
오늘은 시도해볼 수 있는 다양한 기법들을 다루어보고자 합니다
이 때, 언제 해당 기법을 사용하면 좋을지에 대한 insight를 발견하시길 바랍니다~!!
기법 | 설명 | 유용한 곳 |
결측치 처리 | 데이터가 누락된 부분을 평균, 특정값 등으로 채우는 기법 | 데이터 누락으로 인해 많은 데이터를 사용하지 못할때 |
아웃라이어 처리 | 다른 데이터 무리들과 크게 벗어나는 아웃라이어를 제거하거나 값을 조정해 튀는 데이터가 없도록 하는 기법 | 선형 모델과 같이 아웃라이어의 영향에 민감한 모델 |
바이닝Binning | 연속된 수치로 된 데이터를 특정 구간으로 묶는 기법. EX) 나이를 10대,20대,30대 등으로 묶는 경우 | 오버피팅으로 인해 모델 성능이 문제될 때 |
로그 변환 | 데이터에 로그를 씌워 왜곡된 데이터를 정규화하는 방법 | 데이터 형태가 왜곡되어 변환이 필요한 경우. 특히 선형 모델에 유용 |
더미변수 (원핫인코딩) |
문자로 된 범두현 데이터를 0과 1을 사용하여 숫자형 데이터로 변경하는 기법 | 범주형 데이터 |
Grouping | 고유값이 너무 많은 범주형 데이터를 특정 그룹으로 묶는 기법. EX) 국가명을 유럽, 아시아, 북아메리카 등으로 그룹화 |
범주형 데이터에서 고윳값이 너무 많아 더비 변수를 쓰기 곤란할 때 |
스케일링 Scaling | 각 변수의 데이터 범위(스케일)가 다룰 떄, 이를 일정하게 맞추는 기법 | 거리 가반으로 작동하는 모델 (K-최근접 이웃, K-평균 군집화) |
날짜 추출 | 날짜 데이터에서 연/월/일 혹은 요일 등을 추출해 필요한 정보만 사용하는 기법 | 날짜 데이터의 특정 속성이 중요한 역할을 할 때 |
텍스트 분할 | 텍스트로 된 변수에서 특정 부분의 단어를 빼오거나, 특정 기호가 들어간 부분을 기준으로 나누어, 필요한 항목만 추출하는 기법 | 텍스트 변수에 불필요한 정보가 많이 뒤섞여 있을 때 |
새로운 변수 창출 | 주어진 변수들을 사용해 새로운 변수를 계산해내는 기법. 단순하게는 변수 간의 합과 곱 등을 활용할 수도 있음. EX) 두 지점에 대한 위도/경도가 있는 경우 두 점 간의 거리를 계산 |
데이터에 대한 백그라운드 지식이 있을 때 |
사용하시는 데이터셋의 특징과 사용할 모델을 고려하여
어떤 기법을 사용하면 더 학습이 잘될지 고민하는 시간이 되었길 바라며, 오늘도 파이팅입니다!!
'AI 개념 > 기계학습, 심층학습' 카테고리의 다른 글
머신러닝 핵심 라이브러리 (1) | 2025.03.01 |
---|---|
과적합(과잉적합) 해결방법 (0) | 2024.05.22 |
회귀(경사하강법, 학습률, 지역최솟값, 과적합&과소적합) (0) | 2024.03.31 |
머신러닝 알고리즘의 성능평가: 혼동 행렬 (TP|FP|FN|TN) (0) | 2024.03.22 |
불확실성(Uncertainty)란 무엇일까? (0) | 2024.02.29 |