해결된 질문
작성
·
258
0
1. 책 226 페이지에 xgboost는 자체 내장된 교차검증이 있다고 나와있는데, 목적함수에 왜 따로 교차검증을 하시는건가요?
2. 출력되는 best loss에 경우 정확도말고 다른 성능지표를 같이 확인하고 싶을때가 있을 수 있을거같은데 그럴경우에는 정확도 뿐만 아니라 다른 성능 지표까지 한번에 같이best loss에 출력되게 하는 방법은 없을까요?
3. n_estimators의 경우 최적 하이퍼 파라미터를 잘 안찾아보는 편인가요?
4. max_evals의 경우 많이 반복할수록 시간은 오래 걸리지만 더 높은 성능을 기대할 수 있나요?
5. 최적 하이퍼파라미터 찾으실 때 미리 어느정도 값을 잡고 가시는데 그런건 경험으로 어느정도일지 예상하고 하시는거죠?
답변 4
0
0
안녕하십니까,
1. 책 226 페이지에 xgboost는 자체 내장된 교차검증이 있다고 나와있는데, 목적함수에 왜 따로 교차검증을 하시는건가요?
=> 파이썬 Native xgboost에 좋은 기능이 있는데 자체 교차 검증이 early stopping도 지원합니다. 근데 사이킷런 wrapper xgboost는 cross_val_score()에서 교차 검증 성능값만 반환하고 early stopping이 지원되지 않습니다. 그래서 따로 교차 검증을 kfold로 구현하였습니다.
2. 출력되는 best loss에 경우 정확도말고 다른 성능지표를 같이 확인하고 싶을때가 있을 수 있을거같은데 그럴경우에는 정확도 뿐만 아니라 다른 성능 지표까지 한번에 같이best loss에 출력되게 하는 방법은 없을까요?
=> 아쉽게도 없습니다.
3. n_estimators의 경우 최적 하이퍼 파라미터를 잘 안찾아보는 편인가요?
=> 좀 덜 찾아봅니다. 보통은 하이퍼 파라미터 튜닝이 아니더라도 높이 설정하면 성능이 조금씩 높아지고, 계속 높이면 더 이상 좋아지지 않는걸 알고 있기 때문에 이걸 hyperopt에 굳이 적용하는 경우가 많지는 않은 것 같습니다.
4. max_evals의 경우 많이 반복할수록 시간은 오래 걸리지만 더 높은 성능을 기대할 수 있나요?
=> 일반적으로는 그렇습니다. 다만 너무 크게 잡은 경우 어느정도 임계점이 있다는 정도는 인지하고 있어야 합니다.
5. 최적 하이퍼파라미터 찾으실 때 미리 어느정도 값을 잡고 가시는데 그런건 경험으로 어느정도일지 예상하고 하시는거죠?
=> 음. 꼭 그런건 아닌데, 그냥 막 나열식으로 하는 것 보다는 어느정도 경험치가 도움이 될때가 있습니다.
네 그렇습니다