데이터 전처리란?
- 전처리는 원시 데이터를 분석하기 적합한 형태로 만드는 과정입니다.
- 데이터 전처리는 데이터 분석과 모델링 과정에서 매우 중요한 단계로, 데이터의 품질과 일관성을 높여 결과의 신뢰성을 확보하는 데 필수적입니다.
- 전처리는 데이터의 오류를 수정하고, 불필요한 정보를 제거하며, 데이터 구조를 변환하는 등의 작업을 포함합니다. 주로 다음과 같은 주요 작업들이 포함됩니다.
- 데이터 클렌징(Data Cleansing)
데이터셋의 오류나 불완전한 데이터를 수정하거나 제거하는 과정입니다. 여기에는 결측값 처리, 중복 데이터 제거, 이상값 수정 등이 포함됩니다. - 데이터 통합(Data Integration): 여러 소스의 데이터를 하나로 통합하는 과정입니다. 데이터베이스, 스프레드시트, 텍스트 파일 등 다양한 출처의 데이터를 통합하여 일관된 데이터셋을 만듭니다.
- 데이터 변환(Data Transformation): 데이터를 분석에 적합한 형태로 변환하는 과정입니다. 여기에는 데이터 정규화, 스케일링, 인코딩 등이 포함됩니다.
- 데이터 축소(Data Reduction): 데이터의 양을 줄이면서도 중요한 정보를 유지하는 과정입니다. 피처 선택, 차원 축소, 샘플링 등이 여기에 해당됩니다.
- 데이터 불균형 처리: 데이터의 클래스 불균형 문제를 해결하는 과정입니다. 오버샘플링, 언더샘플링, 합성 소수 샘플링 기법(SMOTE) 등이 있습니다.
전처리의 주요 단계
1. 결측값 처리
결측값은 데이터셋에서 누락된 값을 의미합니다. 이를 처리하는 다양한 방법이 있습니다.
- 삭제법: 결측값이 포함된 행(row)이나 열(column)을 삭제합니다. 결측값의 비율이 낮을 때 유용합니다.
- 예: 데이터셋의 2%만 결측값일 때 해당 행을 삭제.
- 대체법: 결측값을 특정 값으로 대체합니다.
- 평균 대체: 결측값을 해당 열의 평균 값으로 대체합니다.
- 중앙값 대체: 결측값을 해당 열의 중앙값으로 대체합니다.
- 최빈값 대체: 결측값을 해당 열의 최빈값으로 대체합니다.
- 예: 나이 열의 결측값을 나이 열의 평균 값으로 대체.
- 예측법: 머신러닝 모델을 사용하여 결측값을 예측하여 채웁니다.
- 예: 나이 열의 결측값을 나머지 열들을 사용하여 예측하는 회귀 모델을 사용하여 채움.
2. 이상값 처리
이상값은 데이터셋에서 다른 값들과 크게 벗어난 값을 의미합니다.
- 삭제법: 이상값이 포함된 행을 삭제합니다.
- 예: 나이 열에서 나이가 1000인 행을 삭제.
- 대체법: 이상값을 다른 값으로 대체합니다.
- 예: 나이가 1000인 값을 나이 열의 평균 값으로 대체.
- 변환법: 이상값을 변환하여 데이터의 분포를 변경합니다.
- 로그 변환: 데이터의 분포가 오른쪽으로 치우친 경우 유용합니다.
- 제곱근 변환: 데이터의 분포가 매우 치우친 경우 사용됩니다.
- 예: 소득 데이터의 이상값을 로그 변환하여 분포를 평탄하게 함.
3. 데이터 정규화
정규화는 데이터의 범위를 조정하는 과정입니다.
- 최소-최대 정규화: 데이터를 0과 1 사이의 값으로 변환합니다.
- 공식:
예: 소득 데이터의 값을 0과 1 사이로 변환.
- 표준화: 데이터를 평균이 0이고 표준편차가 1인 정규 분포로 변환합니다.
- 공식:
예: 키 데이터의 값을 평균 0, 표준편차 1로 변환.
4. 범주형 데이터 인코딩
범주형 데이터는 문자열이나 범주로 표현된 데이터를 의미합니다.
- 레이블 인코딩: 각 범주를 고유한 정수로 변환합니다.
- 예: ["사과", "바나나", "체리"] → [0, 1, 2]
- 원-핫 인코딩: 각 범주를 이진 벡터로 변환합니다.
- 예: ["사과", "바나나", "체리"] → [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
5. 데이터 스케일링
데이터 스케일링은 데이터의 스케일을 조정하여 모델의 성능을 향상시킵니다.
- 표준 스케일링: 데이터를 평균이 0이고 분산이 1인 값으로 변환합니다.
- 예: 나이 데이터의 값을 평균 0, 표준편차 1로 변환.
- 로버스트 스케일링: 중앙값을 기준으로 데이터를 스케일링합니다. 이상값의 영향을 줄일 수 있습니다.
- 예: 소득 데이터의 값을 중앙값 기준으로 변환.
'코드잇 데이터 애널리스트 위클리 페이퍼' 카테고리의 다른 글
정적 메소드는 무엇이고, 어떻게 호출하나? (0) | 2024.07.10 |
---|---|
클래스와 인스턴스란? (0) | 2024.07.10 |
t-test란? (0) | 2024.07.04 |
p값 (p-value)는 무엇인가? (0) | 2024.06.24 |
제1종 오류와 제2종 오류란? (0) | 2024.06.24 |