학습 플랫폼 구독자 예측 AI 해커톤

알고리즘 | 정형 | 분류 | 웹 | Macro F1

  • moneyIcon 상금 : 인증서
  • 740명 마감

 

데이터 전처리

2023.12.03 19:05 1,213 조회
  • 1일 최대 제출 횟수: 3회
  • 사용 가능 언어: Python, R
  • 모델 학습에서 평가 데이터셋 활용(Data Leakage)시 수상 제외
  • label encoding, one-hot encoding 시 test 데이터 셋 활용
  • data scaling 적용 시 test 데이터 셋 활용
  • test 데이터 셋에 pd.get_dummies() 함수 적용
  • test 데이터 셋의 결측치 처리 시 test 데이터 셋의 통계 값 활용
  • 위 예시 외에도 test 데이터 셋이 모델 학습에 활용되는 경우에 Data leakage에 해당됨


기준이 조금 이해가 안 가서 그럼 test data set에는 아예 label encoding, one-hot encoding, data scaling 등을 하지 말라는건가요..??


로그인이 필요합니다
0 / 1000
dawn97
2023.12.04 10:15

제 생각에도 조금 모호하긴한데
label encoding, one-hot encoding 시 test 데이터 셋 활용이니까 테스트셋에 적용하는 것은 문제가 없어보입니다.

파이프라인을 확인해보시면 
# 수치형 데이터에 대해 스케일링 적용
train_data[numerical_cols] = scaler.fit_transform(train_data[numerical_cols])
test_data[numerical_cols] = scaler.transform(test_data[numerical_cols])

# 레이블 인코딩을 위한 LabelEncoder 인스턴스 생성 및 적용
label_encoders = {}
for col in categorical_cols:
    label_encoders[col] = LabelEncoder()
    train_data[col] = label_encoders[col].fit_transform(train_data[col])
    test_data[col] = label_encoders[col].transform(test_data[col])
이렇게 작성되어 있는데 
파이프라인에서도 테스트셋에 라벨, 원핫인코딩을 적용했으므로 하셔도 문제가 없어보입니다.

bjw0813
2023.12.07 15:41

삭제된 댓글입니다