inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

피처 엔지니어링

레이블 인코딩 시 반복문 내에서 인코더를 다시 선언하는 이유

해결된 질문

97

김현영

작성한 질문수 8

0

레이블 인코딩 시

le = LabelEncoder() 
for col in cols:   
  le = LabelEncoder()
  c_train[col = le.fit_transform(..)
  c_test .... 

for 문 전에 레이블 인코더를 호출하여 선언하고

for문 내에서 또 하는 이유는 무엇인가요?

 

for문 시작 전 한번만 해 줘도 되는 게 아닌가해서 질문드려 봅니다.

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

답변 2

0

퇴근후딴짓

넵!! 맞습니다.

제가 실수 했어요!

둘 중 하나는 삭제 부탁드립니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 김현영님, 레이블 인코딩 시의 반복문 내에서의 처리에 대한 질문을 주셨네요.

레이블 인코딩 과정에서 LabelEncoder 객체를 반복문 안에서 다시 선언하는 이유는 컬럼(column) 별로 독립적인 인코딩을 수행하기 위함입니다. 각 컬럼은 고유한 레이블 인코딩을 필요로 할 수 있으며, 모든 컬럼에 대해 동일한 인코딩이 적용되면 안될 수도 있습니다. 따라서 아래와 같은 방법으로 진행되는 것이 일반적입니다:

for col in cols:
    le = LabelEncoder() # 각 col에 대해 새로운 인코더 생성
    X_train[col] = le.fit_transform(X_train[col])
    X_test[col] = le.transform(X_test[col])

반복문 밖에서 한번만 선언해도 되지 않을까요?

사실, 모든 컬럼에 같은 인코딩이 적용될 수 있다면, 반복문 외부에서 한번 선언하는 것도 가능합니다. 그러나 데이터마다 각 컬럼의 값들이 다를 수 있고, 서로 다른 레이블이 존재할 경우에는 컬럼별로 별도의 LabelEncoder 인스턴스가 필요합니다.

이해를 돕기 위해 유사한 질문에 대한 답변 링크를 추천드립니다. 이전 질문에서도 비슷한 논의가 있었으니 참고하시기 바랍니다:

  1. 반복문 안에서 LabelEncoder() 해주는 이유가 궁금합니다
  2. 라벨 인코더할 때 le = LabelEncoder() 구문을 반복하는 이유가 있나요?

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

작업형 1 유형 부분

0

13

1

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

0

32

2

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

0

21

1

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

0

24

3

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

0

26

1

인덱스 슬라이싱

0

27

2

질문 드립니다.

0

45

2

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

0

43

2

수강 연장 문의

0

56

2

강의자료 일괄 다운로드

0

50

2

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

0

41

2

list 문제 질문드립니다~

0

35

2

빅분기 실기 12회 재도전

0

54

2

강의 기간 연장 가능여부 검토 요청건

0

39

2

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

0

43

2

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

0

50

2

질문이요

0

56

2

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

0

58

2

문제 3-2 질문드립니다

0

47

2

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

0

61

2

변수, 칼럼 , df 구분

0

51

2

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

0

50

2

수강기간 연장 문의

0

49

2

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

0

42

2