inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

예시문제 작업형2(ver. 2025)

인코딩 관련질문

해결된 질문

60

dnrwls9115

작성한 질문수 15

0

안녕하세요 선생님. 제가 수강을통해 배우기로는

decribe(include ='O')속성을 찍어봐서 unique개수가 맞지않으면 데이터를 합친 후 인코딩을 진행하는거로

알고있습니다. 강의중에는 평소에는 보통 그냥 train,test를 따로따로 인코딩 하시더라고요.(원핫에경우에도, 라벨인코딩일때는 train ->fit_transform, test->transform이런식으로). 저도 이 방식으로 하다가

 

원핫이든 라벨인코딩이든 unique개수가 같든 그냥 모두 데이터를 합친 후, 인코딩 한 후에 데이터를 다시 train과 test를 분할해 사용하고 있습니다.(스케일링 필요할 경우에는 인코딩 후 스케일링 후 분할). 혹시 이 방법으로 계속 진행하고 시험환경에서도 그렇게 해도될지 질문드립니다.

 

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

from sklearn.preprocessing import LabelEncoder
cols = data.select_dtypes(include = "object").columns

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

train = data[:len(train)].copy()
test = data[len(train):].copy()
print(train.shape, test.shape)

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

답변 2

0

퇴근후딴짓

네 계속 진행하면 아무런 문제가 없어요!

다만 합치기 전에 target 컬럼만 꼭 분리해 주세요 🙂

 

분리를 안하게 되면 합쳤다가 다시 나누었을 때 test에도 target컬럼이 생겨요

0

인프런 AI 인턴

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

dnrwls9115님께서 제기하신 질문은 데이터 전처리 과정에서 매우 중요한 인코딩 부분에 대한 것입니다. 데이터 분석 및 머신러닝 모델링에서 인코딩은 신중하게 접근해야 하는 과정입니다. 다음은 dnrwls9115님의 상황을 고려한 답변입니다.

1. 학습 데이터와 테스트 데이터의 인코딩

  • 데이터 합치기 전략: 이 방법은 train과 test 데이터를 한 번에 인코딩하여, 스케일링을 포함한 모든 전처리 과정을 일관되게 처리할 수 있는 장점이 있습니다. 특히 원핫 인코딩에서, 테스트 데이터에 없는 카테고리로 인한 오류를 방지할 수 있습니다.

  • 개별 인코딩: 개별적으로 인코딩을 할 경우, 일부 상황에서는 train과 test 데이터에 서로 다른 컬럼이 생기는 문제가 발생할 수 있습니다. 이는 특히 원핫 인코딩에서 문제가 될 수 있습니다. 따라서 라벨 인코딩의 경우에는 train에서 학습한 레이블로 test에 대해 transform만 수행하면 되므로 크게 문제가 되지 않습니다. 반면, 원핫 인코딩의 경우에는 합쳐서 한 번에 처리하는 방법이 더 안전합니다.

2. 시험 환경 고려

  • 시험 안정성: 시험 환경에서는 최대한 오류 없이 결과를 얻어야 하므로, train과 test 데이터를 합쳐서 인코딩하고 나누는 방식은 시험 중 발생할 수 있는 여러 문제를 미연에 방지할 수 있습니다.

  • 다양성 관리: train 데이터에 대한 학습이 끝난 후 test 데이터에 대해서만 transform을 수행하여 결과를 비교할 수 있으므로, 데이터의 다양한 케이스에 대비할 수 있습니다.

3. 권장 사항

  • 현재 방법 지속 추천: dnrwls9115님께서 현재 사용하고 있는 방법(데이터 합친 후 인코딩 후 분할)은 문제 발생 가능성을 줄이고, 일관된 인코딩 상태를 유지할 수 있는 효과적인 방법입니다. 시험 환경에서 이 방법을 사용할 것을 권장드립니다.

  • 스케일링도 포함: 말씀하신 대로 스케일링을 인코딩 후에 적용하여 데이터를 잘 분할한다면, 그 점 또한 좋은 점수를 받을 수 있는 확률을 높입니다.

마지막으로, 동일한 주제로 도움이 될 수 있는 기존 답변은 아래 URL에서 확인해 보실 수 있습니다:

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

1유형 강의 다 나간 후 어떻게 할까요?

0

13

1

점수차가 많이 나는데 따로 하신게 있으신가요?

0

9

1

작업형1 모의문제 4번에 3)문제 질문

0

19

2

이상치 전처리 작업

0

25

2

평가결과값 문의

0

28

2

시계열 데이터 날짜와 시간 format

0

34

2

평가지표 F1 스코어 질문드립니다.

0

27

2

작업형 2 기출7회분에서

0

38

2

작업형2 모의문제1 (30강)

0

34

2

수강 기간 연장 문의 드립니다.

0

41

2

수강 계획과 관련해 문의 드립니다.

0

30

2

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

50

2

작업형 1 -연습문제 4-6

0

38

2

작업형 1 유형 부분

0

42

2

작업형 1 (삭제예정, 구 버전)

0

51

2

수강기간 연장 문의드립니다.

0

38

2

2유형 레이블 인코딩 VS 원핫 인코딩

0

37

3

수강기간 연장 문의드립니다.

0

44

2

인덱스 슬라이싱

0

37

2

질문 드립니다.

0

50

2

강의 내용 관련 질문드립니다~

0

46

2

수강 연장 문의

0

63

2

강의자료 일괄 다운로드

0

62

2

수강기간 연장 문의드립니다

0

48

2