• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

XGBoost feature importance에 관한 질문

21.02.24 10:08 작성 조회수 330

0

안녕하세요. 수업 잘 듣고 있습니다.

다음은 책 240p에 있는 XGBoost 의 feature importance에 관한 내용인데, 파이썬 래퍼랑 사이킷 래퍼를 사용했을 떄 각각 중요도의 순서가 다르더라구요. 이렇게 되면 제일 중요한 feature 의 순서도가 달라지는 건데 이건 왜 그러는건가요?? 

사이킷 래퍼는 f21 , f1 , f13 순으로 중요도가 높은 반면에 파이썬 래퍼는 f13, f21 , f1순으로 중요도가 높더라구요!

 

답변 1

답변을 작성해보세요.

0

안녕하십니까,

python wrapper XGBoost와 사이킷런 wrapper XGBoost 생성 시에 초기화 파라미터가 조금씩 다른 것 같습니다.

물론 python wrapper xgboost의 params = { 'max_depth':3,
           'eta': 0.1,
           'objective':'binary:logistic',
           'eval_metric':'logloss',
           'early_stoppings':100
        }

사이킷런 wrapper

XGBClassifier(n_estimators=400, learning_rate=0.1, max_depth=3)

부분은 같은데, 이거 외에 Default로 설정이 되는 다른 초기화 파라미터가 다른것 같습니다.

보시면 학습 시 early stopping 이나 log loss도 약간 다릅니다. 그것 때문에 feature importance가 서로 다른 것 같습니다.

감사합니다.