Data preprocessing

2024. 5. 5. 14:04Data Analysis

Contents 접기

데이터 전처리

데이터 분석 전 데이터를 정제, 변형하여 분석에 적합한 형태로 만드는 과정

실무에서 접하는 데이터는 messy 한 특징을 가지고 있어 유의미한 결과 도출을 위해 필수적이다.

 

정형 데이터 전처리 과정

 

 

STEP 1 : 데이터 수집

데이터를 수집하는 단계로, 원시 데이터를 모으고 저장하는 과정

 

수집 방법의 종류

(데이터의 형태, 종류에 따라 수집방법 결정)
1. Web Crawling
2. 로그 수집
3. etc.

 

 

STEP 2 : 데이터 정제

데이터의 불필요한 정보 or 오류를 제거하여 데이터의 신뢰도를 높이는 과정 (결측치 or 이상치 처리)

 

데이터 정제 절차

1. 오류 원인 분석
2. 정제 대상 선정    → 초기에는 모든 데이터를 대상으로 정제 진행
3. 정제 방법 결정    ex) 오류 데이터 삭제, 대체, 예측값 삽입 등

 

데이터 정제 기법

1. 변환 (Transform)
2. 파싱 (Parsing)
3. 보강 (Enhancement)

 

 

STEP 3 : 데이터 통합 및 축소

여러 개의 데이터 소스를 통합, 필요 변수를 선택하는 과정

 

  • 통합 (Intergration) : 두 개의 테이블을 서로 묶어 하나의 결과를 만들어 내는 것
합치는 기준에 따라
1. Inner Join : 두 테이블에 모두 지정한 column의 데이터가 있어야 함
2. Left Outer Join : 1개의 테이블에만 데이터가 있어도 결과가 나옴
3. Cross Join : 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능
4. Self Join : 자신이 자신과 조인한다는 의미, 1개의 테이블을 사용

 

  • 축소 (Reduction) : 데이터의 feature 개수를 줄이는 것

 

 

STEP 4 : 데이터 변환

데이터 소스에서 추출된 데이터를 사용 가능한 데이터 Set으로 변환하는 과정

피처 스케일링이나 인코딩 등의 작업 수행

 

 

 

데이터 전처리 방법

데이터 전처리 방법에는 데이터에 따른 다양한 방법이 존재한다.

 

 

데이터를 불러온 이후 기계적으로 해야할 행동

1. 초반, 후반 행 살펴보기 → 유니크한 식별값 인덱스 지정
2. 결측치 파악 → df.info()

 

 

1. 결측치 파악 (Missing Value)

1. 결측치 데이터 제거
2. 수치형 데이터의 경우 평균 or 중앙치 대체  →  만약 범주형이라면? mode값(최빈값)으로 대체
3. 간단한 예측 모델 (scikit-learn)으로 대체

 

 

결측치 처리 시 고려할 점

  • 도메인 지식

: 데이터에 대한 도메인 지식이 있는 경우 0으로 메꾸는 것이 맞는지,

평균이나 중앙치로 보간하는 것이 맞는지 등 데이터를 보간하는 방법에 대한 적절한 의사결정을 할 수 있다.  

 

 

2. 이상치 처리

정상 범위를 벗어나는 이상치를 감지하고 수정하여 모델 성능 향상

1. 표준점수 변환 후 -3 이하 및 +3 제거
2. IQR 방식

 

IQR 방식

  • IQR 방식은 75% percentile + 1.5 * IQR 이상이거나 25 percentile - 1.5 * IQR 이하인 경우 극단치로 처리하는 방식
  • 이해하기 쉽고 적용하기 쉬운 편이지만, 경우에 따라 너무 많은 사례들이 극단치로 고려되는 경우가 존재
  • 도메인 지식 이용 or Binning 처리하는 방식

 

3. 데이터 단위 변환

  • 데이터 단위를 조정하여 모델의 학습 속도를 향상시키거나 정확도 향상
  • 데이터의 스케일이 다른 경우, 거리 기반 분류 모델(KNN)에 부정적 영향 → 스케일링을 통해 단위를 조정

 

스케일링을 위해 쓰이는 방법

1. Scaling : 평균이 0, 분산이 1인 분포로 변환
2. MinMax Scaling : 특정 범위 (예, 0~1)로 모든 데이터를 변환
3. Box-Cox : 여러 k 값중 가장 작은 SSE 선택
4. Robust_scale : median, interquartile range 사용(outlier 영향 최소화)

'Data Analysis' 카테고리의 다른 글

Data Analysis Overview  (0) 2024.05.05