시작하기무료로 시작하기

이진 분류를 넘어서

물론 이진 분류는 여러 경우 중 하나일 뿐이에요. Target encoding은 어떤 타입의 타깃 변수에도 적용할 수 있습니다.

  • 이진 분류의 경우 보통 평균 target encoding을 사용해요.
  • 회귀의 경우 평균 대신 중앙값, 사분위수 등을 사용할 수 있어요.
  • 다중 클래스 분류에서는 클래스가 N개라면 one-vs-all 방식으로 각 범주에 대해 타깃 평균을 가진 N개의 특성을 만듭니다.

여러분이 만든 mean_target_encoding() 함수는 위에 언급한 어떤 타깃 타입에도 사용할 수 있어요. 이제 House Prices Kaggle 대회 예시에서 회귀 문제에 적용해 보겠습니다.

목표는 범주형 특성 "RoofStyle"을 평균 target encoding으로 변환하는 것입니다. traintest DataFrame은 이미 작업 공간에 준비되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 Kaggle 대회 공략하기

강의 보기

연습 안내

  • mean_target_encoding() 함수 호출에서 누락된 모든 매개변수를 지정하세요. 타깃 변수 이름은 "SalePrice"입니다. 하이퍼파라미터 $\alpha$는 10으로 설정하세요.
  • traintest 매개변수에는 각각 학습용과 테스트용 DataFrame이 전달되어야 함을 기억하세요.
  • targetcategorical 매개변수에는 각각 타깃 변수 이름과 인코딩할 특성 이름이 전달되어야 합니다.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create mean target encoded feature
train['RoofStyle_enc'], test['RoofStyle_enc'] = mean_target_encoding(train=train,
                                                                     test=____,
                                                                     target='____',
                                                                     categorical='____',
                                                                     alpha=____)

# Look at the encoding
print(test[['RoofStyle', 'RoofStyle_enc']].drop_duplicates())
코드 편집 및 실행