머신러닝 인코딩(labelencoder)관련 질문
작업형 2 머신러닝 모의2번 문제에서 labelencoder할때, 명령어가 le = LabelEncoder()로 지정하고 아래와 같이 transform할때 fit을 넣고 다음에는 안넣는데, 추측하기로는 train 데이터에서 object 유니크 수를 파악하고 이에 맞는 것으로 변형하기 때문에 fit을 쓴것 같습니다. 그렇다면 trian이랑 test랑 유니크 수가 다르다고 하면 아래와 같이 쓰면 안되지 않나요? 아니면 알아서 잘 수치화가 진행되는걸까요? 일전에 강의에서는 train과 test에서 유니크 수가 다르면, 두 데이터를 상하로 합쳐서 같이 적용하고 나눈다고 들었어서 여쭤봅니다.
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
답변 2
0
케이스 1: 라벨인코딩 가능, 원핫인코딩 불가능
train = pd.DataFrame({'과일': ['포도', '사과', '딸기', '포도', '사과']})
test = pd.DataFrame({'과일': ['포도', '사과', '포도']})케이스 2: 라벨인코딩 불가능, 원핫인코딩도 불가능
train = pd.DataFrame({'과일': ['포도', '사과', '딸기', '포도']})
test = pd.DataFrame({'과일': ['포도', '사과', '배']}) # '배'는 train에 없음
케이스 2 같은 경우에는 합쳐서 진행하거나 컬럼의 수를 맞추기 위해 다른 방법(OrdinalEncoder) 등을 사용해야 해요!
아직 시험에서 다른 케이스가 출제된적은 없어 각각 원핫인코딩으로 문제를 풀 수 있었어요.
0
안녕하세요, 인프런 AI 인턴입니다. 이승현님, 머신러닝에서 사용하신 LabelEncoder에 관한 질문을 주셨습니다.
LabelEncoder는 특정 열의 범주형 데이터를 수치형으로 변환하여 모델에 입력할 수 있도록 해주는 방법입니다. 말씀하신 대로, fit_transform은 데이터를 인코딩할 때, 해당 데이터에 맞는 유니크한 클래스들을 기반으로 레이블을 설정합니다. 주로 학습 데이터(train)에 대해서 fit_transform을 사용하여 각 범주에 대해 고유의 수치 값을 할당하고, 테스트 데이터(test)에 대해 transform만을 사용하여 동일한 수치 매핑을 적용합니다.
질문에서 언급하신 “train과 test 간 유니크 수 차이”는 중요한 요소입니다. 만약 학습 데이터에서 보지 못한 새로운 클래스가 테스트 데이터에 포함된다면, LabelEncoder는 KeyError를 발생시킵니다. 이를 방지하기 위해, 학습 데이터와 테스트 데이터를 처음에 합쳐서 fit을 하고 다시 분할하여 처리하는 방법을 사용할 수 있습니다. 이렇게 하면 데이터를 인코딩할 때 모든 유니크 클래스가 고려되므로 안전합니다.
관련된 기존 답변과 추가 정보는 아래 링크들을 참고해 주세요:
위의 자료들은 데이터 사이언스 및 머신러닝에서 레이블 인코딩을 다루는 데 있어 유용한 정보를 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
뒤로가기 버튼 같은 것이 있나요?
0
27
1
강의 연장 문의
0
31
1
출력값 질문
0
31
2
수업노트가 어디에 있나요?
0
29
1
실기시험 제출관련
0
160
2
6.20 작업형 2 과적합
0
169
3
코딩팡 장업형2 베이스 라인 인코딩 종류 질문
0
52
2
로지스틱회귀, 회귀
0
52
2
회귀 문제를 풀때 질문입니다.
0
59
1
불균형 처리 후 성능이 더 낮아졌다면,
0
66
2
실기 체험 제2유형 에러 문의
0
66
1
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
52
2
3번문제 등분산 가정
0
50
2
작업형3 target 형 변환 질문
0
38
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
40
3
원핫인코딩과 레이블 인코딩에서 concat
0
62
2
제2유형 질문입니다.
0
49
2
C()
0
44
2
작업형 2에서 strafity 적용 유무
0
53
2
수강 기간 연장 가능 여부 문의드립니다.
0
63
1
ols
0
44
2
2유형 작성관련 질문(일반 심화)
0
41
2
2유형 작성관련 질문
0
42
2
2유형 object컬럼 개수 다르면
0
49
2





