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

현지원님의 프로필 이미지

작성한 질문수

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

데이터 전처리

결측치 채우기 질문

해결된 질문

24.06.15 18:56 작성

·

76

0

안녕하세요

 

수치형 변수 결측치를 채울 때

X_test 데이터에는 X_test의 age 평균값이 들어가야 한다고 생각했는데

X_test['age'] 에 X_train['age']의 평균값을 넣는데 이유가 있을까요?

주당 근무시간에 대해서도 test 데이터에 train 데이터의 중앙값을 넣어주던데 같은 질문입니다!

스크린샷 2024-06-15 오후 6.51.56.png

답변 2

0

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

2024. 06. 15. 21:32

일반적으로 train의 통계값을 넣습니다만

빅분기 실기는 코드를 평가하지 않기 때문에 train또는 test의 평균, 중앙 등을 넣어도 큰 문제가 되진 않을 것 같아요!

선택 기준은 평가지표 점수로 판단하시죠!!

 

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 15. 19:01

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

현지원님의 질문에 대한 답변은, 수치형 변수의 결측치를 처리하는 방법과 관련하여 X_test 데이터의 ‘age’와 ‘hours.per.week’ 컬럼에 X_train의 평균값 혹은 중앙값을 사용하는 이유에 대해 다루고 있습니다. 결측치 처리 시 X_train의 통계값을 사용하는 것은 데이터 누수(Data Leakage)를 방지하기 위한 표준 관행입니다. 데이터 분석 및 머신러닝 모델을 구축할 때, 모델의 일반화 능력을 평가하기 위해 데이터를 훈련 세트와 테스트 세트로 분할합니다. 이 때, 모델 학습에 사용되지 않는 테스트 데이터에 대한 정보가 훈련 과정에 영향을 미치지 않도록 해야 합니다. 따라서, 테스트 데이터의 결측치를 훈련 데이터의 통계치(평균, 중앙값 등)로 채우는 것은 모델을 더욱 견고하게 만들기 위한 방법입니다.

현지원님의 상황에 접근하는 방식을 다룬 유사 질문들을 참고하시면 도움이 될 것 같습니다:

이러한 배경 지식은 데이터 전처리 단계에서 매우 중요하며, 모델의 성능에도 큰 영향을 미칠 수 있습니다. 실제로 작업형 데이터 분석 및 머신러닝 프로젝트에서는 이와 같은 전처리 방법이 일반적으로 사용됩니다.

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