[AIFFEL] 9. 데이터 전처리 (Data Preprocessing)

마팍·2021년 2월 4일
0

AIFFEL

목록 보기
10/12

데이터 전처리 (Data Preprocessing)

"데이터가 쓰레기면 아무리 훌륭하고 정밀한 분석을 해도 결국 쓰레기다."

회사를 다니면서 분석 업무를 할때 항상 듣던 말이다.
나름 분석을 주 업무로 했던 사람으로써 절실히 동감하는 말이다.

실제로 새벽 12시까지 야근하며 진행했던 분석 결과물의 수치가 이상하여 재조사해보니 데이터가 잘못됐었다는 것을 깨닫고 절망한 경험이 있다.

이처럼 데이터 분석에 있어 데이터를 전처리하는 작업은 상당히 중요하다.
이쁘게 다듬은 데이터는 더욱 정확한 결과물을 필연적으로 가져다 주며,
못생긴 데이터는 자칫하면 당신이 잠못자가며 공들인 결과물을 한순간에 쓰레기로 전락시킬 수 있기 때문이다.

결측치 (Missing Data)

Missing Data (Value), 즉 값이 표기되지 않은 값이다.

결측치의 종류

1. 완전 무작위 결측 (Missing Completely at Random)

변수 상에서 발생한 결측치가 다르 변수들과 아무런 상관이 없는 경우.
가장 common한 결측치이며 우리가 쉽게 마주하게 되는 결측치이다.

2. 무작위 결측 (Missing at Random)

누락된 자료가 특정 변수와 관련되어 일어나지만, 그 변수의 결과는 관계 없는 경우.

3. 비무작위 결측 (Missing at Not Random)

위의 두가지에 해당하지 않는 결측. 즉, 누락된 값이 변수와 연관이 있는 경우를 말한다.

결측치 처리법

1. 제거 (Deletion)

대부분 쓰이는 방법으로, 결측치를 제거함으로써 데이터의 특성에 변화가 오지 않는다면 보편적으로 이용하는 방법이다.

2. 대체 (Substituion/Imputation)

결측치에 유의미한 값을 채우는 방법이다. 평균화 기법, 예측 기법등 다양한 기법을 이용한다.

중복 데이터 (Duplicates)

같은 값이 중복으로 저장되어있는 데이터를 말한다.
duplicated() 함수로 중복을 확인하며 (값은 True/False를 리턴한다),
drop_duplicates() 함수로 제거 할 수 있다.

이상치 (Outliers)

데이터의 분포에서 극단적으로 벗어나있는 데이터를 말한다.
극단적인 변수도 조사하고 싶을때를 제외하고 보통 제거한다.

z-score

이상치를 찾아낼때 보편적으로 쓰이는 방법이다.

  • 여기서 x는 정상화되는 원수치이다.
  • σ는 모집단에서의 표준편차이다.
  • μ는 모집단에서의 평균이다.

z스코어는 우리가 조사하고자 하는 원수치 x가 평균에서 얼마나 떨어져있는지를 나타낸다. 결과값이 음수면 평균 이하, 양수면 평균 이상이라는 뜻이다.

IQR (Interquartile Range) Method

사분위 범위수라 불리며 z스코어를 대안하는 검사법이다.

박스 플롯을 통해 최소값, Q1, Q2, Q3, 중앙값, 최대값을 도출한다.
최소값 최대값 밖으로 넘어간 이상치를 관찰한다.

정규화(Normalization)

데이터의 중복을 줄이고 무결성을 향상시키는 등 데이터를 정규화된 형태로 다듬는 과정.

정규화의 목적

  • 불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위해서
  • 데이터베이스 구조 확장 시 재디자인을 최소화
  • 다양한 관점에서의 query를 지원하기 위해서
  • 무결성 제약조건의 시행을 간단하게 하기 위해서
  • 각종 이상 현상(Anomaly) 을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다.

원-핫 인코딩 (One-Hot Encoding)

카데고리별 이진 특성을 만들어 해당하는 특성만 1, 나머지는 0으로 처리하는 방법.

구간화 (Binning)

주어진 연속형 변수를 범주형 또는 순위형 변수로 변환하는 작업.

사용 이유

  • 이상치로 인해 발생 가능한 문제를 완화시킬 수 있다.
  • 결측치 처리를 보다 간편하게 할 수 있다.
  • 과적합을 완화시킨다.
  • 결과에 대한 해석이 용이하다.
  • Target변수와 관계가 비선형인 경우에도 설명이 가능하다.
profile
데린이입니다.

0개의 댓글