강의

멘토링

로드맵

Inflearn brand logo image

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

wlysh999님의 프로필 이미지
wlysh999

작성한 질문수

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

섹션 19 퀴즈

기출 제2유형

작성

·

27

0

 

제2유형에서 시작전에

train.info()

test.info()하잖아요.

 

이후에 타입유형(int / float /object) 을 확인 한 후에 어떤 부분을 바꿔줘야하는건가요?

 

어차피 원핫인코딩 pd.get_dummies와

train, test = train.align(test, join ='left', axis=1, fill_value=0) 해주면

어느정도 형식이 정리되는거 아닌가요?

별도로 처리해줘야 할 게있는지 문의드립니다.

답변 2

0

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

info()시 object 만 없어지면 됩니다.

인코딩이 진행되면 object는 사라져요!

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

그럼 원핫인코딩하면 어차피 drop할 필요 없는거 아닌가요?

 

0

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

데이터 전처리 과정에서 train.info()test.info() 를 사용하는 것은 데이터의 개요를 확인하기 위함입니다. 각 컬럼의 데이터 타입(int, float, object)을 확인하면, 어떤 변수가 수치형 데이터인지, 어떤 변수가 범주형 데이터인지 알 수 있으며, 이는 이후 전처리 과정에서 중요한 정보를 제공합니다.

전처리 시 주의사항:

  1. 수치형 vs 범주형:

    • 수치형 데이터는 모델 학습에 직접 사용될 수 있지만, 범주형 데이터는 주로 모델에 입력하기 전에 인코딩이 필요합니다. 이 경우 pd.get_dummies() 를 사용하여 원핫 인코딩을 수행합니다.
  2. 데이터 정렬(align):

    • train, test = train.align(test, join='left', axis=1, fill_value=0) 을 통해 데이터를 정렬하고 맞추는 과정은 매우 유용합니다. 하지만, 데이터 타입의 불일치(예: 일부 컬럼의 경우 float가 필요한데 int로 되어 있다거나 문자열로 되어 있는 경우)나 컬럼명 불일치로 인해 발생할 수 있는 문제를 사전에 방지하진 않습니다.
  3. NA 값 처리:

    • 누락된 값이 있을 경우 대처 방법을 결정해야 합니다. 일반적으로 수치형 변수는 평균이나 중간값으로 대체하고, 범주형 변수는 ‘Unknown’이나 가장 빈도가 높은 값으로 대체할 수 있습니다.
  4. 기타 처리:

    • 데이터 정제 시, 이상치나 필요 없는 열을 제거하는 등의 사전 작업이 필요할 수 있습니다. 또한, 범주형 데이터가 많으면 차원의 저주를 피하기 위해 주의 깊은 인코딩 전략이 필요합니다.

기본적으로 제공하신 방법인 pd.get_dummies()align만으로는 데이터 전처리의 모든 문제를 해결할 수는 없으므로 각 데이터셋의 특성에 맞추어 추가 작업이 필요할 수 있습니다.

유사한 질문과 강의 자료를 참고하세요:
- 캐글 개 나이 예측 문항: 데이터 준비 과정에서의 유사한 상황을 설명하고 있는 게시물입니다.
- 4회 기출 유형(작업형2) 15:15 질문드립니다.: 인코딩 및 범주형 데이터 처리에 관한 질문입니다.

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

wlysh999님의 프로필 이미지
wlysh999

작성한 질문수

질문하기