인프런 커뮤니티 질문&답변
cross_val_score, GridSearchCV에서 cv 값
작성
·
190
2
안녕하세요.
위 함수/모듈에서 cv값을 정하게 되면 train, test를 나누는 방법은 KFold인건지요?
만약 그렇다면, StratifiedKFold로 하려면
다른 방법이 있을까요?
답변 1
3
권 철민
지식공유자
안녕하십니까,
데이터를 폴드 방식으로 교차 검증 데이터 셋을 만들때 KFold와 StratifiedKFold를 이용합니다.
cross_val_score는 폴드 교차 검증 데이터 셋을 분류 일때는 기본적으로 StratifiedKFold를 이용합니다.
단 회귀 일때는 KFold를 이용하는 데, 이는 회귀의 타겟값은 분류의 타겟값과 다르게 특정 이산 값이 아니라 연속값이기 때문에 Stratified 기반으로 Fold를 만들 수 없기 때문입니다.
일반적으로 학습 데이터와 테스트 데이터를 단순 분리할 때는 사이킷런에서 train_test_split()을 이용합니다. 이 때 Stratified 방식과 같이 학습과 테스트 데이터의 타겟값 비율을 맞추기를 원한다면 인자로 train_test_split(...., stratified=True) 를 입력하면 됩니다.
감사합니다.





