더북(TheBook)

이유야 어떻든 이 0 값을 처리해야 한다. 각 칼럼에 0이 몇 개 있는지 세어 보자.

print("Number of rows with 0 values for each variable")
for col in df.columns:
    missing_rows = df.loc[df[col]==0].shape[0]
    print(col + ": " + str(missing_rows))

▲ 그림 2-9 각 칼럼이 가진 0의 개수

Insulin 칼럼에 0이 무려 374개나 있다. 이 정도면 데이터셋의 거의 절반이다. Insulin 값이 0인 로우를 버리면 모델 성능이 크게 나빠질 것이다.

결측값은 다음 몇 가지 방법으로 처리할 수 있다.

결측값이 있는 로우를 제거한다(즉, 버린다).

결측되지 않은 정상 값의 평균, 중앙값, 또는 최빈값으로 결측값을 대신한다.

별도 머신 러닝 모델을 사용해 결측값을 예측한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.