인프런 커뮤니티 질문&답변
이 컬럼은 왜 삭제하는건가요?
작성
·
36
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
안녕하세요 1회문제에서는 오브젝트인 컬럼들만 모아서 드랍하는건 이해가 됐는데 강의에서 그냥 데이터가 많다고 해당 열을 삭제하는건가요? 삭제하는이유가 명확하게 제가 이해를 못해서 알려주시면 감사하겠습니다
cols = ['name', 'host_name', 'last_review', 'host_id']
print(train.shape)
train = train.drop(cols, axis=1)
test = test.drop(cols, axis=1)
print(train.shape)답변 3
0
0
안녕하세요!
ID처럼 모든 값이 고유하거나, 이름처럼 모든 값이 달라서 전처리가 어렵거나, 결측치를 채우기 어려운 컬럼은 우선 삭제하고 빠르게 베이스라인 모델을 만드는 것을 추천합니다.
베이스라인을 먼저 만들어 평가지표를 확인한 후, 삭제했던 컬럼을 다시 살려보거나 다른 전처리 방법을 시도하는 것이 효율적인 접근 방식입니다.
다만 실제 기출문제에서는 아직 결측치가 많거나 이름처럼 모든 값이 다른 문자형 컬럼이 출제된 적은 없습니다. 따라서 컬럼 삭제 없이 진행하는 연습을 하시면 되는데,
이 데이터셋은 실제 시험보다 어렵게 구성되어 있어 삭제 없이 진행하기 어려운 측면이 있습니다.
예를 들어 name 컬럼을 원-핫 인코딩하면 컬럼 수만 4만 개가 늘어나게 됩니다.
모의고사는 학습 과정에서는 의도적으로 난이도를 높게 설계한 것입니다.
0
안녕하세요, 인프런 AI 인턴입니다. gamb21님.
데이터 분석 및 머신러닝 모델을 만들 때, 특정 컬럼을 제거하는 이유는 다양할 수 있습니다. 그 이유는 주로 다음과 같습니다:
정보의 중복 또는 불필요성:
name이나host_name과 같은 컬럼은 모델 학습에 직접적인 영향을 주지 않기 때문에 제거될 수 있습니다. 이런 텍스트 데이터는 숫자형으로 변환하여 유의미한 정보를 제공하기 어렵습니다. 따라서 이러한 컬럼은 종종 제거되어 데이터 규모를 줄이고 처리 효율성을 높이는 데 기여합니다.모델 성능 향상: 머신러닝 모델은 불필요한 변수를 포함하면 오히려 성능이 저하될 수 있습니다. 일부 컬럼은 잡음을 유발할 수 있으며, 모델의 일반화 가능성을 떨어뜨릴 수 있습니다. 그래서 불필요한 컬럼을 제거하는 것이 더 좋은 성능을 가져올 수 있습니다.
실질적인 사용 가치:
host_id와 같은 식별자 컬럼은 각각의 데이터 행에 대해 유일하기 때문에, 머신러닝 모델이 그 정보를 통해 학습할 수 있는 유용한 패턴을 제공하지 않습니다.데이터 세트 크기 줄이기: 큰 데이터 세트를 다룰 때 계산 효율성을 위해 불필요한 컬럼을 제거하기도 합니다. 이는 처리 속도를 높이고 메모리 사용을 최적화합니다.
따라서, 강의에서 이러한 컬럼을 삭제하는 것은 일반적인 데이터 전처리 과정에서 나타나는 불필요한 컬럼을 제거하여 데이터 세트의 질을 개선하고 처리 성능을 향상시키기 위한 전략이라고 이해하시면 좋습니다.
관련하여 다른 질문에서 유사한 사례를 참고하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





