해결된 질문
작성
·
286
0
실기 2회의 작업형 2번에서
X_train, y_train, X_test로 데이터가 구성 되어 있는데
X_train의 데이터를 라벨인코딩 하려고 하니깐
y should be a 1d array, got an array of shape (8799, 4) instead.
이런 내용의 에러 메세지가 떴습니다. 모델의 타겟 변수인 'y'가 2차원 배열이 아닌 1차원 배열이어야 한다는 내용입니다.
# 라벨인코딩 제가 작성한 코드입니다.
cols = ['Warehouse_block', 'Mode_of_Shipment', 'Product_importance', 'Gender']
from sklearn.preprocessing import LabelEncoder
le=LabelEncoder()
X_train[cols] =le.fit_transform(X_train[cols])
X_test[cols] = le.transform(X_test[cols])
질문1
X_train, y_train, X_test로 데이터가 구성 되어있으면 무조건
X_train, y_trian을 합쳐서 라벨인코딩을 해야하나요?
질문2
합치지 않고도 쉽게 할 수 있는 방법이 있나요?
답변 1
0
X_train, y_trian을 합쳐 인코딩을 진행할 필요가 없습니다.
단, X_train과 X_test(또는 test)를 합쳐서 인코딩하는 것을 이야기 하는 것이라면 이부분은
train에는 사과 딸기 배 가 있고
test에는 딸기 포도
와 같이 종류가 다를 때를 말합니다. 그리고 2~6회까지 아직 이런 케이스는 없었습니다.