해결된 질문
24.06.21 08:52 작성
·
120
·
수정됨
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
안녕하세요!
set 방법이 이제 생각나서 다시 돌아와서 보고 있습니다.
set으로 확인하는 과정은 EDA에서 해주는게 맞죠?
a = set(train['object컬럼명'].unique())
b = set(test['object컬럼명'].unique())
이렇게 정의 해주었을때
test에 있는데 train에 없는 경우만 예외경우로 합쳐서 레이블 인코딩 해줘야하니
print(b-a) 만 해주면 되는거 맞죠? (굳이 a-b는 안해줘도되나 싶어서요)
이 값이 어떤 값이 나오면 합쳐서 레이블 인코딩 해주고 분리해주는거구요!
만약 합친 다음에 레이블 인코딩 해줘야한다면
<전처리 단계>
target = train.pop('타겟컬럼')
from sklearn.preprocessing import LabelEncoder
cols = train.select_dtypes(include='object').columns
df = pd.concat([train,test])
for col in cols:
le = LabelEncoder()
df[col] = le.fit_transform(df[col])
train = df.iloc[:len(train)]
test = df.iloc[len(train):]
이 순서대로 진행하면될까요?
마지막으로 합쳐서 레이블 인코딩 할때 object 컬럼이 여러개 있다면 (예를들어 6개가 object 컬럼이라면) 6개중 단 하나의 object 컬럼이라도 print(b-a) 했을때 값이 나온다면 합쳐서 레이블 인코딩 후 분리해주는거 맞죠?