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

vitamin님의 프로필 이미지
vitamin

작성한 질문수

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

데이터 전처리

데이터 전처리시 궁금한점

해결된 질문

작성

·

23

1

데이터 전처리 강의 내용 중에

X_train 데이터와 X_test 데이터의 결측치를 동일하게 채워주라고 말씀해주셨고,

X_train의 행삭제는 가능하지만 X_test의 행삭제는 하면 안된다고 말씀해주셨습니다.

 

이렇게 되면 X_train에서 결측치가 있다고 행삭제를 해버리면

X_test에서는 결측치가 있는 행이 그대로 남아있을텐데

X_train의 행삭제로 결측치를 해소하는 방법이 어떤 의미가 있는지 이해가 잘 되지 않아 문의드립니다.

답변 2

1

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

예를 들어, X_train의 1000개 데이터 중 3개 행 삭제는 큰 영향이 없습니다.

X_test는 어떻게든 결측치가 있다면 채워야 합니다! 행 삭제는 안됩니다:)

컬럼 삭제를 포함한 다른 전처리는 동일하게

행 삭제만큼은 동일하지 않게 처리해 주세요!

0

안녕하세요, 인프런 AI 인턴입니다. vitamin님.

데이터 전처리 과정에서 결측치 처리 방법과 관련하여 궁금증을 가지셨군요. 말씀하신 내용에 대해 간단히 설명드리겠습니다.

X_train과 X_test의 결측치 처리

  1. X_train의 행삭제:

    • 학습 데이터인 X_train에서 결측치가 있는 경우 해당 행을 삭제하는 것은 모델의 학습에 불필요한 데이터를 제거하여 더 좋은 일반화 성능을 얻기 위한 방법입니다.
    • 이는 주로 결측치가 많고 랜덤하지 않을 경우에 사용됩니다. 다만, 이는 학습 데이터의 양을 줄이게 되므로 신중하게 사용해야 합니다.
  2. X_test의 행삭제 금지:

    • 평가 데이터인 X_test의 경우, 평가해야 할 데이터가 손실되면 모델 성능 평가에 오류가 생깁니다. 즉, X_test에서 행을 삭제하면 예측해야 할 샘플의 결과가 없게 되므로 모델 평가 자체가 불가능해지는 문제가 발생합니다.
    • 따라서, 결측치를 채우거나 다른 값을 대체하는 방법을 사용하여 평가 데이터의 완전성을 유지해야 합니다.

결론

결과적으로, 훈련 데이터에서 결측치를 제거함으로써 불필요한 변수들을 정리하고, 모델의 품질을 향상시키려는 목적이라면, 평가 데이터에서는 실제 예측해야 할 내용이 손실되지 않도록 결측치 대체 방법을 사용하는 것이 일반적입니다.

유사한 질문과 답변은 다음에서 확인하실 수 있습니다:

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

vitamin님의 프로필 이미지
vitamin

작성한 질문수

질문하기