본문 바로가기
Data Science

데이터 전처리 (Data Cleaning) - python

by MOVE🔥 2023. 3. 6.
728x90
반응형

결측치(Missing Data)

#결측치 확인 방법
data.isnull().sum()

결측치 처리 방법

  1. 임의의 값 지정
  2. 최빈값 등으로 대체한다.
  3. 다른 데이터를 이용해 예측값으로 대체할 수 있다.
  4. 시계열 특성을 가진 데이터의 경우 앞뒤 데이터를 통해 결측치를 대체할 수 있다.

 

중복된 데이터 제거

data.drop_duplicates(inplace=True)

 

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

문자열 형태의 값 N개를 컬럼으로 변경시킴 (ex 성별: 남, 여 -> 남자 : 0,1 여자: 1,0)

# 문자열형태의 카테고리 0/1 cloums로 변경
data = pd.get_dummies(data, columns=['sex', 'smoker', 'day', 'time'])

 

 

이상치(Outlier)

측정 데이터들에서 튀는 값(like noise) 학습 시 왜곡을 준다.

이상치 찾아내는 방법

  1. z-score
  2. 사분위범위수 IQR(Interquartile range)

이상치 처리방법

  1. 이상치 삭제
  2. 최댓값, 최솟값을 설정해 데이터의 범위를 제한
  3. 다른데이터를 이용해 예측
  4. binning을 통해 수치형 데이터를 범주형으로 변형

 

구간화(Bining or bucketing)

연속형 변수를 구간으로 나누어 범주형 데이터로 나타내는 것을 말한다.

구간화 를 사용하는 이유 :

  • 이상치를 완화 시킬 수 있다.
  • 결측치를 처리하기 수월하다.

 

정규화

데이터 정규화 하는 이유 : 컬럼마다 스케일이 크게 차이 나는 데이터를 입력하면 머신러닝 모델 학습에 문제가 발생할 수 있다.

정규화 대표 방법

  • Standardization 데이터의 평균은 0, 분산은 1로 변환
  • Min-Max Scaling 데이터의 최솟값은 0, 최댓값은 1로 변환
scaler = MinMaxScaler()
scaler.fit_transform(data)

 

728x90
반응형

댓글