데이터 사이언스 – 결측치,이상값 처리


1. 결측치 처리 (Missing Values)

결측 데이터 제거

결측이 있는 데이터들을 제거합니다.

  • 가장 쉬운 방법이긴 한데 정보의 손실이 있습니다.

결측을 제거 한 후 결과를 확인해 봅니다.

단순 대체

범주형 데이터

  1. 결측 자체도 하나의 범주값으로 보고, 결측을 의미하는 범주를 생성하여 대체합니다.

ex) Embarked 를 보니 아래와 같이 결측이 있습니다. (nan)

2개에 결측이 있네요.

‘Unk’ (Unknown) 으로 대체해 보겠습니다.


2. 최빈값으로 대체

ex)

Cabin은 복수의 요소로 구성이 되어 있고, 공백으로 구분 되어 있습니다. 이 중 맨 처음 나오는 Cabin만 남깁니다.앞자리 알파벳을 CabinType 그리고, 뒷자리 숫자는 CabinNo로 나누어 파생 변수를 만듭니다.CabinType을 Pclass 별로 CabinType의 최빈값으로 대체합니다. 만일 동수가 등장할 경우 사전순으로 앞에 있는 것으로 대체합니다.

CabinType 최빈값은 C 네요


수치형 데이터

  1. 평균(중심 통계량: 평균, 중앙값, 최빈값)으로 대체

ex)

  1. 보간법(Interpolation)순서가 있는 데이터(시간순, 위치순)인 경우에 앞, 뒤 값을 활용하여 결측치를 대체합니다.

Regression

  • 다른 변수를 이용하여 결측치를 예측하는 모델을 만들어, 모델의 예측값으로 결측치을 대체합니다.

ex)

Age’의 결측값을 ‘Pclass’, ‘Sex’, ‘SibSp’, ‘Parch’, ‘Fare’, ‘Embarked’ 를 이용하여 예측 모델을 만들어 예측치로 결측값을 대체합니다.예측 모델은 Random Forest Regression 모델로 하고, Pclass, Sex, Embarked는 가변수화 합니다. 나머지 입력값은 그대로 모델에 사용합니다.


이상치 처리 (Outliers)

  • IQR(Inter Quantile Range)을 통한 이상치 판별


이상치 제거

  • 이상치로 판단된 데이터를 제거합니다.


각 변수가 상하선 또는 하한선을 벗어 났는지 확인합니다.

이상치가 하나라도 있는 행을 뽑아 봅니다.


이상치에 해당하는 인덱스로, 이상치를 제거한 DataFrame을 df_berry2로 지정합니다

범위 한정(clipping)

하한값을 벗어난 경우 하한값으로 대체하고

상한값을 벗어나 경우 상한값으로 대체시킵니다.

ex)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다