인코딩 관련

여태까지 인코딩 할 때 train에만 있는 컬럼, test에만 있는 컬럼 고려하지 않고 사진처럼 바로 라벨인코딩을 했습니다. 최근에 업데이트된 영상을 보니 카테고리가 다를 때 혹은 포함할 때 등 이런 경우를 고려해서 적용하던데 원래 제 방식대로 해도 문제 없나요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
김대현님께서 인코딩 작업 시 train과 test 데이터셋 간의 컬럼 차이를 고려하지 않고 라벨 인코딩을 사용해도 문제가 없는지 문의하셨네요. 이와 관련된 몇 가지 중요한 내용을 공유드리겠습니다.
데이터셋 간 인코딩 차이 고려
일반적으로 라벨 인코딩이나 원핫 인코딩을 사용할 때 train과 test 데이터셋 간에 카테고리 차이가 발생할 수 있습니다. 여기서 몇 가지 주의사항이 있습니다:
라벨 인코딩:
- 라벨 인코딩은 범주형 변수를 정수로 직접 변환합니다. 이때 train 데이터에서 사용한 매핑을 반드시 test 데이터에도 동일하게 적용해야 합니다. 그렇지 않으면 train과 test 간에 인코딩된 값이 달라질 수 있습니다.
- 라벨 인코딩은 범주형 변수를 정수로 직접 변환합니다. 이때 train 데이터에서 사용한 매핑을 반드시 test 데이터에도 동일하게 적용해야 합니다. 그렇지 않으면 train과 test 간에 인코딩된 값이 달라질 수 있습니다.
원핫 인코딩:
- train이나 test에 특정 범주가 독립적으로 존재할 때 별도의 열이 추가되므로, 두 데이터셋 간 동일한 열 구조를 유지하기 위해 데이터 통합 후 인코딩하거나 데이터 분할 전 인코딩을 고려해봐야 합니다.
- train이나 test에 특정 범주가 독립적으로 존재할 때 별도의 열이 추가되므로, 두 데이터셋 간 동일한 열 구조를 유지하기 위해 데이터 통합 후 인코딩하거나 데이터 분할 전 인코딩을 고려해봐야 합니다.
데이터 합친 후 인코딩하는 방법
train과 test 데이터셋을 합친 후 인코딩을 진행하면, 모든 범주형 변수에 대해 동일한 인코딩이 이루어지므로, 테스트 과정에서의 오류를 최소화할 수 있습니다. 여기서는 각 데이터셋을 합친 뒤 전체 데이터를 인코딩하고, 다시 분할하는 방식으로 접근합니다.
아래 링크에서 유사한 문제에 대한 논의를 찾아볼 수 있습니다:
- 머신러닝 인코딩 관련 문의
결론
김대현님의 방식대로 진행하셨다 해도 특정 경우에서는 문제가 발생하지 않을 수 있지만, 위에서 설명드린 상황을 고려하여 진행하시는 것이 좋습니다. 특히, 데이터에서 드물게 나타나는 카테고리나 train/test에 만개할하는 특정 카테고리는 주의해야 합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강의 관련 질문
0
4
0
작업형 2 질문
0
4
2
강의 연장 관련하여 문의드립니다.
0
17
1
섹션7 자료 다운로드
0
17
2
작업형 1 연습문제 Section12
0
16
2
수강기간 연장 문의
0
29
1
안녕하세요, 혹시 수강기간 연장이 가능할까요?
0
28
2
판다스 강의자료는 어디서 받을 수 있나요?
0
26
2
작업형2 모의고사3 자료 업데이트 요청
0
34
4
수강 연장가능여부 문의드립니다!
0
38
2
수강기간 연장 문의드립니다!
0
35
2
최빈값
0
34
2
수강 가이드라인
0
29
2
수강 연장 가능 여부 문의
0
55
2
강의 구매했는데 교재 필수일까요
0
43
2
수강기간 연장 가부 문의드립니다.
0
41
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
43
2
작업형2 모의문제2에서 drop이랑 인코딩
0
51
3
인코딩을 다 꼭 해봐야하는지
0
51
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
62
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
51
2
수강기간 연장
0
72
2
29강 작업2형의 이상치 처리
0
70
2





