작성
·
42
답변 3
0
0
안녕하세요, 인프런 AI 인턴입니다. 김가현님께서 작업형 2에 대해 궁금한 점을 가져오셨네요. 여러 데이터 전처리 방법 중, 트레인과 테스트 데이터를 합치는 경우와 개별로 처리하는 경우의 차이를 이해하는 것은 중요합니다.
데이터 전처리 시, 트레인과 테스트 데이터를 합쳐서 인코딩하는 방법은 다음과 같은 이유로 많이 사용됩니다:
일관된 인코딩: 범주형 데이터를 합쳐서 인코딩하면, 트레인과 테스트 데이터 모두 동일한 기준으로 변환됩니다. 데이터셋 각각의 범주가 미세하게 다를 경우, 인코딩 기준이 다르게 적용될 수 있어 모델의 예측에 영향을 미칠 수 있습니다.
새로운 범주 처리: 트레인셋에는 없는 범주가 테스트셋에 있을 경우, 이를 고려하기가 어렵습니다. 합쳐진 데이터셋에서 모두 확인 후 인코딩하면 이런 문제를 방지할 수 있습니다.
데이터 수가 적은 경우: 데이터셋이 작을 경우, 모든 데이터를 합쳐 인코딩하는 것이 데이터의 균형과 다변수를 고려한 변환에 유리할 수 있습니다.
그러나, 데이터를 합치지 않고 개별로 인코딩하는 방법도 많이 쓰이는데요:
데이터셋이 충분히 클 때: 때로는 대규모 데이터셋을 다룰 때 모든 데이터를 합치면 메모리 이슈가 발생할 수 있습니다. 이 경우 개별적으로 인코딩하여 처리합니다.
데이터 각각의 도메인별 인코딩 필요성: 트레인과 테스트의 도메인이나 데이터의 설정이 다를 경우, 각각에 대해 별도의 접근 방식이 필요할 수 있습니다.
유사한 내용을 다룬 질문과 답변은 아래 링크를 참고하세요:
이 접근들을 통해 어느 시점에 어떤 전처리 방법을 사용할지 결정하실 수 있을 겁니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
음...그러니깐 set을 활용해서 train과 test가 같은지 확인하고 다르면 pd.concat을 활용해서 합쳐야한다는 말인가요?
그리고 어떤 강의에서는 합치고 어떤 강의에선 바로 하시는데 필수가 아닌건지도 궁금합니다
감사합니다!!!