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

김치현님의 프로필 이미지
김치현

작성한 질문수

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

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

concat 관련

해결된 질문

작성

·

36

0

여기서 concat을 사용하는 이유가 X_train과 y_train을 df로 합치기 위해서인데,

labelencoding은 왜 X_train으로 진행하신건가요?

 

X_train.select_dtypes(include = 'object')

가 아닌

df.select_dtypes(include = 'object')

가 아닌짛 해서요.

답변 2

0

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

X_train.select_dtypes(include = 'object') 는 인코딩을 한 것이 아니라

object 컬럼을 뽑기 위한 용입니다.

위 두 코드 동일한 결과가 나와야 정상입니다 🙂

0

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

X_train과 y_train을 pd.concat() 함수를 사용하여 합친 후에 Label Encoding을 하는 이유에 대해 궁금하신 것 같습니다. 이러한 데이터 조작 방식은 때때로 특정한 분석 목적에 따라 채택됩니다.

  1. X_train과 y_train을 합치는 이유:

    • 주로 분석 초기 단계에서 데이터셋을 EDA(Exploratory Data Analysis)를 위해 합치기도 합니다. 예를 들어, X_train에 있는 각 데이터 포인트가 y_train의 어떤 결과에 대응하는지를 시각화하거나 탐색할 때 유용합니다. 하지만, 실제 머신러닝 모델을 훈련할 때는 X_train과 y_train을 다시 분리하여 사용합니다.
  2. labelencoding을 X_train에서 진행하는 이유:

    • Label Encoding이나 One-Hot Encoding은 보통 입력 데이터(X_train)에 대해서만 수행됩니다. 이는 모델의 학습에 있어 각 입력 속성(property)이 수치형 형태로 변환되어야 하기 때문입니다. 레이블(y_train)은 일반적으로 변환 필요가 없는 이진 또는 멀티클래스 형태로 이미 존재합니다.
  3. df.select_dtypes(include='object')가 아닌가요?:

    • X_train에서만 Label Encoding을 하는 이유는, 레이블 인코딩을 통해 수치형 값으로 변환할 카테고리형 데이터가 주로 X_train에 존재하기 때문입니다. y_train은 대상 변수로서 이미 수치형으로 존재하므로 변환이 필요 없습니다.
    • 만약 y_train도 카테고리형이라면, 이를 적절히 수치로 변환해야 하지만, 이는 타겟 인코딩 단계에서 적용됩니다.

아래 기존 질문과 답변을 참고하시면 도움이 되실 것 같습니다:
- concat 후 라벨인코딩시 질문이에요
- Concat 문의

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

김치현님의 프로필 이미지
김치현

작성한 질문수

질문하기