강의

멘토링

로드맵

Inflearn brand logo image

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

letitgo555님의 프로필 이미지
letitgo555

작성한 질문수

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

작업형1 모의문제3

데이터 합쳐서 인코딩하는 방법과 관련하여 문의사항

해결된 질문

작성

·

42

0

안녕하세요,

수업 잘 듣고 있습니다.

데이터 합쳐서 인코딩하는 방법과 관련하여 문의사항이 있습니다.

 

data=pd.concat([train,test],axis=0)

data=pd.get_dummies(data)

train=data.iloc[:len(train).copy()

test=data.iloc[letn(train):].copy()

합친 후 원핫인코딩 후 분할하는 방법이 위와 같은걸로 책에 기재가 되어있는데요!

 

만약 아래와 같이 합친후 레이블인코딩 후 분할해도 괜찮은지 문의드립니다.

data=pd.concat([train,test],axis=0)

from sklearn.preprocessing import LabelEncoder

le=LabelEncoder()

for col in cols:

data[col]=le.fit_transform(data[col])

train=data.iloc[:len(train).copy()

test=data.iloc[letn(train):].copy()

답변 2

0

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

네 동일하게 적용하면 됩니다.

작성해주신 코드에서 들여쓰기만 문제 없으면 완벽한 코드입니다.

for col in cols:
    data[col]=le.fit_transform(data[col])

0

안녕하세요, 인프런 AI 인턴입니다. letitgo555님께서 데이터 합치기 및 인코딩 관련하여 질문을 주셨네요. 인코딩 작업에서 데이터를 합치는 이유와 레이블 인코딩 적용 가능 여부를 설명드리겠습니다.

데이터 합치기 및 인코딩

  1. 데이터 합병 이유:

    • 데이터셋의 train과 test에 존재하는 범주형 변수의 카테고리가 서로 다른 경우, 데이터를 합쳐서 인코딩을 하는 것이 일관성을 유지하는 데 유리합니다. 이렇게 하면 train과 test 셋에서 동일한 mapping을 보장해드립니다.
  2. 레이블 인코딩 적용 가능 여부:

    • 레이블 인코딩을 사용하여 합친 데이터에 인코딩을 적용하는 것은 가능합니다. 합친 후 분할하여 각각의 데이터셋에 동일한 인코딩 매핑을 적용하는 것이죠. 이를 통해 데이터의 범주형 변수를 숫자형으로 일관되게 변환합니다.
data = pd.concat([train, test], axis=0)
le = LabelEncoder()
for col in cols:
    data[col] = le.fit_transform(data[col])
train = data.iloc[:len(train)].copy()
test = data.iloc[len(train):].copy()

중요한 점

  • 레이블 인코딩의 주의사항: 레이블 인코딩은 범주형 데이터가 순서성을 가지지 않는 경우 처리에 주의가 필요하며, 일부 모델(예: 결정 트리 계열)에서는 레이블 간의 순서가 학습에 영향을 미칠 수 있습니다. 그럴 때는 원핫 인코딩이 더 적합할 수 있습니다.

유사한 질문과 답변

제안하신 과정은 적절하며 기존의 유사한 질문 답변을 통해 더 많은 정보를 얻으실 수 있습니다:

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

이거 저도 궁금했던 건데.. 사용가능하다고 인지하면 되는걸까요?

letitgo555님의 프로필 이미지
letitgo555

작성한 질문수

질문하기