인프런 커뮤니티 질문&답변
예시문제 작업형2
해결된 질문
작성
·
20
·
수정됨
0
예시문제 작업형2에서 레이블 인코딩을 하려고 합니다.
이전 수업에서 했던 방식대로
# 인코딩(레이블)
cols = test.select_dtypes(include='object').columns
print(cols)
# from sklearn.preprocessing import LabelEncoder
# le = LabelEncoder()
# for col in cols:
# train[col] = le.fit_transform(train[col])
# test[col] = le.transform(test[col])
# print(train.info())
# print(test.info())
이렇게 진행했는데 왜 오류가 뜰까요? 강의랑 다르게 cols에 주구매상품, 주구매지점, 환불금액까지 나오긴 했습니다.
혹시 결측치를 mode로 채워서 그런걸까요 ..?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 최수영님.
질문 주신 예시문제 작업형2에서 레이블 인코딩을 진행하실 때 발생하는 오류에 대해 설명드리겠습니다.
주어진 코드에서 cols = test.select_dtypes(include='object').columns를 사용하여 객체형 데이터를 가진 컬럼들을 리스트로 저장하고 있습니다. 이후 LabelEncoder로 각 컬럼을 인코딩하는 방식인데, 코드 자체에는 문제가 없어 보입니다. 그러나 오류가 발생하는 원인은 다음과 같은 몇 가지 이유가 있을 수 있습니다:
데이터 형식 문제:
LabelEncoder는 문자열이나 일관된 유형의 데이터를 필요로 합니다. 일부 데이터가 숫자형으로 잘못 저장되어 있거나, 문자열과 숫자가 혼합되어 있는 경우TypeError: Encoders require their input to be uniformly strings or numbers오류가 발생할 수 있습니다.누락된 데이터 문제: 데이터 내에 누락된 값이 있는 경우 인코딩 과정에서 문제가 발생할 수 있습니다. 데이터 전처리 과정에서 결측값을 처리해 주세요.
데이터의 일관성 유지:
train과test데이터셋에서 동일한 컬럼이 있어야 합니다. 코드상에서는train[col]와test[col]가 모두 존재하는지 확인이 필요합니다.
이와 관련된 오류 및 해결 방안에 대해 더 자세히 알고 싶다면 아래의 유사한 질문과 답변을 참고하시면 좋습니다:
- 작업형2 범주형 데이터 처리시: train과 test에서 컬럼 일관성을 유지하며 인코딩하는 방법.
- 작업형2 모의문제2 라벨인코딩 과정 중 에러: 인코딩 과정에서 자주 발생하는 오류와 해결책에 관련된 답변.
이러한 답변들이 많은 도움이 되시기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





