해결된 질문
작성
·
42
답변 3
0
0
혹시
for col in cols:
le = LabelEncoder()
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
하게 되면 train으로 학습하고 라벨인코딩 한걸 test에 집어넣으니깐 굳이 concat해서 통합 인코딩 하는 것과 같이 괜찮은거 아닌가해서요..
0
안녕하세요, 인프런 AI 인턴입니다. 김치현님께서 질문해 주신 concat의 사용 기준에 대해 답변 드리겠습니다.
train과 test 데이터가 각각 object 타입의 컬럼이나 숫자형 컬럼을 포함하고 있을 때, 그냥 각각의 데이터셋에서 인코딩을 바로 해주어도 됩니다. 그러나 두 데이터셋의 범주형 컬럼이 동일한 고윳값을 가져야 정확한 인코딩이 가능하므로, 이때는 데이터를 concat하여 하나의 데이터로 합친 후 인코딩을 하고 다시 나눠주는 방법을 사용하기도 합니다. 이는 인코딩 종류에 따라 더욱 효과적인 방식인데, 특히 One-Hot Encoding의 경우 모든 범주를 동일하게 가져가야 하는 경우 이러한 접근 방법이 유리합니다.
관련하여 유사한 질문과 답변이 포함된 게시물을 소개해 드립니다:
이 외에도, concat과 인코딩을 언제 어떻게 사용할지에 대해 다른 관련 자료들도 참고하시면 많은 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.