인프런 커뮤니티 질문&답변
원핫인코딩시 라벨링질문
해결된 질문
작성
·
66
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 최성웅님께서 올려주신 원핫인코딩과 관련된 질문에 대한 답변을 드리겠습니다.
원핫인코딩은 범주형 데이터를 이진 벡터로 변환하는 기법입니다. 이 과정에서 각 범주는 개별적인 열로 분리되어 0 또는 1의 값을 가지게 됩니다. 원핫인코딩은 새로운 데이터(test set)에서 이전에 보지 못한 범주를 처리할 때 큰 문제가 발생하지 않는다는 장점이 있습니다. 하지만 주의해야 할 점도 존재합니다.
원핫인코딩의 장점:
- 범주형 데이터의 각 범주가 독립적인 값으로 분리됩니다.
- 수치적 의미보다 범주적 의미를 보존합니다.
- 새로운 데이터에서 이전에 보지 못한 범주 값이 추가되더라도, 기존 열에는 영향이 가지 않습니다.
- 범주형 데이터의 각 범주가 독립적인 값으로 분리됩니다.
주의사항:
- 훈련 데이터와 테스트 데이터의 열 불일치 문제:
- 원핫인코딩을 실행할 때, 훈련 데이터(train)에서 생성된 열(feature) 만을 사용하여 테스트 데이터(test)를 변환해야 합니다.
- 새로운 테스트 데이터에 대해 추가적인 범주가 발생할 경우, 모델에 적합하게 데이터 전처리를 해야 합니다. 이는 보통 테스트 데이터에 없는 열을 추가하고 0으로 채움으로써 해결할 수 있습니다.
- 원핫인코딩을 실행할 때, 훈련 데이터(train)에서 생성된 열(feature) 만을 사용하여 테스트 데이터(test)를 변환해야 합니다.
- 메모리 사용량:
- 매우 많은 범주를 가진 변수에 대해서는, 메모리와 컴퓨팅 자원이 많이 소비될 수 있습니다.
- 매우 많은 범주를 가진 변수에 대해서는, 메모리와 컴퓨팅 자원이 많이 소비될 수 있습니다.
- 훈련 데이터와 테스트 데이터의 열 불일치 문제:
모델 성능에 미치는 영향:
- 훈련에 사용된 열만을 고려하지 않고 원핫인코딩된 테스트 데이터를 그대로 모델에 입력하면, 직관적으로는 성능에 차이가 없을 수 있습니다.
- 하지만 데이터의 일관성 및 피처 공백 문제의 발생 가능성을 줄이기 위해 변환 단계를 정확히 따라야 합니다.
- 훈련에 사용된 열만을 고려하지 않고 원핫인코딩된 테스트 데이터를 그대로 모델에 입력하면, 직관적으로는 성능에 차이가 없을 수 있습니다.
아래 링크에서 관련된 주제를 다루고 있는 기존 질문과 답변을 확인해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





