inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

인코딩 할 때 에러가 난다면?

합쳐서 원핫인코딩

해결된 질문

58

합격

작성한 질문수 40

0

df=pd.concat([train, test])
df=pd.get_dummies(df)
train=train.iloc[:len(train)]
test=test.iloc[len(train):]
print(train.shape, test.shape)

print로 컬럼 수 일치하는지 반드시 확인이라고 햇는데 어떤 컬럼수가 어떤거랑 일치해야하는거죠??

 

아 그리고 이렇게 분리를 다시 했으면

train_test_split 이 코딩은 더 안해도되나요? 이것도 또 해야하나요?

X_tr, X_val, y_tr, y_val 이요

 

 

 

 

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 2

0

퇴근후딴짓

train과 test의 컬럼수가 일치해야 합니다.

 

train_test_split은 인코딩과 전혀 상관없는 함수입니다. 별개입니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 합격님 질문에 답변드리겠습니다.

1. 컬럼 수 일치 확인

원핫 인코딩을 사용하여 traintest 데이터를 합친 후, pd.get_dummies()를 통해 범주형 변수를 인코딩하면 각 범주형 변수는 서로 다른 컬럼으로 변환됩니다. 문제는 traintest 데이터셋 간에 존재하던 범주형 값 중 한 쪽에만 있는 범주형 값이 있을 경우, 두 데이터셋의 컬럼 수가 불일치할 수 있다는 점입니다. 따라서 원핫 인코딩 후 각 데이터셋의 컬럼 수가 동일한지 확인해야 합니다.

  • print(train.shape, test.shape)를 통해 train과 test 데이터의 컬럼 수가 일치하는지 확인하고, 만약 컬럼 수가 다르다면 데이터 전처리에 오류가 있을 수도 있습니다.

2. train_test_split 다시 해야 하나요?

train_test_split은 모델 학습을 위한 검증 세트를 분할하는 과정입니다. pd.concat()pd.get_dummies()로 다시 데이터를 처리한 후 traintest를 분리한 것이니, test 데이터는 모델 평가용 데이터로 남겨두고 싶으시다면 train 데이터에 대해서만 train_test_split을 다시 수행하여 학습용(train)과 검증용(val)을 분리하는 것이 좋습니다.

즉, X_tr, X_val, y_tr, y_val를 만드는 과정이 필요합니다. 여기서 X_trX_val은 각각 학습 및 검증용 특징 행렬이며, y_try_val는 학습 및 검증용 타겟 벡터입니다.

관련된 기존 질문을 참조할 수 있는 링크는 다음과 같습니다:
- 원핫 인코딩 후 데이터 분할에 대한 설명
- 데이터처리에 관한 문제

위의 게시물에서는 데이터 병합 후 원핫 인코딩 및 학습 데이터 분할 과정에서 주의해야 할 점들을 다루고 있습니다.

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

RandomForest vs lgb

0

11

1

전처리 관련질문

0

7

2

작업형3 기출

0

7

1

유형2에서 데이터분할 생략 가능여부

0

13

2

9회 기출 유형3 질문

0

10

1

lgb 기초편

0

8

1

괄호 사용

0

12

1

작업형 2 데이터 전처리 질문

0

14

1

11회 기출 유형 작업형1 문제 3-1

0

10

0

예시문제 작업형2 (ver2023) 질문입니다

0

12

1

Data type에 따른 처리

0

12

2

데이터 전처리 관련

0

14

2

시험에서 문제 불러오기

0

12

2

2번문제 출력값 질문

0

18

2

pd.get_dummies()가 bool로 반환

0

16

2

대응표본검정 레빈

0

20

3

단일표본검정 문제 유형

0

22

2

[작업형 3] 6~7. 카이제곱 검정

0

18

2

9회 작업형3 문제 1-1

0

35

2

최종답안 계산 방식 질문

0

20

1

시험 치기 전 급하게 질문 사항

0

35

2

유형3

0

29

2

작업형 2 연습문제 섹션 3

0

20

2

11 기출문제 ipynb파일

0

33

2