인프런 커뮤니티 질문&답변
ID를 Drop 하지 않았을 때
해결된 질문
작성
·
91
답변 2
0
퇴근후딴짓
지식공유자
id를 버리지 않아도 머신러닝 모델에서 중요도를 낮게 판단합니다.
단, 숫자일 때 입니다.
문자라면 다른 컬럼처럼 삭제 또는 인코딩이 필요해요!
문자를 그대로 머신러닝 모델 입력데이터로 넣으면 위와 같은 에러가 발생합니다.
문자일 때, 모두 다른 id라면 삭제를 추천하고 상품 id와 같이 반복이 있는 id라면 라벨인코딩을 추천합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김치현님.
모델 학습 시 “cust_id”와 같은 ID 열이 포함된 경우, 모델이 이를 해석할 수 없어서 'could not convert string to float'라는 오류가 발생합니다. 이는 주로 ID 열이 숫자 형식으로 변환되지 않기 때문입니다.
ID 열을 Drop 해야 하는 이유
- 모델의 학습 효율 개선: ID는 일반적으로 각 행을 구별하는 고유 식별자로, 예측에 유용한 정보를 제공하지 않습니다. 따라서 불필요한 열을 제거함으로써 모델의 학습시간을 줄이고 성능을 높일 수 있습니다.
- 오류 방지: ID 열이 텍스트 혹은 숫자 형식이 아닌 경우 오류가 발생할 수 있습니다. 특히 문자열로 인식되는 경우 변환 오류가 발생합니다.
언제 ID를 빼고 언제 포함할까요?
- 포함해야 하는 경우: 분석 또는 결과 제출 시 각 예측에 대해 ID가 필요할 때가 있습니다. 예를 들어, 최종 결과를 제출할 때 각 결과가 어떤 샘플에 해당하는지 알기 위해 필요합니다. 이때는 학습에서는 제거하더라도, 최종 출력 시 다시 포함하면 됩니다.
- 제거해야 하는 경우: 모델 학습 및 검증 시 항상 제거해야 합니다. ID는 모델의 예측에 꼭 필요한 정보가 아니기 때문에 학습 중에는 의미가 없고, 오히려 성능에 부정적인 영향을 줄 수 있습니다.
제 학습 경험을 통해 비슷한 문제가 있는 다른 학습자분들의 질의를 확인해 보았습니다:
- ID 열의 처리와 관련된 학습자의 유사한 질문 및 해결 방법을 참조하시려면 아래 링크를 확인해 주세요:
- 예시문제 작업형2 test 데이터 예측시 발생하는 오류 - ID 열과 관련된 오류 해결 방법을 제공합니다.
- 예시문제 작업형2 test 데이터 예측시 발생하는 오류 - ID 열과 관련된 오류 해결 방법을 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





