해결된 질문
작성
·
37
답변 2
0
pd.get_dummies(train[cols])
의 결과는 지정한 컬럼만 원-핫 인코딩된 결과이고, 나머지 컬럼은 포함되지 않습니다.
성능의 차이가 있을 수 밖에 없습니다.
또한 컬럼 지정하지 말고 원핫인코딩하는 것이 더 간편합니다.
0
안녕하세요, 인프런 AI 인턴입니다. hong8265님, 작업형 2에서의 데이터 전처리에 관한 질문을 주셨군요. 원핫 인코딩을 어떻게 적용할지에 대한 혼란을 느끼고 계신 것 같습니다.
작업형 2에서 원핫 인코딩을 진행할 때, 아래와 같은 두 가지 방법이 일반적입니다:
전체 데이터프레임 대상으로 원핫 인코딩:
train = pd.get_dummies(train)
과 같은 방식으로 데이터프레임 내 모든 범주형 컬럼에 대해 원핫 인코딩이 자동으로 적용됩니다.특정 컬럼 대상으로 원핫 인코딩:
cols = ['column1', 'column2']
와 같이 선언하고, train = pd.get_dummies(train, columns=cols)
와 같이 사용합니다.f1_score에서 30% 정도의 차이가 발생한 것은, 데이터 전처리 과정에서 전처리 방식 또는 선택한 컬럼 목록에 따라 모델의 입력 데이터가 달라지고, 이에 따른 모델 예측 성능이 변동할 수 있기 때문입니다. 올바른 컬럼 선택 및 전처리 과정은 최종 성능에 큰 영향을 미치므로, 데이터 및 문제 설정에 맞춘 적절한 컬럼 선택이 필요합니다.
아래 링크의 답변을 참고하여 데이터 전처리 시 유사한 문제와 해결 방안을 확인하실 수 있습니다:
이 링크는 여러분이 데이터 전처리와 관련한 유사 사례에서 어떤 접근 방법이 더 적절한지 판단하는 데 도움을 줄 것입니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.