강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김태훈님의 프로필 이미지
김태훈

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

교차검증 성능평가 cross_val_score()와 하이퍼 파라미터 튜닝을 위한 GridSearchCV - 01

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) 를 입력하면 됩니다.

감사합니다.

김태훈님의 프로필 이미지
김태훈

작성한 질문수

질문하기