해결된 질문
작성
·
23
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
시험에서 작업형2문제가 결측값이 있는 문제가 나오면
value_counts()를 통해 가장많이 있는값을 찾아서 fillna() 해주려합니다.
train['name'].value_counts() #Hillside Hotel
train['name'] = train['name'].fillna('Hillside Hotel')
test['name'].value_counts() #Brooklyn Apartment
test['name'] =test['name'].fillna('Brooklyn Apartment')
그런데 train과 test의 value_counts()값이 달라서 train과 test에 다른값(Hillside Hotel 와 Brooklyn Apartment) 을 넣어도 되나요??
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 이진혁님이 질문하신 작업형2에서의 결측치 처리 방법에 대해 설명드리겠습니다.
데이터 전처리에서 결측치를 처리하는 방법 중 하나로, 가장 많이 나타나는 값(즉, 최빈값)을 사용해 결측치를 채울 수 있습니다. 그런데 train 데이터와 test 데이터에서 최빈값이 다르다면, 각 데이터 셋에 서로 다른 최빈값을 사용해 결측치를 채우는 것은 크게 문제되지 않습니다. 이는 데이터의 맥락이나 특성에 따라 자연스러운 선택이 될 수 있습니다.
다만, 기본적으로 머신러닝 모델의 훈련 및 테스트 데이터에 일관성을 유지하려면 train 데이터 셋을 기준으로 결측치 처리를 하는 것이 일반적 입니다. 이는 모델이 훈련 데이터에서 학습한 내용을 기반으로 테스트 데이터에 적용하기 위함입니다. 그러나 실전에서는 특정한 비즈니스 논리나 도메인 지식에 따라 다르게 처리할 수도 있습니다.
아래와 같은 방법으로 진행할 수 있습니다:
1. Train 데이터에서의 최빈값으로 테스트 데이터의 결측치를 채운다.
2. Train과 Test 데이터 모두에서 동일한 기준 혹은 평균/중앙값으로 채운다.
관련해서 도움이 될 수 있는 유사한 질문들을 참고하면 좋을 것 같습니다:
- 예시문제 작업형 2 질문: 데이터 전처리와 모델 학습에서의 문제 해결 방법에 대한 토론이 있습니다.
- 데이터 전처리(결측치 채울때 궁금한점): 결측치 처리 시 train과 test의 일관성을 유지하는 방법에 대해 설명합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.