미해결
[개정판] 파이썬 머신러닝 완벽 가이드
KFold를 사용하는 이유와 roc_auc가 더 높게 나오는 이유가 뭔가요..?
안녕하세요. 강의 내용 중 교차검증에서 질문이 있어 글을 남깁니다.
이전에 Stratified K 폴드는 불균형한 분포도를 가진 레이블 데이터 집합을 위한 K폴드 방식이라고 설명해주시면서
책에도 '왜곡된 레이블 데이터 세트에서는 반드시 Stratified K폴드를 이용해 교차 검증해야 합니다. 사실, 일반적으로 분류에서의 교차 검증은 K폴드가 아니라 Stratified K폴드로 분할돼야 합니다.' 라고 돼있는데
1. 여기서도 '만족 고객보다 불만족 고객이 훨씬 많은 불균형 데이터임에도 XGBClassifier와 LightGBM을 search_space값으로 교차검증할 때, StratifiedKFold가 아닌 KFold로 교차검증을 하는 특별한 이유가 있을까요..?
또, 실제로 제가 기존 소스코드에서 KFold가 아닌 Stratified로 돌렸을 때
2. XGB같은 경우 Stratified K폴드는 0.8456, KFold는 0.8457의 roc_auc값을 갖고, LightGBM 같은 경우 Stratified K폴드는 0.8411, KFold는 0.8446으로 두 모델 모두 KFold로 교차검증을 진행했을 때 더 높은 roc_auc값을 갖는 이유가 무엇인지 알 수 있을까요..?
제가 Stratified KFold와 KFold에 대해 잘못 이해하고 있는 것인지, 이런 경우에는 적용할 필요가 없는 것인지 알고 싶습니다 ㅠㅠ