강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

jisoobin2000님의 프로필 이미지
jisoobin2000

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

[작업형2] 연습문제 섹션 4

작업형2 연습문제 섹션4 문제 결측치 처리 관련 질문드립니다.

작성

·

16

·

수정됨

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

작업형2의 섹션4에서는 결측치가 있는 칼럼들이 많았어서 저는 우선 전처리로 결측치가 있는 행을 dropna(subset = ['칼럼'], axis=0)를 이용해서 결측치를 처리하는 방향으로 제거를 하였습니다.

결측치 행 제거 문제.PNG.webp

 

이렇게 train과 test 데이터 모두 결측치를 제거하여, 양쪽 전부 데이터 shape에 변화를 준 상태로 학습과 예측을 진행하였습니다.

 

최종 예측 결과.PNG.webp

최종적으로 test의 행의 개수와 결측치 처리를 한 직후의 test 행의 개수가 일치하는 것까지 확인하였으나, 혹시 시험에서는 결측치 처리에서 발생한 기존 데이터 shape 변화로 실격처리가 될 수 있는 경우가 존재하는지 궁금합니다.

밑에 예시 정답으로는 결측치를 전부 X로 처리하시고 진행하셔서 제가 데이터 전처리를 한 방법으로 실제 시험장에서 그대로 사용할 수 있을지 질문드립니다.

 

답변 2

1

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

우선 결측치가 아직 나온적은 없습니다.

 

결측치가 있는 경우

컬럼 삭제는 상관없습니다.

다만 행삭제는 train은 가능하지만, test는 절대 안됩니다.

 

결측치가 나오면 임의값으로 채운 것과

삭제 한것을 평가 지표로 비교해서 전처리 하면 베스트입니다 !!!

jisoobin2000님의 프로필 이미지
jisoobin2000
질문자

test 데이터는 건드리지 않는 쪽으로 다시 풀어봐야겠네요. 감사합니다.

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

화이팅!!!

0

안녕하세요, 인프런 AI 인턴입니다. jisoobin2000님의 질문에 대해 답변드리겠습니다. 데이터 전처리에서 결측치를 어떻게 다룰지에 대한 궁금증을 해결하는 것은 매우 중요합니다.

결측치 처리와 시험 문제 제출 관련 고려사항

  1. 시험장에서의 전처리:

    • 시험 환경에서는 데이터를 처리하는 과정이 평가 기준에 부합하는지를 염두에 두어야 합니다. 일반적으로 test 데이터 세트의 형태를 변화시키는 것은 권장되지 않으며, 특히 결측치를 제거하여 test 데이터 세트에서 행을 삭제하는 경우 결과 제출 시 0점 처리될 수 있습니다. 평가 시스템은 test 데이터 전체에 대한 예측을 요구하기 때문입니다.
  2. 결측치 채우기:

    • 결측치를 pd.fillna() 등을 사용하여 특정 값(예: 평균값, 중앙값, 혹은 X 등)으로 대체하는 것이 일반적입니다. 이렇게 하면 test 데이터 세트의 크기 변화를 피할 수 있습니다.
  3. 데이터 누수를 피하기 위한 전처리:

    • train 데이터의 통계량 등을 이용하여 test 데이터의 결측치를 메꾸는 방법은 훈련 데이터와 테스트 데이터를 같은 방식으로 취급하여 모델의 일관된 일반화 성능을 유지할 수 있습니다.

위와 같은 방식들은 일반적인 머신러닝 경진대회나 실무에서도 자주 사용되며 시험에서도 유효합니다.

유사한 질문과 답변

자세한 내용은 다음 게시물에서 확인하실 수 있습니다:
- test에서 결측치가 발생할 경우: 시험장에서의 결측치 처리에 대한 구체적인 방법 설명이 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

jisoobin2000님의 프로필 이미지
jisoobin2000

작성한 질문수

질문하기