• 카테고리

    질문 & 답변
  • 세부 분야

    자격증 (데이터 사이언스)

  • 해결 여부

    해결됨

6회 작업형2 라벨인코딩

23.11.15 10:37 작성 조회수 229

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

원핫인코딩 말고 라벨인코딩으로 하면 에러가 뜨던데..

 

라벨인코딩으로는 작업코드가 어떻게 되나요?

타겟데이터 pop하고 검증데이터 분리 전에 라벨인코딩 진행했는데 이런 에러가 뜹니다,,

# print(train.shape, test.shape)
# train = pd.get_dummies(train) # 전체를 넣으면 train에서 object값만 인코딩하고 수치형 데이터는 그대로 둚
# test = pd.get_dummies(test)
# print(train.shape, test.shape)
cols = train.select_dtypes(include='object').columns
from sklearn.preprocessing import LabelEncoder

le = LabelEncoder()
for col in cols:
  train['col'] = le.fit_transform(train['col'])
  test['col'] = le.transform(test['col'])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   3801             try:
-> 3802                 return self._engine.get_loc(casted_key)
   3803             except KeyError as err:


4 frames


pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'col'
The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   3802                 return self._engine.get_loc(casted_key)
   3803             except KeyError as err:
-> 3804                 raise KeyError(key) from err
   3805             except TypeError:
   3806                 # If we have a listlike key, _check_indexing_error will raise

KeyError: 'col'

답변 1

답변을 작성해보세요.

0

col은 컬럼명이 아니라 변수 입니다.

train['col'] = le.fit_transform(train['col'])
test['col'] = le.transform(test['col'])

 

다음과 같이 사용하셔야 해요!

train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])