• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

결측값 처리

22.05.09 21:47 작성 조회수 279

0

안녕하세요. 실전 데이터 사이언스 Part2. 데이터 전처리 학습을 잘듣고 있는 학생입니다. 강의를 너무 잘듣고 있고, "결측치 처리" 관련해서 질문이 있어서 글을 남기게 되었습니다.  특정 컬럼의 결측값 비율이 50%를 넘고 있습니다. 하지만 이 컬럼과 label값과의 상관관계를 보면 0.45 정도 되기 때문에 중요한 컬럼이란 생각을 하고 있습니다. 이런 경우, 그래도 결측값이 너무 많기 때문에 제거하는게 좋은지 아니면, 평균값 등 다른값으로 대체하는게 좋을지 조언을 구할 수 있을까요? 감사합니다.

답변 1

답변을 작성해보세요.

0

결측치의 %가 크다고 항상 컬럼을 삭제하지는 않습니다.

가능한 타당한 값으로 대체하는 것이 필요한데, 일단 평균치로 대체한 후에 머신러닝 모델의 성능이 개선되는지를 직접 확인해보는 방법이 있겠습니다. 항상 가장 중요한 것은 모델의 성능이 개선되는지를 보고 선택 여부를 판단하는 것입니다. 문제에 따라서 결과가 다르기 때문입니다.

또한  일괄적으로 평균치를 취하는 방법 외에도 개선된 방법들이 있습니다. 예를 들어 다른 변수를 보고 좀더 근접한 값으로 추정할 수 있겠지요. 예를 들어 키라면 나이를 보고 연령대별 평균을 사용한다든지 하는 방법입니다.

결측치가 카데고리 변수라면 원핫 인코딩을 한 후에 결측치는 모두 0으로 인코딩하는 방법도 있습니다. 이는 특히 모델로 랜덤포레스트 모델을 사용할 때 유용합니다. 결측치가 있는 샘플은 트리 분류에서 다루지 않는 방법입니다.

 

답이 되었는지요?