인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ji_nhee님의 프로필 이미지
ji_nhee

작성한 질문수

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

작업형2 모의문제2

작업형2 모의문제2 라벨인코딩 과정 중 에러

해결된 질문

작성

·

953

·

수정됨

0

안녕하세요! 강의 진행중 코드에서 오류가 생겨 질문드립니다 ㅠㅠ

라벨인코딩 하는도중


cols = train.select_dtypes(include='object').columns
cols

from sklearn.preprocessing import LabelEncoder

for col in cols :
    le = LabelEncoder()
    train[col] = le.fit_transform(train[col])
    test[col] = le.transform(test[col])

train()

 

이렇게 작성하였으나

TypeError: Encoders require their input to be uniformly strings or numbers. Got ['int', 'str']

이런 오류가 나왔습니다 ㅠㅠ 위의 작성된코드를 살펴봐도 어디가 잘못된지모르겠어서, 또 저 에러가 무슨뜻인지 이해가 안가서 질문드립니다 ㅠ

 

또한, 데이터 전처리 과정 중 다소 불필요한 데이터(?)컬럼(?)을 삭제하지않고 진행할경우 성능이 크게 떨어질까요? ㅠㅠ 괜히 삭제했다가 나중에 뭔가 안맞아서 결과 도출에 오류가 생길까봐 컬럼을 삭제하는게 맘에 걸려서 시험에서는 되도록 그냥 두고싶습니다 ㅠㅠ 괜찮을까요?

 

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

코드에는 문제가 없어 보여요
cols = train.select_dtypes(include='object').columns
cols를 한번 찍어보시겠어요? 원하는 컬럼만 있는지 확인 부탁해요. 컬런 선택에 문제가 있어 보여요
cols =['컬럼1', '컬럼2']로 하는 방법도 있습니다.

네, 삭제하지 않고 다 활용해서 진행해도 됩니다. :)
5회까지는 결측치가 없는 데이터만 제공되어 특별히 버릴 컬럼은 없었어요~~!!

다만 이렇게 인코딩 에러가 나면 바로 해결이 안될 경우 어떻게든 제출은 해야 하니 편법으로 수치형 데이터만 선택해서 모델을 학습하는 방법도 있습니다.

ji_nhee님의 프로필 이미지
ji_nhee

작성한 질문수

질문하기