해결된 질문
작성
·
178
0
데이터 전처리시 결측치가 있는 컬럼 삭제하는 경우 삭제의 기준이 있나요?!
영상에서는 기준이 없다고 하셨는데 어떤 기준으로 데이터를 삭제하거나, 결측치를 채우시는건가요?!
질문
결측치 처리시 데이터를 삭제 혹은 채우기를 하는가 그냥 무작위로 해도 무방한지 궁금합니다. 삭제 시 train데이터의 개수와 비슷한 수를 가지고 있는 데이터를 삭제 하시는건가요?!
세션5 작업형2 2번째 문제에서는 결측치가 없는 컬럼(host_id)도 삭제 하셨는데 결측치가 없는 컬럼을 삭제해도 무방한가요?
결측치 삭제, 채우기 시 강사님만의 기준이 있으신가요
ㅜㅜ
답변 1
0
기준은 검증 데이터로 평가했을 때 결과를 보고 판단합니다.
예를 들어, 결측치 처리를 어떤 방식으로든 간단하게 처리하고 베이스라인 모델을 만든 뒤 검증결과 정확도가 1점 만점에 0.7점이 나왔다고 치면, 그 7점을 기준으로 다른 전처리 처리시 점수가 상승하면 그 전처리 방법을 택하면 됩니다 :)
1번) 시험에서는 무작위로 베이스라인에서는 처리 해도 됩니다. 이후 삭제도 해보고 채워도 볼 수 있을 것 같아요!
2번) id는 습관적으로 삭제 했는데 삭제 하지 않아도 머신러닝 모델에서 중요도를 낮게 책정합니다. (가끔 id가 있는 경우 성능이 더 높을 때도 있어요) 다만 id가 숫자가 아니라 문자라면 인코딩 때 함께 인코딩되지 않게 주의해주세요!
3) 일반적으로는 탐색적 데이터분석에서 값을 보고 1차 판단합니다. 모든 데이터에 일반화 하기는 어렵지만 빅데이터 분석기사 시험 하에서는
1. 결측치가 있다면 문자는 fillna('X'), 숫자는 fillna(0) 값으로 일단 채우거나 50%가 넘어간다면 삭제하고 베이스라인을 만들 것 같아요!
2. 그리고 나서 점수를 확인하고 문자는 최빈값, 숫자는 평균 또는 중앙을 시도해보고
3. 숫자지만 범주형(카테고리)같은 컬럼이 있다면 최빈값으로도 변경해 볼 것 같아요!
참고로 6회까진 작업형2에서 결측치가 있는 데이터를 제공한 적은 없습니다 :) 7회 부터 난이도가 올라간다면 결측치가 있을 수 있을 것 같아요
더 궁금하다면 질문 남겨주세요 :) 화이팅 !! 💪