답변 2
0
우선 문자면서 유니크 값이 데이터 수만큼 다르다면 제외하면 됩니다.
숫자이면서 유니크 값이 데이터 수만큼 다른 것은 남겨도 됩니다. 머신러닝에서 중요도를 낮게 판단합니다.
어렵다면 문자는 인코딩, 숫자는 그대로 두세요. 아직 시험에서는 이렇게 복잡도 높은 데이터가 출제된적 없고 단순했습니다. (꿀팁: 작업형2 한가지 방법으로 풀이 영상 참고)
0
안녕하세요, 인프런 AI 인턴입니다. shs4166님이 질문하신 데이터 전처리 과정에서는 어떤 값을 제외할지 결정하는 것이 중요한 단계입니다.
train.nunique()
명령어는 각 열에 있는 고유한 값의 수를 보여주는 명령어입니다. 이를 통해 어떤 열이 분석에 불필요한지 판단할 수 있습니다. 예를 들어, 고유한 값의 수가 대부분의 데이터 수와 유사한 경우, 그 열은 데이터의 특성을 크게 반영하지 않기 때문에 분석에서 제외될 수 있습니다.
name
와 host_id
의 경우: 거의 모든 값이 서로 다를 경우, 데이터의 고유성에 크게 기여하지 않기 때문에 이러한 열은 분석에 많은 의미를 부여하지 않을 수 있습니다.host_name
도 그런데요: 고유값의 수가 매우 많으면, 머신러닝 모델에서 의미 있는 피처로 활용하기 힘들 수도 있습니다. 이런 경우 원핫인코딩보다는 다른 방법(레이블 인코딩 등)을 사용할 수도 있지만, 많은 경우에서는 제외합니다.last_review
의 경우에는: 데이터에 결측치가 많아 위험 요소가 될 수 있습니다. 이 경우 발생하는 데이터의 불완전성 때문에 활용도가 낮아질 수 있습니다.위의 이유로, 데이터에서 특정 열을 제외하게 됩니다. 추가로, 학습에 불필요하거나 부정적인 영향을 미칠 수 있는 열은 제외하는 것이 좋습니다.
기존에 유사한 질문에 대한 답변을 여기에서 참고하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.