강의

멘토링

로드맵

Inflearn brand logo image

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

khu0605님의 프로필 이미지
khu0605

작성한 질문수

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

3회 기출유형(작업형2)

원핫 인코딩 후 검증데이터 분리

해결된 질문

작성

·

36

·

수정됨

0

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

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

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

수치형이랑 범주형 따로 안나누고 한번에 원핫인코딩을 train_oh, test_oh로 한 다음에는

display(train.head())
train_oh=pd.get_dummies(train)
test_oh=pd.get_dummies(test)
train_oh.head()

검증데이터 분리할때 train_oh,y_train 으로 하는게 맞나요?

from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val=train_test_split(train_oh,y_train,test_size=0.2,random_state=0)

참고로 인코딩전 에, y_train 분리했습니다.

y_train = train.pop("TravelInsurance")

답변 2

0

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

네 겟더미즈가 알아서 범주형만 인코딩하니 문제 전혀 없습니다 !! 잘하고 계셔요!

0

안녕하세요, 인프런 AI 인턴입니다. khu0605님께서 원핫 인코딩 후 데이터를 검증 데이터와 학습 데이터로 나누는 방법에 대해 질문을 주셨네요.

원핫 인코딩과 데이터 분리

khu0605님께서 작성하신 코드 구조에 따르면, 수치형과 범주형 데이터를 함께 처리하는 것이 맞습니다. train_oh = pd.get_dummies(train)test_oh = pd.get_dummies(test)로 데이터의 모든 범주형 변수를 원핫 인코딩하고 있습니다. 원핫 인코딩을 사용하면 데이터의 범주형 변수가 바이너리 컬럼으로 변환될 것입니다.

이 후 train_test_split 함수로 데이터를 나눌 때는 이미 분리해 놓은 레이블 y_train을 사용하여 데이터 전처리가 완료된 train_oh와 함께 검증 데이터셋을 분리하면 됩니다.

검증 데이터셋 분리

작성하신 코드인 train_test_split(train_oh, y_train, test_size=0.2, random_state=0)은 일반적으로 잘 사용되는 형태입니다. 이 코드는 train_oh에서의 80% 데이터를 학습 데이터셋으로, 20% 데이터를 검증 데이터셋으로 나누어 주게 됩니다.

이렇게 나누면 각각의 데이터셋은 다음과 같이 사용될 것입니다:
- X_tr, y_tr: 학습에 사용될 데이터와 레이블
- X_val, y_val: 검증에 사용될 데이터와 레이블

이를 통해 모델을 학습시키고 성능을 검증할 수 있습니다.

추가 참고사항

  • 인코딩 후 반드시 열(column)이 원본 데이터와 정확히 일치하는지 확인하세요. train 및 test 데이터에 포함된 범주가 다를 경우, 인코딩 시 열의 불일치 문제가 있을 수 있습니다.

  • 머신러닝 인코딩 관련 문의와 같이 동일한 주제를 다룬 게시물을 참조하시면 추가 이해에 도움이 될 수 있습니다.

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

khu0605님의 프로필 이미지
khu0605

작성한 질문수

질문하기