강의

멘토링

커뮤니티

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

봉동개미님의 프로필 이미지
봉동개미

작성한 질문수

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

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

결측치 그냥 최빈값으로 채우는게 무난할까요?

해결된 질문

작성

·

21

0

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

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

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

연습문제 섹션4

결측치 채우기

아래와 같이 때려넣어도됩니까?


a = train['gender'].mode()[0]
train['gender'] = train['gender'].fillna(a)

b = train['enrolled_university'].mode()[0]
train['enrolled_university'] = train['enrolled_university'].fillna(b)

c = train['education_level'].mode()[0]
train['education_level'] = train['education_level'].fillna(c)

d = train['major_discipline'].mode()[0]
train['major_discipline'] = train['major_discipline'].fillna(d)

e = train['experience'].mode()[0]
train['experience'] = train['experience'].fillna(e)

f = train['company_size'].mode()[0]
train['company_size'] = train['company_size'].fillna(f)

g = train['company_type'].mode()[0]
train['company_type'] = train['company_type'].fillna(g)

h = train['last_new_job'].mode()[0]
train['last_new_job'] = train['last_new_job'].fillna(h)

답변 2

0

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

때려넣다뇨!!

저도 이렇게 이렇게 한 컬럼, 한 컬럼 살펴보면서 처리 합니다 🙂

근데 숫자면 보통 최빈은 잘 안하고 평균이랑, 중앙을 베이스로 합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 봉동개미님.

결측치를 채우는 방법 중 하나로 최빈값을 사용하는 방법에 대해 질문해주셨네요. 최빈값을 이용해 결측치를 채우는 것은 일반적인 접근 방법 중 하나로, 특히 명목형 데이터(예: ‘gender’, ‘enrolled_university’ 등)에서 자주 사용됩니다. 최빈값은 해당 칼럼에서 가장 많이 나타나는 값이기 때문에, 데이터의 특성을 가장 잘 반영할 수 있습니다.

최빈값을 이용한 결측치 처리

  1. 명목형 데이터에서는 대체로 최빈값을 사용하여 결측치를 채웁니다. 이는 해당 변수가 특정 값에 대한 선호도가 있다는 가정을 기반으로 합니다.

  2. 코드 방식: 현재 예시대로 각 컬럼의 최빈값을 구하고 해당 값으로 결측치를 채우는 접근은 매우 일반적이며, 적절한 방법입니다. 코드를 사용한 방법은 다음과 같은 절차를 따릅니다:

   a = train['gender'].mode()[0]
   train['gender'] = train['gender'].fillna(a)

여기서 mode() 함수는 최빈값을 반환하고, [0]을 사용하여 최빈값 리스트 중 첫 번째 값을 선택합니다. 각 컬럼에 대해 동일한 접근 방식을 적용할 수 있습니다.

유의점

  • 일관성: 최빈값을 사용하여 결측치를 채우는 경우, 훈련 데이터와 테스트 데이터 모두에 대해 같은 접근 방식을 취하는 것이 중요합니다. 훈련 데이터에서 최빈값을 사용하여 테스트 데이터의 결측치도 일관되게 채우는 것이 좋습니다.

  • 데이터 누수 방지: 훈련 데이터에서의 통계값만을 이용하여 테스트 데이터의 결측치를 채우는 방식은 데이터 누수를 방지할 수 있습니다. 따라서, 데이터 누수가 없도록 훈련 데이터의 통계를 기준으로 한 일관된 결측치 처리 방법을 적용하는 것이 권장됩니다.

유사한 설명과 질문으로는 다음과 같은 것이 있습니다:
- 데이터 전처리에서 최빈값으로 결측치를 채우는 방법: 여기에서는 최빈값과 데이터 누수의 개념에 대해 더 깊이 있는 설명이 제공됩니다.

이 설명이 봉동개미님의 질문 해결에 도움이 되길 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

봉동개미님의 프로필 이미지
봉동개미

작성한 질문수

질문하기