해결된 질문
작성
·
925
·
수정됨
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회까지는 결측치가 없는 데이터만 제공되어 특별히 버릴 컬럼은 없었어요~~!!
다만 이렇게 인코딩 에러가 나면 바로 해결이 안될 경우 어떻게든 제출은 해야 하니 편법으로 수치형 데이터만 선택해서 모델을 학습하는 방법도 있습니다.